seg000:00046084 ; --------------- S U B R O U T I N E ---------------------------------------
seg000:00046084
seg000:00046084 ; Attributes: bp-based frame
seg000:00046084
seg000:00046084 ProblFunc       proc near               ; CODE XREF: sub_100FC+48Bp
seg000:00046084                                         ; sub_10590+161p ...
seg000:00046084
seg000:00046084 var_A           = word ptr -0Ah
seg000:00046084 var_8           = word ptr -8
seg000:00046084 var_6           = byte ptr -6
seg000:00046084 arg_0           = word ptr  8
seg000:00046084 arg_4           = word ptr  0Ch
seg000:00046084 arg_8           = byte ptr  10h
seg000:00046084
seg000:00046084                 push    ebp
seg000:00046085                 mov     ebp, esp
seg000:00046087                 sub     esp, 0Ch
seg000:0004608D                 lfs     eax, fword ptr ds:dword_56B0+2
seg000:00046094                 movzx   ecx, word ptr fs:[eax+0Ch]
seg000:00046099                 test    ecx, 1380h
seg000:0004609F                 jz      loc_460BF
seg000:000460A5                 and     word ptr fs:[eax+0Ch], 0EC7Fh
seg000:000460AC                 lfs     eax, fword ptr ds:dword_56B0+2
seg000:000460B3                 and     word ptr fs:[eax+68h], 0EC7Fh
seg000:000460BA                 call    sub_6EBF4
seg000:000460BF
seg000:000460BF loc_460BF:                              ; CODE XREF: ProblFunc+1Bj
seg000:000460BF                 lfs     eax, fword ptr [ebp+arg_8]
seg000:000460C3                 movzx   eax, word ptr fs:[eax+2E6h]
seg000:000460CB                 test    eax, 100h
seg000:000460D1                 jz      loc_460DB
seg000:000460D7                 leave
seg000:000460D8                 retn    10h
seg000:000460DB ; ---------------------------------------------------------------------------
seg000:000460DB
seg000:000460DB loc_460DB:                              ; CODE XREF: ProblFunc+4Dj
seg000:000460DB                                         ; ProblFunc+79j
seg000:000460DB                 lfs     eax, fword ptr ds:byte_58EC
seg000:000460E2                 movsx   eax, byte ptr fs:[eax]			; !!!!!!!!!!!!! ÅÒÎ ÒÓÊ ÇÀÁÈÂÀ !!!!!!!!!!!!!!!!!!!!!!
seg000:000460E6                 mov     ecx, 0					; Ñúäúðæàíèåòî íà FS e 0000
seg000:000460EB                 cmp     ecx, eax
seg000:000460ED                 jz      loc_46102
seg000:000460F3                 add     dword ptr ds:byte_58EC, 1
seg000:000460FD                 jmp     loc_460DB
seg000:00046102 ; ---------------------------------------------------------------------------
seg000:00046102
seg000:00046102 loc_46102:                              ; CODE XREF: ProblFunc+69j
seg000:00046102                 les     edi, fword ptr [ebp+arg_8]
seg000:00046105                 movzx   eax, word ptr es:[edi+2DEh]
seg000:0004610D                 and     eax, 2800h
seg000:00046113                 mov     [ebp+var_A], ax
seg000:00046117                 lea     edi, [edi+2CCh]
seg000:0004611D                 mov     eax, 0
seg000:00046122                 mov     ecx, 9
seg000:00046127                 mov     ebx, edi
seg000:00046129                 and     eax, 0FFh
seg000:0004612F                 mov     ah, al
seg000:00046131                 mov     esi, eax
seg000:00046133                 shl     eax, 10h
seg000:00046136                 or      eax, esi
seg000:00046138                 cld
seg000:00046139                 rep stosd
seg000:0004613B                 push    ds
seg000:0004613C                 pop     es
seg000:0004613D                 mov     ax, [ebp+var_A]
seg000:00046141                 lfs     ecx, fword ptr [ebp+arg_8]
seg000:00046145                 mov     fs:[ecx+2DEh], ax
seg000:0004614D                 mov     eax, 0
seg000:00046152                 les     edi, fword ptr ds:dword_56AA+2
seg000:00046158                 mov     ecx, 5
seg000:0004615D                 mov     ebx, edi
seg000:0004615F                 and     eax, 0FFh
seg000:00046165                 mov     ah, al
seg000:00046167                 mov     esi, eax
seg000:00046169                 shl     eax, 10h
seg000:0004616C                 or      eax, esi
seg000:0004616E                 cld
seg000:0004616F                 rep stosd
seg000:00046171                 stosw
seg000:00046173                 push    ds
seg000:00046174                 pop     es
seg000:00046175                 lfs     eax, fword ptr [ebp+arg_8]
seg000:00046179                 and     word ptr fs:[eax+28Ch], 0FFFEh
seg000:00046183                 lfs     eax, fword ptr ds:dword_56C8+2
seg000:0004618A                 or      word ptr fs:[eax], 2
seg000:00046190                 mov     ds:word_58EA, 0
seg000:00046199                 lfs     eax, fword ptr ds:byte_584A
seg000:000461A0                 mov     word ptr fs:[eax], 0
seg000:000461A6                 mov     eax, 0
seg000:000461AB                 movsx   ecx, [ebp+arg_0]
seg000:000461AF                 cmp     eax, ecx
seg000:000461B1                 jz      loc_46225
seg000:000461B7                 mov     [ebp+var_8], 0
seg000:000461BD
seg000:000461BD loc_461BD:                              ; CODE XREF: ProblFunc:loc_46216j
seg000:000461BD                 lfs     eax, fword ptr ds:byte_55B4
seg000:000461C4                 movzx   ecx, [ebp+var_8]
seg000:000461C8                 movzx   edx, word ptr fs:[eax+ecx*2+3922h]
seg000:000461D1                 imul    edx, 42Ch
seg000:000461D7                 lea     edx, [eax+edx+2CCh]
seg000:000461DE                 mov     esi, fs
seg000:000461E0                 cmp     si, word ptr [ebp+arg_8+4]
seg000:000461E4                 jnz     short loc_461E9
seg000:000461E6                 cmp     edx, dword ptr [ebp+arg_8]
seg000:000461E9
seg000:000461E9 loc_461E9:                              ; CODE XREF: ProblFunc+160j
seg000:000461E9                 jz      loc_4621B
seg000:000461EF                 inc     cx
seg000:000461F1                 mov     [ebp+var_8], cx
seg000:000461F5                 lfs     eax, fword ptr ds:byte_55B4
seg000:000461FC                 cmp     fs:[eax+3920h], cx
seg000:00046204                 ja      loc_46216
seg000:0004620A                 mov     eax, 0B240h
seg000:0004620F                 push    ds
seg000:00046210                 push    eax
seg000:00046211                 call    sub_A5114
seg000:00046216
seg000:00046216 loc_46216:                              ; CODE XREF: ProblFunc+180j
seg000:00046216                 jmp     loc_461BD
seg000:0004621B ; ---------------------------------------------------------------------------
seg000:0004621B
seg000:0004621B loc_4621B:                              ; CODE XREF: ProblFunc:loc_461E9j
seg000:0004621B                 jmp     loc_4622B
seg000:0004621B ; ---------------------------------------------------------------------------
seg000:00046220                 db 0E9h ; u
seg000:00046221                 db 0B5h ; ¦
seg000:00046222                 db    0
seg000:00046223                 db    0
seg000:00046224                 db    0
seg000:00046225 ; ---------------------------------------------------------------------------
seg000:00046225
seg000:00046225 loc_46225:                              ; CODE XREF: ProblFunc+12Dj
seg000:00046225                 mov     [ebp+var_8], 0
seg000:0004622B
seg000:0004622B loc_4622B:                              ; CODE XREF: ProblFunc:loc_4621Bj
seg000:0004622B                 jmp     loc_46234
seg000:00046230 ; ---------------------------------------------------------------------------
seg000:00046230
seg000:00046230 loc_46230:                              ; CODE XREF: ProblFunc+251j
seg000:00046230                 inc     [ebp+var_8]
seg000:00046234
seg000:00046234 loc_46234:                              ; CODE XREF: ProblFunc:loc_4622Bj
seg000:00046234                 lfs     eax, fword ptr ds:byte_55B4
seg000:0004623B                 movzx   ecx, [ebp+var_8]
seg000:0004623F                 cmp     fs:[eax+3920h], cx
seg000:00046247                 jbe     locret_462DA
seg000:0004624D                 movzx   ecx, word ptr fs:[eax+ecx*2+3922h]
seg000:00046256                 imul    ecx, 42Ch
seg000:0004625C                 lea     eax, [eax+ecx+2CCh]
seg000:00046263                 mov     dword ptr [ebp+var_6], eax
seg000:00046266                 mov     dword ptr [ebp-2], fs
seg000:00046269                 movzx   ecx, word ptr fs:[eax+2E6h]
seg000:00046271                 test    ecx, 100h
seg000:00046277                 jnz     loc_46297
seg000:0004627D                 mov     cx, [ebp+arg_4]
seg000:00046281                 mov     fs:[eax+26Ah], cx
seg000:00046289                 lfs     eax, fword ptr [ebp+var_6]
seg000:0004628D                 or      word ptr fs:[eax+2E6h], 100h
seg000:00046297
seg000:00046297 loc_46297:                              ; CODE XREF: ProblFunc+1F3j
seg000:00046297                 mov     eax, ds:dword_B238
seg000:0004629D                 lfs     ecx, fword ptr [ebp+var_6]
seg000:000462A1                 mov     fs:[ecx+338h], eax
seg000:000462A8                 mov     eax, ds:dword_B23C
seg000:000462AE                 lfs     ecx, fword ptr [ebp+var_6]
seg000:000462B2                 mov     fs:[ecx+324h], eax
seg000:000462B9                 lfs     eax, fword ptr [ebp+var_6]
seg000:000462BD                 or      word ptr fs:[eax+2E6h], 0E000h
seg000:000462C7                 lfs     eax, fword ptr [ebp+var_6]
seg000:000462CB                 and     word ptr fs:[eax+2E6h], 0EFFFh
seg000:000462D5                 jmp     loc_46230
seg000:000462DA ; ---------------------------------------------------------------------------
seg000:000462DA
seg000:000462DA locret_462DA:                           ; CODE XREF: ProblFunc+1C3j
seg000:000462DA                 leave
seg000:000462DB                 retn    10h
seg000:000462DB ProblFunc       endp
