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

Disassembly:
push 0xffffffffffffffff
push 0x4d6ec2
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x49c
push ebp
push esi
mov ebp, ecx
push 0x7f02
push 0
mov dword [esp + 0x18], ebp
call dword [sym.imp.user32.dll_LoadCursorA]
push eax
call dword [sym.imp.user32.dll_SetCursor]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x4c0]
mov ecx, eax
and eax, 2
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0xc]
and ecx, 1
push 0x65
push eax
mov dword [esp + 0x44], ecx
mov dword [esp + 0x90], 0
call dword [sym.imp.user32.dll_KillTimer]
mov eax, dword [esp + 0x4bc]
test eax, eax
jne 0x439b1e
mov ecx, ebp
call fcn.00439990
push ebx
push edi
lea ecx, [esp + 0x68]
call fcn.0041e520
mov cl, byte [0x4fbe40]
xor eax, eax
mov byte [esp + 0x9c], cl
mov ecx, pe_nt_image_headers32
lea edi, [esp + 0x9d]
mov esi, 1
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [esp + 0x48]
mov dword [esp + 0x4b4], 0
mov dword [esp + 0x78], esi
mov dword [esp + 0x88], 0xffffffff
stosb byte es:[edi], al
call fcn.0041e520
mov ecx, dword [esp + 0x4bc]
mov ebx, dword [sym.imp.kernel32.dll_lstrcmpi]
mov dword [esp + 0x58], esi
xor esi, esi
mov eax, dword [ecx + 8]
mov byte [esp + 0x4b4], 1
test eax, eax
mov dword [esp + 0x14], esi
jle 0x43a2eb
cmp esi, eax
jge 0x439bab
test esi, esi
jl 0x439bab
mov edx, dword [ecx + 4]
mov eax, dword [edx + esi*4]
jmp 0x439bad
xor eax, eax
lea ecx, [esp + 0x10]
lea edx, [esp + 0x2a4]
push ecx
push edx
push 0x104
push eax
call dword [sym.imp.kernel32.dll_GetFullPathNameA]
test eax, eax
je 0x43a2d4
mov eax, dword [esp + 0x10]
test eax, eax
je 0x43a2d4
lea eax, [esp + 0x2a4]
lea ecx, [esp + 0x3a8]
push eax
push ecx
call dword [sym.imp.kernel32.dll_lstrcpy]
mov edx, dword [esp + 0x10]
push 0x2e
mov byte [edx - 1], 0
mov eax, dword [esp + 0x14]
push eax
call fcn.004c82b0
mov ecx, dword [esp + 0x18]
push 0x2a
push ecx
mov edi, eax
call fcn.004c81f0
add esp, 0x10
test eax, eax
jne 0x439c30
mov edx, dword [esp + 0x10]
push 0x3f
push edx
call fcn.004c81f0
add esp, 8
test eax, eax
jne 0x439c30
xor esi, esi
jmp 0x439c35
mov esi, 1
test edi, edi
mov dword [esp + 0x94], 0
je 0x439c57
push 0x4efe6c
push edi
call ebx
test eax, eax
jne 0x439c57
mov eax, 1
jmp 0x439c59
xor eax, eax
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x439c65
test eax, eax
je 0x439c6d
test esi, esi
je 0x439d98
mov edi, dword [esp + 0x10]
push 0
neg esi
sbb esi, esi
lea eax, [esp + 0x2a8]
and esi, edi
lea ecx, [esp + 0x4c]
push esi
push eax
call fcn.0041e6d0
mov edx, dword [esp + 0x50]
lea ebp, [edx - 1]
test ebp, ebp
jl 0x439d67
cmp ebp, edx
jge 0x439cab
test ebp, ebp
jl 0x439cab
mov ecx, dword [esp + 0x4c]
mov esi, dword [ecx + ebp*4]
jmp 0x439cad
xor esi, esi
mov edx, dword [esp + 0x10]
push 0x2e
push edx
call fcn.004c82b0
add esp, 8
test eax, eax
je 0x439cd3
push 0x4efe6c
push eax
call ebx
test eax, eax
jne 0x439cd3
mov edi, 1
jmp 0x439cd5
xor edi, edi
mov eax, dword [esi + 0x68]
push eax
mov eax, dword [esp + 0x14]
push eax
call ebx
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x1c], eax
jne 0x439d5c
test edi, edi
jne 0x439d5c
mov eax, dword [esi + 8]
test eax, eax
jne 0x439d06
mov esi, dword [esi + 0x68]
push esi
call fcn.00456c60
add esp, 4
test eax, eax
jne 0x439d5c
mov edx, dword [esp + 0x50]
test ebp, ebp
jl 0x439d60
cmp ebp, edx
jge 0x439d60
mov eax, dword [esp + 0x58]
test eax, eax
je 0x439d2f
mov ecx, dword [esp + 0x4c]
mov ecx, dword [ecx + ebp*4]
test ecx, ecx
je 0x439d2f
mov edx, dword [ecx]
push 1
call dword [edx]
mov edx, dword [esp + 0x50]
lea ecx, [edx - 1]
mov eax, ebp
cmp ebp, ecx
jge 0x439d4f
mov ecx, dword [esp + 0x4c]
inc eax
mov edx, dword [ecx + eax*4]
mov dword [ecx + eax*4 - 4], edx
mov edx, dword [esp + 0x50]
lea ecx, [edx - 1]
cmp eax, ecx
jl 0x439d38
mov ebx, dword [sym.imp.kernel32.dll_lstrcmpi]
dec edx
mov dword [esp + 0x50], edx
jmp 0x439d60
mov edx, dword [esp + 0x50]
dec ebp
jns 0x439c9a
cmp edx, 2
mov dword [0x4ee794], 0
jl 0x439e63
push 0x403b30
push 4
push edx
mov edx, dword [esp + 0x58]
push edx
call fcn.004c7fc0
mov edx, dword [esp + 0x60]
add esp, 0x10
jmp 0x439e63
push 0x70
call fcn.004c7e90
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
mov byte [esp + 0x4b4], 2
je 0x439dc7
lea ecx, [esp + 0x3a8]
push 0
push ecx
mov ecx, eax
call fcn.0041d480
mov ebx, eax
jmp 0x439dc9
xor ebx, ebx
test ebx, ebx
mov byte [esp + 0x4b4], 1
mov dword [ebx + 0x14], 1
je 0x439e54
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
lea edx, [eax + 1]
cmp ecx, edx
jne 0x439e3e
mov ecx, dword [esp + 0x5c]
add ecx, eax
lea edx, [ecx*4 + 4]
push edx
call fcn.004c7e90
mov ebp, eax
mov eax, dword [esp + 0x58]
mov esi, dword [esp + 0x50]
mov edi, ebp
lea ecx, [eax*4 + 4]
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 [esp + 0x50]
push eax
call fcn.004c7e56
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x5c]
add esp, 8
add eax, ecx
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x54], eax
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
mov dword [edx + eax*4], ebx
mov edx, dword [esp + 0x50]
inc edx
mov dword [esp + 0x50], edx
jmp 0x439e58
mov edx, dword [esp + 0x50]
mov dword [esp + 0x94], 1
test edx, edx
mov dword [esp + 0x40], 0
jle 0x43a21f
mov eax, dword [esp + 0x40]
cmp eax, edx
jge 0x439e88
test eax, eax
jl 0x439e88
mov ecx, dword [esp + 0x4c]
mov edi, dword [ecx + eax*4]
jmp 0x439e8a
xor edi, edi
mov eax, dword [esp + 0x94]
test eax, eax
je 0x439e9c
mov esi, 1
jmp 0x439eb2
mov eax, dword [edi + 0x68]
mov edx, dword [esp + 0x10]
push eax
push edx
call dword [sym.imp.kernel32.dll_lstrcmpi]
mov esi, eax
neg esi
sbb esi, esi
inc esi
mov eax, dword [esp + 0x10]
push 0x2e
push eax
call fcn.004c82b0
add esp, 8
test eax, eax
je 0x439edc
push 0x4efe6c
push eax
call dword [sym.imp.kernel32.dll_lstrcmpi]
test eax, eax
jne 0x439edc
mov ebx, 1
jmp 0x439ede
xor ebx, ebx
test esi, esi
jne 0x439f05
test ebx, ebx
jne 0x439f05
mov eax, dword [edi + 8]
test eax, eax
jne 0x43a20a
mov eax, dword [edi + 0x68]
push eax
call fcn.00456c60
add esp, 4
test eax, eax
je 0x43a20a
mov eax, dword [edi + 0x14]
mov edi, dword [edi + 0x68]
test eax, eax
push edi
je 0x439f20
lea ecx, [esp + 0x1a4]
push ecx
call dword [sym.imp.kernel32.dll_lstrcpy]
jmp 0x439f38
lea edx, [esp + 0x2a8]
lea eax, [esp + 0x1a4]
push edx
push eax
call fcn.00442e30
add esp, 0xc
test esi, esi
jne 0x439f46
cmp dword [esp + 0x88], 0xffffffff
jne 0x439f60
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x4c0]
cmp ecx, eax
jne 0x439f60
mov edx, dword [esp + 0x70]
mov dword [esp + 0x88], edx
test ebx, ebx
je 0x43a14a
push 0x80
mov dword [esp + 0x28], 0x4d86f4
call fcn.004c7e90
add esp, 4
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0x1f
mov dword [esp + 0x38], pe_nt_image_headers32
lea eax, [esp + 0x24]
lea ecx, [esp + 0x1a0]
push eax
push ecx
mov ecx, dword [esp + 0x20]
mov byte [esp + 0x4bc], 3
mov dword [esp + 0x3c], 1
call fcn.00441670
test eax, eax
mov dword [esp + 0x90], eax
je 0x43a0f1
mov al, byte [esp + 0x9c]
test al, al
jne 0x439fef
lea edx, [esp + 0x1a0]
lea eax, [esp + 0x9c]
push edx
push eax
call dword [sym.imp.kernel32.dll_lstrcpy]
mov eax, dword [esp + 0x2c]
xor esi, esi
test eax, eax
mov dword [esp + 0x1c], esi
jle 0x43a0f5
push 0x70
call fcn.004c7e90
add esp, 4
mov dword [esp + 0x8c], eax
test eax, eax
mov byte [esp + 0x4b4], 4
je 0x43a04c
cmp esi, dword [esp + 0x2c]
jge 0x43a03d
test esi, esi
jl 0x43a03d
mov ecx, dword [esp + 0x28]
push 0
mov ecx, dword [ecx + esi*4]
push ecx
mov ecx, eax
call fcn.0041d480
mov ebx, eax
jmp 0x43a04e
xor ecx, ecx
push ecx
push ecx
mov ecx, eax
call fcn.0041d480
mov ebx, eax
jmp 0x43a04e
xor ebx, ebx
test ebx, ebx
mov byte [esp + 0x4b4], 3
mov dword [ebx + 0x14], 1
je 0x43a0de
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
lea edx, [eax + 1]
cmp ecx, edx
jne 0x43a0ca
mov ecx, dword [esp + 0x7c]
add ecx, eax
lea edx, [ecx*4 + 4]
push edx
call fcn.004c7e90
mov ebp, eax
mov eax, dword [esp + 0x78]
mov esi, dword [esp + 0x70]
mov edi, ebp
lea ecx, [eax*4 + 4]
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 [esp + 0x70]
push eax
call fcn.004c7e56
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0x24]
add esp, 8
add eax, ecx
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x74], eax
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x70]
mov dword [edx + eax*4], ebx
mov eax, dword [esp + 0x70]
inc eax
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x2c]
inc esi
cmp esi, eax
mov dword [esp + 0x1c], esi
jl 0x43a001
jmp 0x43a0f5
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
mov byte [esp + 0x4b4], 1
test ecx, ecx
mov dword [esp + 0x24], 0x4d86f4
je 0x43a138
xor esi, esi
test eax, eax
jle 0x43a138
cmp esi, eax
jge 0x43a124
test esi, esi
jl 0x43a124
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + esi*4]
jmp 0x43a126
xor eax, eax
push eax
call fcn.004c7e56
mov eax, dword [esp + 0x30]
add esp, 4
inc esi
cmp esi, eax
jl 0x43a117
mov edx, dword [esp + 0x28]
push edx
call fcn.004c7e56
add esp, 4
jmp 0x43a20a
push 0x70
call fcn.004c7e90
add esp, 4
mov dword [esp + 0x8c], eax
test eax, eax
mov byte [esp + 0x4b4], 5
je 0x43a17c
lea ecx, [esp + 0x1a0]
push 0
push ecx
mov ecx, eax
call fcn.0041d480
mov ebp, eax
jmp 0x43a17e
xor ebp, ebp
test ebp, ebp
mov byte [esp + 0x4b4], 1
mov dword [ebp + 0x14], 1
je 0x43a20a
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
lea edx, [eax + 1]
cmp ecx, edx
jne 0x43a1f6
mov ecx, dword [esp + 0x7c]
add ecx, eax
lea edx, [ecx*4 + 4]
push edx
call fcn.004c7e90
mov ebx, eax
mov eax, dword [esp + 0x78]
mov esi, dword [esp + 0x70]
mov edi, ebx
lea ecx, [eax*4 + 4]
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 [esp + 0x70]
push eax
call fcn.004c7e56
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x7c]
add esp, 8
add eax, ecx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x74], eax
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x70]
mov dword [edx + eax*4], ebp
mov eax, dword [esp + 0x70]
inc eax
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x50]
inc eax
cmp eax, edx
mov dword [esp + 0x40], eax
jl 0x439e73
mov eax, dword [esp + 0x58]
cmp edx, 1
jne 0x43a267
test eax, eax
je 0x43a240
mov ecx, dword [esp + 0x4c]
mov ecx, dword [ecx]
test ecx, ecx
je 0x43a240
mov edx, dword [ecx]
push 1
call dword [edx]
mov edx, dword [esp + 0x50]
lea ecx, [edx - 1]
xor eax, eax
test ecx, ecx
jle 0x43a260
mov ecx, dword [esp + 0x4c]
inc eax
mov edx, dword [ecx + eax*4]
mov dword [ecx + eax*4 - 4], edx
mov edx, dword [esp + 0x50]
lea ecx, [edx - 1]
cmp eax, ecx
jl 0x43a249
dec edx
mov dword [esp + 0x50], edx
jmp 0x43a2c6
test eax, eax
je 0x43a293
xor esi, esi
test edx, edx
jle 0x43a293
cmp esi, edx
jge 0x43a28e
test esi, esi
jl 0x43a28e
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x43a28e
mov edx, dword [ecx]
push 1
call dword [edx]
mov edx, dword [esp + 0x50]
inc esi
cmp esi, edx
jl 0x43a275
mov eax, dword [esp + 0x4c]
push eax
call fcn.004c7e56
push 0x80
call fcn.004c7e90
add esp, 8
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0x1f
mov dword [esp + 0x5c], pe_nt_image_headers32
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ebx, dword [sym.imp.kernel32.dll_lstrcmpi]
mov ecx, dword [esp + 0x4bc]
inc esi
mov dword [esp + 0x14], esi
mov eax, dword [ecx + 8]
cmp esi, eax
jl 0x439b9f
mov eax, dword [esp + 0x20]
test eax, eax
je 0x43a3ea
mov ecx, dword [esp + 0x70]
xor eax, eax
test ecx, ecx
mov dword [esp + 0x18], eax
jle 0x43a3ea
jmp 0x43a30f
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x70]
jge 0x43a322
test eax, eax
jl 0x43a322
mov ecx, dword [esp + 0x6c]
mov eax, dword [ecx + eax*4]
jmp 0x43a324
xor eax, eax
mov ebx, dword [eax + 0x68]
mov eax, dword [ebp + 0x44]
xor esi, esi
test eax, eax
jle 0x43a3d5
cmp esi, eax
jge 0x43a359
test esi, esi
jl 0x43a359
mov edx, dword [ebp + 0x40]
mov edi, dword [edx + esi*4]
test edi, edi
je 0x43a359
push ebx
mov ecx, edi
call fcn.00454cb0
push eax
call dword [sym.imp.kernel32.dll_lstrcmpi]
test eax, eax
je 0x43a363
mov eax, dword [ebp + 0x44]
inc esi
cmp esi, eax
jl 0x43a338
jmp 0x43a3d5
mov ecx, dword [ebp + 8]
cmp edi, dword [ecx + 0x30]
jne 0x43a374
push 0
push 0
call fcn.0045d120
cmp edi, dword [ebp + 0x58]
jne 0x43a380
mov dword [ebp + 0x58], 0
test esi, esi
jl 0x43a3ca
cmp esi, dword [ebp + 0x44]
jge 0x43a3ca
mov eax, dword [ebp + 0x4c]
test eax, eax
je 0x43a3aa
mov eax, dword [ebp + 0x40]
mov edi, dword [eax + esi*4]
test edi, edi
je 0x43a3aa
mov ecx, edi
call fcn.00453a10
push edi
call fcn.004c7e56
add esp, 4
mov ecx, dword [ebp + 0x44]
mov eax, esi
dec ecx
cmp esi, ecx
jge 0x43a3c7
mov ecx, dword [ebp + 0x40]
inc eax
mov edx, dword [ecx + eax*4]
mov dword [ecx + eax*4 - 4], edx
mov ecx, dword [ebp + 0x44]
dec ecx
cmp eax, ecx
jl 0x43a3b4
dec dword [ebp + 0x44]
mov eax, dword [ebp + 0x60]
cmp esi, eax
jge 0x43a3d5
dec eax
mov dword [ebp + 0x60], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x70]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x43a30b
mov esi, dword [esp + 0x4c4]
mov dword [esp + 0x40], 0xffffffff
cmp esi, 2
je 0x43a511
cmp esi, 3
je 0x43a511
mov eax, dword [esp + 0x70]
xor esi, esi
test eax, eax
mov dword [esp + 0x14], esi
jle 0x43a8e2
cmp esi, dword [esp + 0x88]
jne 0x43a42d
mov edx, dword [ebp + 0x44]
mov dword [esp + 0x40], edx
push 0x5c
call fcn.004c7e90
add esp, 4
mov dword [esp + 0x8c], eax
test eax, eax
mov byte [esp + 0x4b4], 8
je 0x43a47b
cmp esi, dword [esp + 0x70]
jge 0x43a46a
test esi, esi
jl 0x43a46a
mov ecx, dword [esp + 0x6c]
mov ecx, dword [ecx + esi*4]
mov ecx, dword [ecx + 0x68]
push ecx
mov ecx, eax
call fcn.004537e0
mov ecx, eax
jmp 0x43a47d
xor ecx, ecx
mov ecx, dword [ecx + 0x68]
push ecx
mov ecx, eax
call fcn.004537e0
mov ecx, eax
jmp 0x43a47d
xor ecx, ecx
test ecx, ecx
mov dword [esp + 0x1c], ecx
mov byte [esp + 0x4b4], 1
je 0x43a4fb
mov eax, dword [ebp + 0x48]
mov edi, dword [ebp + 0x44]
lea edx, [eax + 1]
cmp edi, edx
jne 0x43a4eb
add eax, dword [ebp + 0x50]
lea eax, [eax*4 + 4]
push eax
call fcn.004c7e90
mov ecx, dword [ebp + 0x48]
mov esi, dword [ebp + 0x40]
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 + 0x40]
push eax
call fcn.004c7e56
mov eax, dword [ebp + 0x50]
mov ecx, dword [ebp + 0x48]
mov esi, dword [esp + 0x1c]
add esp, 8
add ecx, eax
mov dword [ebp + 0x40], ebx
mov dword [ebp + 0x48], ecx
mov ecx, dword [esp + 0x1c]
mov edx, dword [ebp + 0x44]
mov eax, dword [ebp + 0x40]
mov dword [eax + edx*4], ecx
mov eax, dword [ebp + 0x44]
inc eax
mov dword [ebp + 0x44], eax
mov eax, dword [esp + 0x70]
inc esi
cmp esi, eax
mov dword [esp + 0x14], esi
jl 0x43a41d
jmp 0x43a8d9
push 0x80
mov dword [esp + 0x28], 0x4d89d8
call fcn.004c7e90
mov dword [esp + 0x2c], eax
xor eax, eax
add esp, 4
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], 0x1f
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], pe_nt_image_headers32
cmp esi, 2
mov byte [esp + 0x4b4], 6
jne 0x43a55a
mov ecx, dword [ebp + 0x60]
mov dword [esp + 0x10], ecx
jmp 0x43a562
mov eax, dword [ebp + 0x60]
inc eax
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x2c]
xor ebx, ebx
test ecx, ecx
jle 0x43a60e
cmp ebx, dword [ebp + 0x44]
jge 0x43a605
test ebx, ebx
jl 0x43a605
mov edx, dword [ebp + 0x40]
cmp dword [edx + ebx*4], 0
je 0x43a605
cmp ebx, dword [ebp + 0x44]
jge 0x43a605
test ebx, ebx
jl 0x43a605
mov eax, edx
mov eax, dword [eax + ebx*4]
test eax, eax
mov dword [esp + 0x44], eax
je 0x43a605
mov edx, dword [esp + 0x30]
lea esi, [edx + 1]
cmp edi, esi
jne 0x43a5f8
mov eax, edx
lea ecx, [eax*4 + 0x104]
push ecx
call fcn.004c7e90
mov edx, dword [esp + 0x2c]
mov ecx, esi
mov esi, dword [esp + 0x2c]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
push edx
mov dword [esp + 0x28], eax
call fcn.004c7e56
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x38]
add esp, 8
add eax, 0x40
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x28]
inc edi
mov dword [esp + 0x2c], edi
mov dword [edx + edi*4 - 4], eax
inc ebx
cmp ebx, ecx
jl 0x43a574
mov eax, dword [esp + 0x70]
xor ebx, ebx
test eax, eax
mov dword [esp + 0x14], ebx
jle 0x43a6f9
cmp ebx, dword [esp + 0x88]
jne 0x43a62d
mov dword [esp + 0x40], edi
push 0x5c
call fcn.004c7e90
add esp, 4
mov dword [esp + 0x8c], eax
test eax, eax
mov byte [esp + 0x4b4], 7
je 0x43a677
cmp ebx, dword [esp + 0x70]
jge 0x43a668
test ebx, ebx
jl 0x43a668
mov ecx, dword [esp + 0x6c]
mov ecx, dword [ecx + ebx*4]
mov ecx, dword [ecx + 0x68]
push ecx
mov ecx, eax
call fcn.004537e0
jmp 0x43a679
xor ecx, ecx
mov ecx, dword [ecx + 0x68]
push ecx
mov ecx, eax
call fcn.004537e0
jmp 0x43a679
xor eax, eax
test eax, eax
mov dword [esp + 0x1c], eax
mov byte [esp + 0x4b4], 6
je 0x43a6e4
mov edx, dword [esp + 0x30]
lea esi, [edx + 1]
cmp edi, esi
jne 0x43a6d7
mov ebx, edx
lea eax, [ebx*4 + 0x104]
push eax
call fcn.004c7e90
mov edi, eax
mov eax, dword [esp + 0x2c]
mov ecx, esi
mov esi, eax
mov dword [esp + 0x24], edi
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.004c7e56
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x34]
mov eax, dword [esp + 0x24]
add esp, 8
add ebx, 0x40
mov dword [esp + 0x28], ecx
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
inc edi
mov dword [esp + 0x2c], edi
mov dword [edx + edi*4 - 4], eax
mov eax, dword [esp + 0x70]
inc ebx
cmp ebx, eax
mov dword [esp + 0x14], ebx
jl 0x43a620
mov ecx, dword [esp + 0x10]
mov eax, dword [ebp + 0x44]
mov edi, dword [esp + 0x2c]
cmp ecx, eax
mov ebx, ecx
jge 0x43a79f
cmp ebx, eax
jge 0x43a793
test ebx, ebx
jl 0x43a793
mov eax, dword [ebp + 0x40]
cmp dword [eax + ebx*4], 0
je 0x43a793
cmp ebx, dword [ebp + 0x44]
jge 0x43a793
test ebx, ebx
jl 0x43a793
mov ecx, dword [ebp + 0x40]
mov eax, dword [ecx + ebx*4]
test eax, eax
mov dword [esp + 0x44], eax
je 0x43a793
mov edx, dword [esp + 0x30]
lea esi, [edx + 1]
cmp edi, esi
jne 0x43a786
mov eax, edx
lea ecx, [eax*4 + 0x104]
push ecx
call fcn.004c7e90
mov edx, dword [esp + 0x2c]
mov ecx, esi
mov esi, dword [esp + 0x2c]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
push edx
mov dword [esp + 0x28], eax
call fcn.004c7e56
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x38]
add esp, 8
add eax, 0x40
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x28]
inc edi
mov dword [esp + 0x2c], edi
mov dword [ecx + edi*4 - 4], eax
mov eax, dword [ebp + 0x44]
inc ebx
cmp ebx, eax
jl 0x43a712
xor esi, esi
mov eax, esi
mov dword [ebp + 0x4c], esi
cmp eax, esi
je 0x43a7d7
mov eax, dword [ebp + 0x44]
cmp esi, eax
jge 0x43a7d7
test esi, esi
jl 0x43a7cf
mov edx, dword [ebp + 0x40]
mov ebx, dword [edx + esi*4]
test ebx, ebx
je 0x43a7cf
mov ecx, ebx
call fcn.00453a10
push ebx
call fcn.004c7e56
add esp, 4
mov eax, dword [ebp + 0x44]
inc esi
cmp esi, eax
jl 0x43a7b1
mov eax, dword [ebp + 0x40]
push eax
call fcn.004c7e56
push 0x80
call fcn.004c7e90
xor ecx, ecx
add esp, 8
mov dword [ebp + 0x40], eax
mov dword [ebp + 0x44], ecx
mov dword [ebp + 0x48], 0x1f
mov dword [ebp + 0x50], pe_nt_image_headers32
cmp ecx, edi
mov dword [ebp + 0x4c], 1
mov dword [esp + 0x14], ecx
jge 0x43a8c4
mov eax, dword [esp + 0x28]
mov dword [esp + 0x18], eax
jge 0x43a8ac
test ecx, ecx
jl 0x43a8ac
mov edx, dword [esp + 0x18]
mov edx, dword [edx]
test edx, edx
mov dword [esp + 0x20], edx
je 0x43a8ac
mov eax, dword [ebp + 0x48]
mov ebx, dword [ebp + 0x44]
lea esi, [eax + 1]
cmp ebx, esi
jne 0x43a89c
add eax, dword [ebp + 0x50]
lea eax, [eax*4 + 4]
push eax
call fcn.004c7e90
mov ecx, dword [ebp + 0x48]
mov esi, dword [ebp + 0x40]
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 + 0x40]
push eax
call fcn.004c7e56
mov eax, dword [ebp + 0x50]
mov ecx, dword [ebp + 0x48]
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 0x28]
add esp, 8
add ecx, eax
mov dword [ebp + 0x48], ecx
mov ecx, dword [esp + 0x14]
mov dword [ebp + 0x40], ebx
mov eax, dword [ebp + 0x44]
mov esi, dword [ebp + 0x40]
mov dword [esi + eax*4], edx
mov eax, dword [ebp + 0x44]
inc eax
mov dword [ebp + 0x44], eax
mov edx, dword [esp + 0x18]
inc ecx
add edx, 4
cmp ecx, edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
jl 0x43a824
mov ecx, dword [esp + 0x28]
mov byte [esp + 0x4b4], 1
push ecx
call fcn.004c7e56
add esp, 4
mov esi, dword [esp + 0x40]
cmp esi, 0xffffffff
jne 0x43a8e4
xor esi, esi
mov eax, dword [ebp + 0x68]
push eax
call fcn.004c7e56
mov eax, dword [ebp + 0x6c]
xor ebx, ebx
push eax
mov dword [ebp + 0x68], ebx
call fcn.004c7e56
mov dword [ebp + 0x6c], ebx
mov dword [ebp + 0x70], ebx
mov dword [ebp + 0x74], ebx
mov eax, dword [ebp + 0x44]
add esp, 8
cmp eax, ebx
je 0x43a916
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 8]
push esi
mov ecx, ebp
call fcn.00439610
mov edi, dword [sym.imp.user32.dll_SetFocus]
mov esi, eax
cmp esi, ebx
jne 0x43a96c
cmp dword [esp + 0x90], ebx
je 0x43a96c
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0xc]
cmp dword [0x4fb8e4], ebx
je 0x43a94c
mov ecx, ebp
call fcn.00438970
jmp 0x43a966
mov ecx, dword [ebp + 0xc]
mov edx, dword [0x4ee264]
push 0xa
push ecx
push 0x4efe5c
push edx
call fcn.00442620
add esp, 0x10
mov eax, dword [ebp + 0xc]
push eax
call edi
mov al, byte [esp + 0x9c]
test al, al
je 0x43a98c
lea ecx, [esp + 0x9c]
lea edx, [ebp + 0xb8]
push ecx
push edx
call dword [sym.imp.kernel32.dll_lstrcpy]
cmp esi, ebx
je 0x43a996
mov eax, dword [ebp + 0xc]
push eax
call edi
mov eax, dword [0x4fb8f0]
pop edi
cmp eax, 2
pop ebx
jne 0x43a9af
cmp dword [ebp + 0x44], 1
jle 0x43a9af
mov ecx, ebp
call fcn.0043b490
mov ecx, dword [esp + 0x90]
push ecx
call dword [sym.imp.user32.dll_SetCursor]
mov eax, dword [esp + 0x88]
lea ecx, [esp + 0x40]
or esi, eax
mov byte [esp + 0x4ac], 0
call fcn.0041e630
lea ecx, [esp + 0x60]
mov dword [esp + 0x4ac], 0xffffffff
call fcn.0041e630
mov ecx, dword [esp + 0x4a4]
mov eax, esi
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0x4a8
ret 0x10