Function at 0x418950
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4d671c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x28c
push ebx
push ebp
push esi
push edi
xor esi, esi
push 0x7f02
mov ebp, ecx
push esi
call dword [sym.imp.user32.dll_LoadCursorA]
push eax
call dword [sym.imp.user32.dll_SetCursor]
mov ecx, ebp
mov dword [esp + 0x78], eax
call fcn.00419cf0
cmp dword [0x4fb960], esi
jne 0x4189a0
mov ecx, ebp
call fcn.00419e50
cmp dword [ebp + 0x40c], esi
je 0x4189af
mov ecx, ebp
call fcn.00411a80
mov eax, dword [ebp + 8]
push 3
push eax
mov dword [ebp + 0x428], esi
mov dword [esp + 0x30], esi
call dword [sym.imp.user32.dll_KillTimer]
lea ecx, [esp + 0x50]
call fcn.0041e520
lea ecx, [ebp + 0x30c]
lea ebx, [ebp + 0x20c]
push 1
push ecx
push ebx
lea ecx, [esp + 0x5c]
mov dword [esp + 0x2b0], esi
call fcn.0041e6d0
test eax, eax
jne 0x418ad3
mov edx, dword [ebp + 0xc]
push esi
push esi
push 0x1009
push edx
call dword [sym.imp.user32.dll_SendMessageA]
cmp dword [ebp + 0x4a0], esi
je 0x418a41
mov eax, dword [ebp + 0x498]
xor edi, edi
cmp eax, esi
jle 0x418a41
cmp edi, eax
jge 0x418a36
cmp edi, esi
jl 0x418a36
mov eax, dword [ebp + 0x494]
mov ecx, dword [eax + edi*4]
cmp ecx, esi
je 0x418a36
mov edx, dword [ecx]
push 1
call dword [edx]
mov eax, dword [ebp + 0x498]
inc edi
cmp edi, eax
jl 0x418a1f
mov eax, dword [ebp + 0x494]
push eax
call fcn.004c7e56
push 0x80
call fcn.004c7e90
add esp, 8
mov dword [ebp + 0x494], eax
mov dword [ebp + 0x498], esi
mov dword [ebp + 0x49c], 0x1f
mov dword [ebp + 0x4a4], pe_nt_image_headers32
mov eax, dword [ebp + 0x200]
push ebx
push 0x235
lea ecx, [esp + 0x178]
push eax
push ecx
call fcn.00444d00
mov edx, dword [0x4ee054]
mov ecx, dword [ebp + 8]
add esp, 0x10
lea eax, [esp + 0x170]
push esi
push edx
push eax
push ecx
call dword [sym.imp.user32.dll_MessageBoxA]
mov ecx, ebp
call fcn.0040c570
lea ecx, [esp + 0x50]
mov dword [esp + 0x2a4], 0xffffffff
call fcn.0041e630
xor eax, eax
jmp 0x419790
push esi
push esi
mov dword [esp + 0x68], esi
call fcn.0041d8b0
mov eax, dword [esp + 0x60]
add esp, 8
cmp eax, 2
jl 0x418b03
mov edx, dword [esp + 0x54]
push 0x403b30
push 4
push eax
push edx
call fcn.004c7fc0
mov eax, dword [esp + 0x68]
add esp, 0x10
push eax
call fcn.004c7e90
mov ecx, dword [esp + 0x5c]
mov edi, eax
mov edx, ecx
mov eax, 0x1010101
shr ecx, 2
mov dword [esp + 0x24], edi
push 0x80
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
call fcn.004c7e90
add esp, 8
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], 0x1f
mov dword [esp + 0x48], pe_nt_image_headers32
mov dword [esp + 0x34], 0x4d879c
mov eax, dword [ebp + 0x498]
mov byte [esp + 0x2a4], 1
mov dword [esp + 0x44], 1
lea edi, [eax - 1]
cmp edi, esi
mov esi, dword [sym.imp.user32.dll_SendMessageA]
mov dword [esp + 0x10], edi
jl 0x418d02
cmp edi, dword [ebp + 0x498]
jge 0x418b95
test edi, edi
jl 0x418b95
mov eax, dword [ebp + 0x494]
mov ebx, dword [eax + edi*4]
jmp 0x418b97
xor ebx, ebx
test ebx, ebx
mov dword [esp + 0x18], ebx
je 0x418d42
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
push 0x403b30
push 4
push ecx
lea eax, [esp + 0x24]
push edx
push eax
call fcn.004c8eaa
add esp, 0x14
test eax, eax
je 0x418d42
mov ecx, dword [esp + 0x54]
sub eax, ecx
sar eax, 2
test eax, eax
mov dword [esp + 0x24], eax
jl 0x418d42
cmp eax, dword [esp + 0x58]
jge 0x418be9
mov ecx, dword [ecx + eax*4]
jmp 0x418beb
xor ecx, ecx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x14], ecx
mov byte [eax + edx], 0
mov eax, dword [ecx + 0x20]
mov esi, dword [ebx + 0x20]
mov edx, dword [ecx + 0x24]
cmp esi, eax
mov dword [esp + 0x74], edx
jne 0x418c36
mov esi, dword [ebx + 0x24]
cmp esi, edx
jne 0x418c36
mov esi, dword [ebx + 0x48]
mov edi, dword [ecx + 0x48]
cmp esi, edi
jne 0x418c36
mov edx, dword [esp + 0x14]
mov ecx, 2
lea esi, [ebx + 0x40]
lea edi, [edx + 0x40]
xor edx, edx
repe cmpsd dword [esi], dword es:[edi]
je 0x418ced
mov edx, dword [esp + 0x74]
mov edi, dword [esp + 0x14]
mov esi, dword [ebx + 0x60]
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x24], edx
mov eax, dword [edi + 0x48]
mov dword [ebx + 0x48], eax
mov ecx, dword [edi + 0x40]
mov dword [ebx + 0x40], ecx
mov edx, dword [edi + 0x44]
xor eax, eax
mov dword [ebx + 0x44], edx
cmp esi, eax
mov dword [ebx + 0x3c], 0xfffffffe
mov dword [ebx + 0x2c], eax
mov dword [ebx + 0x30], eax
mov dword [ebx + 0x34], eax
je 0x418c7d
mov ecx, esi
call fcn.00458430
push esi
call fcn.004c7e56
add esp, 4
xor eax, eax
mov ecx, ebp
mov dword [ebx + 0x60], eax
mov dword [ebx + 0x58], 0xffffffff
call fcn.00412510
mov esi, dword [esp + 0x28]
xor ecx, ecx
cmp ebx, eax
push ebx
sete cl
or esi, ecx
mov ecx, ebp
mov dword [esp + 0x2c], esi
call fcn.00416400
mov eax, dword [ebx + 0x5c]
cmp eax, 0xffffffff
jle 0x418cc8
mov edx, dword [ebp + 0xc]
mov esi, dword [sym.imp.user32.dll_SendMessageA]
push eax
push eax
push 0x1015
push edx
call esi
mov edi, dword [esp + 0x10]
jmp 0x418cf7
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
test edi, edi
mov byte [esi + eax], 0xff
je 0x418ce0
mov edx, dword [edi]
push 1
mov ecx, edi
call dword [edx]
cmp esi, dword [esp + 0x58]
jge 0x418ced
mov eax, dword [esp + 0x54]
mov dword [eax + esi*4], ebx
mov edi, dword [esp + 0x10]
mov esi, dword [sym.imp.user32.dll_SendMessageA]
dec edi
mov dword [esp + 0x10], edi
jns 0x418b7e
mov eax, dword [esp + 0x58]
xor edi, edi
test eax, eax
mov dword [esp + 0x10], edi
jle 0x418f3c
mov edx, dword [esp + 0x20]
cmp byte [edi + edx], 0
je 0x418f2b
cmp edi, eax
jge 0x418e63
test edi, edi
jl 0x418e63
mov eax, dword [esp + 0x54]
mov ebx, dword [eax + edi*4]
mov dword [esp + 0x14], ebx
jmp 0x418e6f
cmp dword [ebx + 8], 3
je 0x418cf7
mov ecx, ebp
call fcn.00412510
mov edx, dword [esp + 0x28]
xor ecx, ecx
cmp ebx, eax
sete cl
or edx, ecx
mov ecx, dword [ebp + 0x7f4]
test ecx, ecx
mov dword [esp + 0x28], edx
je 0x418d73
mov eax, dword [ebx + 0x68]
push eax
call fcn.00422e60
mov eax, dword [ebx + 0x5c]
test eax, eax
jl 0x418df1
push 4
call fcn.004c7e90
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
je 0x418df1
mov ecx, dword [esp + 0x40]
mov edx, dword [ebx + 0x5c]
mov dword [eax], edx
lea esi, [ecx + 1]
mov ecx, dword [esp + 0x3c]
cmp ecx, esi
jne 0x418de1
mov ebx, dword [esp + 0x40]
lea edx, [ebx*4 + 0x104]
push edx
call fcn.004c7e90
mov edi, eax
mov eax, dword [esp + 0x3c]
mov ecx, esi
mov esi, eax
mov dword [esp + 0x1c], edi
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.004c7e56
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
add esp, 8
add ebx, 0x40
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x40], ebx
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov dword [edx + ecx*4], eax
inc ecx
mov dword [esp + 0x3c], ecx
test edi, edi
jl 0x418ced
mov eax, dword [esp + 0x10]
mov ecx, dword [ebp + 0x498]
cmp eax, ecx
jge 0x418ced
mov eax, dword [ebp + 0x4a0]
test eax, eax
je 0x418e2e
mov ecx, dword [ebp + 0x494]
mov edi, dword [esp + 0x10]
mov ecx, dword [ecx + edi*4]
test ecx, ecx
je 0x418e32
mov edx, dword [ecx]
push 1
call dword [edx]
jmp 0x418e32
mov edi, dword [esp + 0x10]
mov ecx, dword [ebp + 0x498]
mov eax, edi
dec ecx
cmp edi, ecx
jge 0x418e58
mov ecx, dword [ebp + 0x494]
inc eax
mov edx, dword [ecx + eax*4]
mov dword [ecx + eax*4 - 4], edx
mov ecx, dword [ebp + 0x498]
dec ecx
cmp eax, ecx
jl 0x418e3f
dec dword [ebp + 0x498]
jmp 0x418cf1
mov dword [esp + 0x14], 0
mov ebx, dword [esp + 0x14]
push ebx
mov ecx, ebp
call fcn.00416400
mov ecx, dword [esp + 0x20]
cmp byte [edi + ecx], 1
jne 0x418f2b
test ebx, ebx
je 0x418f2b
mov eax, dword [ebp + 0x49c]
mov ecx, dword [ebp + 0x498]
lea edx, [eax + 1]
cmp ecx, edx
jne 0x418f0f
add eax, dword [ebp + 0x4a4]
lea eax, [eax*4 + 4]
push eax
call fcn.004c7e90
mov ecx, dword [ebp + 0x49c]
mov esi, dword [ebp + 0x494]
mov ebx, eax
lea ecx, [ecx*4 + 4]
mov edi, ebx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x494]
push eax
call fcn.004c7e56
mov eax, dword [ebp + 0x4a4]
mov ecx, dword [ebp + 0x49c]
mov esi, dword [sym.imp.user32.dll_SendMessageA]
mov edi, dword [esp + 0x18]
add esp, 8
add ecx, eax
mov dword [ebp + 0x494], ebx
mov ebx, dword [esp + 0x14]
mov dword [ebp + 0x49c], ecx
mov ecx, dword [ebp + 0x498]
mov edx, dword [ebp + 0x494]
mov dword [edx + ecx*4], ebx
mov eax, dword [ebp + 0x498]
inc eax
mov dword [ebp + 0x498], eax
mov eax, dword [esp + 0x58]
inc edi
cmp edi, eax
mov dword [esp + 0x10], edi
jl 0x418d14
mov ecx, ebp
call fcn.004118e0
xor ebx, ebx
mov ecx, ebp
push ebx
call fcn.00419bf0
mov edi, dword [esp + 0x3c]
cmp edi, 2
jl 0x418f6b
mov eax, dword [esp + 0x38]
push 0x41c570
push 4
push edi
push eax
call fcn.004c7fc0
add esp, 0x10
dec edi
cmp edi, ebx
jl 0x418fa1
mov ecx, dword [esp + 0x38]
lea ebx, [ecx + edi*4]
cmp edi, dword [esp + 0x3c]
jge 0x418f85
test edi, edi
jl 0x418f85
mov eax, dword [ebx]
jmp 0x418f87
xor eax, eax
mov edx, dword [eax]
mov eax, dword [ebp + 0xc]
push 0
push edx
push 0x1008
push eax
call esi
dec edi
sub ebx, 4
test edi, edi
jge 0x418f77
xor ebx, ebx
mov ecx, dword [ebp + 0xc]
or edi, 0xffffffff
push 1
push edi
push 0x100c
push ecx
mov dword [esp + 0x24], ebx
call esi
mov eax, dword [0x4fb6fc]
mov dword [esp + 0x7c], 0xf
cmp eax, ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x90], edi
mov dword [esp + 0x98], edi
mov dword [esp + 0x80], ebx
jne 0x418ffc
mov ecx, ebp
call fcn.00419cd0
test eax, eax
je 0x418ff6
cmp dword [0x4fb970], ebx
je 0x418ffc
mov dword [esp + 0x30], ebx
jmp 0x419004
mov dword [esp + 0x30], 1
mov ecx, ebp
call fcn.00419cd0
test eax, eax
je 0x419020
mov eax, dword [0x4fb96c]
mov dword [esp + 0x24], 1
cmp eax, ebx
je 0x419024
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0x2ac]
mov edx, dword [0x4fb6f8]
neg eax
sbb eax, eax
push edx
and eax, 2
mov dword [esp + 0x1c], eax
mov eax, dword [0x4fb6f0]
push eax
call fcn.0041d8b0
mov ecx, dword [0x4fb968]
add esp, 8
cmp ecx, ebx
jne 0x419062
mov edx, dword [esp + 0x58]
mov dword [esp + 0x1c], edi
lea eax, [edx - 1]
jmp 0x41906c
mov edx, dword [esp + 0x58]
xor eax, eax
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x1c]
mov ebx, ecx
neg ebx
sbb ebx, ebx
mov ecx, eax
and ebx, 2
mov dword [esp + 0x10], ecx
dec ebx
cmp eax, edx
mov dword [esp + 0x70], ebx
je 0x419365
jmp 0x419092
mov ecx, dword [esp + 0x10]
cmp ecx, dword [esp + 0x58]
jge 0x4190a5
test ecx, ecx
jl 0x4190a5
mov eax, dword [esp + 0x54]
mov edi, dword [eax + ecx*4]
jmp 0x4190a7
xor edi, edi
mov edx, dword [esp + 0x20]
mov dword [esp + 0x2c], edi
cmp byte [ecx + edx], 0
je 0x41934f
cmp dword [edi + 0x5c], 0xffffffff
jne 0x41934f
mov eax, dword [esp + 0x30]
test eax, eax
je 0x419115
mov eax, dword [edi + 0x3c]
test eax, eax
jl 0x419115
mov eax, dword [edi + 0x68]
lea ecx, [esp + 0x114]
push eax
call fcn.004537e0
lea ecx, [esp + 0x114]
mov byte [esp + 0x2a4], 2
call fcn.004544a0
test eax, eax
jne 0x419101
mov dword [edi + 0x3c], 0xffffffff
lea ecx, [esp + 0x114]
mov byte [esp + 0x2a4], 1
call fcn.00453a10
test byte [edi + 0x48], 2
je 0x419128
mov eax, dword [0x4fb700]
test eax, eax
je 0x41934f
mov eax, dword [edi + 0x3c]
test eax, eax
jge 0x41914d
mov ecx, edi
call fcn.0041df00
test eax, eax
jne 0x41914d
mov eax, dword [edi + 8]
test eax, eax
jne 0x41914d
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x41934f
mov ecx, dword [edi + 8]
test ecx, ecx
jne 0x41915f
mov eax, dword [edi + 0x4c]
test eax, eax
je 0x41934f
mov eax, dword [esp + 0x24]
test eax, eax
je 0x41916f
test ecx, ecx
jne 0x41934f
mov eax, dword [0x4fb968]
sub eax, 0
je 0x4192d3
dec eax
je 0x419249
dec eax
jne 0x4191c0
mov eax, dword [ebp + 0xc]
push 0
push 0
push 0x1004
push eax
call esi
mov ebx, eax
xor edi, edi
test ebx, ebx
jle 0x4191b9
push edi
mov ecx, ebp
call fcn.004124c0
mov ecx, dword [esp + 0x2c]
push eax
call fcn.0041d590
test eax, eax
jne 0x4191b9
inc edi
cmp edi, ebx
jl 0x41919e
mov dword [esp + 0x80], edi
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x419215
mov eax, dword [esp + 0x2ac]
test eax, eax
je 0x419215
or edi, 0xffffffff
mov ecx, dword [ebp + 0xc]
push 2
push edi
push 0x100c
push ecx
call esi
lea edx, [esp + 0xa4]
mov edi, eax
mov eax, dword [ebp + 0xc]
push edx
push edi
push 0x102b
push eax
mov dword [esp + 0xc4], 2
mov dword [esp + 0xc0], 0
call esi
cmp edi, 0xffffffff
jne 0x4191d6
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x9c], edi
mov eax, dword [edi + 0x10]
test eax, eax
je 0x41931c
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x8c], 0xf02
or ch, 2
mov dword [esp + 0x88], ecx
jmp 0x419332
push 0
cmp ecx, 1
push 0
push 0x1004
jne 0x419296
mov ecx, dword [ebp + 0xc]
push ecx
call esi
mov ebx, eax
xor edi, edi
test ebx, ebx
jle 0x419282
push edi
mov ecx, ebp
call fcn.004124c0
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x41927b
inc edi
cmp edi, ebx
jl 0x419265
jmp 0x419282
mov dword [esp + 0x80], edi
cmp edi, ebx
jne 0x4191c0
mov dword [esp + 0x80], ebx
jmp 0x4191c0
mov edx, dword [ebp + 0xc]
push edx
call esi
lea edi, [eax - 1]
mov dword [esp + 0x80], eax
test edi, edi
jl 0x4191c0
mov ebx, 3
push edi
mov ecx, ebp
call fcn.004124c0
cmp dword [eax + 8], ebx
jne 0x4191c0
mov dword [esp + 0x80], edi
dec edi
jns 0x4192b3
jmp 0x4191c0
cmp ecx, 1
jne 0x4192e4
mov dword [esp + 0x80], ecx
jmp 0x4191c0
mov eax, dword [ebp + 0xc]
push 0
push 0
push 0x1004
push eax
call esi
mov ebx, eax
xor edi, edi
test ebx, ebx
jle 0x4191c0
push edi
mov ecx, ebp
call fcn.004124c0
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x4191b9
inc edi
cmp edi, ebx
jl 0x4192ff
jmp 0x4191c0
mov edx, dword [esp + 0x18]
mov dword [esp + 0x8c], 2
mov dword [esp + 0x88], edx
mov ecx, dword [ebp + 0xc]
lea eax, [esp + 0x7c]
push eax
push 0
push 0x1007
push ecx
call esi
mov ebx, dword [esp + 0x70]
mov dword [edi + 0x5c], eax
mov dword [esp + 0x14], edi
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add eax, ebx
cmp eax, ecx
mov dword [esp + 0x10], eax
jne 0x41908e
mov edx, dword [ebp + 0xc]
push 0
push 0
push 0x1004
push edx
call esi
mov ebx, eax
xor edi, edi
test ebx, ebx
jle 0x41938c
push edi
mov ecx, ebp
call fcn.004124c0
mov dword [eax + 0x5c], edi
inc edi
cmp edi, ebx
jl 0x41937c
mov edi, dword [esp + 0x14]
test edi, edi
je 0x4195ec
mov eax, dword [0x4fb8c0]
cmp eax, 2
je 0x4195ec
cmp eax, 3
je 0x4195ec
cmp dword [0x4fb968], 1
jne 0x4193c5
mov eax, dword [0x4fb704]
test eax, eax
je 0x4195ec
lea ecx, [esp + 0xf4]
call fcn.0041e520
lea eax, [esp + 0xf4]
mov ecx, ebp
push eax
mov byte [esp + 0x2a8], 3
call fcn.00412540
mov ecx, ebp
call fcn.00412510
mov ecx, dword [ebp + 0xc]
push 0
push 0
push 0x1004
push ecx
call esi
mov ebx, eax
lea edx, [ebx*4]
push edx
call fcn.004c7e90
mov ecx, dword [ebp + 0x498]
mov edx, eax
add esp, 4
xor eax, eax
test ecx, ecx
mov dword [esp + 0x18], edx
jle 0x41944c
cmp eax, ecx
jge 0x419435
test eax, eax
jl 0x419435
mov ecx, dword [ebp + 0x494]
mov ecx, dword [ecx + eax*4]
jmp 0x419437
xor ecx, ecx
mov ecx, dword [ecx + 0x5c]
test ecx, ecx
jl 0x419441
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp + 0x498]
inc eax
cmp eax, ecx
jl 0x419426
push 1
mov ecx, ebp
call fcn.00419bf0
mov edx, dword [ebp + 0xc]
push 0
push 0
push 0x1009
push edx
call esi
mov eax, dword [ebp + 0xc]
push 0
push ebx
push 0x102f
push eax
call esi
mov ecx, 0xa
xor eax, eax
lea edi, [esp + 0xa4]
rep stosd dword es:[edi], eax
or eax, 0xffffffff
xor edi, edi
test ebx, ebx
mov dword [esp + 0xa4], 0xf
mov dword [esp + 0xb8], eax
mov dword [esp + 0xc0], eax
jle 0x41952c
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x1c]
mov ecx, dword [ebp + 0x498]
mov eax, dword [edx]
cmp eax, ecx
jge 0x4194cf
test eax, eax
jl 0x4194cf
mov ecx, dword [ebp + 0x494]
mov eax, dword [ecx + eax*4]
jmp 0x4194d1
xor eax, eax
mov dword [esp + 0xa8], edi
mov dword [esp + 0xc4], eax
mov dword [esp + 0xb4], 0
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x419507
mov dword [esp + 0xb0], 0x200
mov dword [esp + 0xb4], 0xf00
mov eax, dword [ebp + 0xc]
lea edx, [esp + 0xa4]
push edx
push 0
push 0x1007
push eax
call esi
mov ecx, dword [esp + 0x1c]
inc edi
add ecx, 4
cmp edi, ebx
mov dword [esp + 0x1c], ecx
jl 0x4194b0
mov edx, dword [esp + 0xfc]
or eax, 0xffffffff
xor ebx, ebx
test edx, edx
jle 0x419596
cmp ebx, edx
jge 0x419550
test ebx, ebx
jl 0x419550
mov ecx, dword [esp + 0xf8]
mov ecx, dword [ecx + ebx*4]
jmp 0x419552
xor ecx, ecx
mov edi, dword [ecx + 0x5c]
test edi, edi
jl 0x41958c
mov eax, dword [ebp + 0xc]
lea edx, [esp + 0xcc]
push edx
push edi
push 0x102b
push eax
mov dword [esp + 0xec], 0xf
mov dword [esp + 0xe8], 2
call esi
mov edx, dword [esp + 0xfc]
mov eax, edi
inc ebx
cmp ebx, edx
jl 0x419540
cmp eax, 0xffffffff
jne 0x419598
xor eax, eax
mov edx, dword [ebp + 0xc]
lea ecx, [esp + 0xcc]
push ecx
push eax
mov edi, 1
push 0x102b
push edx
mov dword [esp + 0xec], edi
mov dword [esp + 0xe8], edi
call esi
push edi
mov ecx, ebp
call fcn.00419c60
mov eax, dword [esp + 0x18]
push eax
call fcn.004c7e56
add esp, 4
lea ecx, [esp + 0xf4]
mov byte [esp + 0x2a4], 1
call fcn.0041e630
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x2ac]
test eax, eax
je 0x419647
test edi, edi
je 0x419647
mov edx, dword [edi + 0x5c]
mov eax, 1
lea ecx, [esp + 0xcc]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xd8], eax
mov eax, dword [ebp + 0xc]
push ecx
push edx
push 0x102b
push eax
call esi
mov ecx, dword [edi + 0x5c]
mov edx, dword [ebp + 0xc]
push 0
push ecx
push 0x1013
push edx
call esi
mov eax, dword [edi + 0x5c]
mov ecx, dword [ebp + 0xc]
push eax
push 0
push 0x1043
push ecx
call esi
mov edx, dword [ebp + 0xc]
mov edi, 2
push edi
push 0xffffffffffffffff
push 0x100c
push edx
call esi
cmp eax, 0xffffffff
jne 0x419696
push 1
push eax
mov eax, dword [ebp + 0xc]
push 0x100c
push eax
call esi
cmp eax, 0xffffffff
jne 0x419674
xor eax, eax
mov edx, dword [ebp + 0xc]
lea ecx, [esp + 0xcc]
push ecx
push eax
push 0x102b
push edx
mov dword [esp + 0xec], edi
mov dword [esp + 0xe8], edi
call esi
mov ecx, ebp
call fcn.00415580
push 0
mov ecx, ebp
call fcn.00414140
mov eax, dword [esp + 0x58]
mov esi, dword [esp + 0x20]
xor edi, edi
test eax, eax
jle 0x4196dc
cmp byte [edi + esi], 0
jne 0x4196d7
cmp edi, eax
jge 0x4196d7
test edi, edi
jl 0x4196d7
mov ecx, dword [esp + 0x54]
mov ecx, dword [ecx + edi*4]
test ecx, ecx
je 0x4196d7
mov edx, dword [ecx]
push 1
call dword [edx]
mov eax, dword [esp + 0x58]
inc edi
cmp edi, eax
jl 0x4196b4
push esi
call fcn.004c7e56
add esp, 4
mov ecx, ebp
push 0
call fcn.00419c60
mov eax, dword [0x4fb840]
test eax, eax
je 0x4196fe
mov ecx, ebp
call fcn.00416670
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.user32.dll_UpdateWindow]
mov eax, dword [esp + 0x28]
test eax, eax
je 0x419719
push 1
mov ecx, ebp
call fcn.0040d1c0
mov ecx, ebp
call fcn.00419d80
mov ecx, dword [esp + 0x78]
mov dword [ebp + 0x4d0], 0
push ecx
call dword [sym.imp.user32.dll_SetCursor]
mov esi, dword [esp + 0x3c]
xor edi, edi
test esi, esi
mov byte [esp + 0x2a4], 0
jle 0x41976a
mov ebx, dword [esp + 0x38]
cmp edi, esi
jge 0x419757
test edi, edi
jl 0x419757
mov eax, dword [ebx]
jmp 0x419759
xor eax, eax
push eax
call fcn.004c7e56
add esp, 4
inc edi
add ebx, 4
cmp edi, esi
jl 0x41974f
mov edx, dword [esp + 0x38]
push edx
call fcn.004c7e56
add esp, 4
lea ecx, [esp + 0x50]
mov dword [esp + 0x2a4], 0xffffffff
call fcn.0041e630
mov eax, 1
mov ecx, dword [esp + 0x29c]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x298
ret 4