Function at 0x401fd3
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
jmp 0x402016
sub esp, 0x538
push ebx
push esi
push edi
push 0x1a4
lea eax, [esp + 0x1c]
xor ebx, ebx
push 0x237
push eax
mov dword [esp + 0x24], ebx
call fcn.00402637
mov edi, eax
add esp, 0xc
cmp edi, ebx
je 0x402060
mov eax, dword [esp + 0x18]
mov esi, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
inc eax
push eax
push ebx
call esi
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
cmp eax, ebx
mov dword [esp + 0xc], eax
jne 0x402067
xor eax, eax
jmp 0x40262d
mov ecx, dword [esp + 0x18]
push ebp
push ecx
push edi
push eax
mov dword [esp + 0x24], ecx
call fcn.00402679
add esp, 0xc
push edi
push ebx
call esi
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
push dword [0x404260]
mov esi, dword [sym.imp.USER32.dll_SetParent]
push dword [0x4041e8]
call esi
push dword [0x4040dc]
mov edi, dword [sym.imp.USER32.dll_GetTopWindow]
call edi
push dword [0x404134]
call edi
push dword [0x40429c]
push dword [0x404080]
call esi
mov ebp, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x40be80
call ebp
push dword [0x404198]
mov ebx, dword [sym.imp.USER32.dll_GetWindowTextLengthA]
mov dword [0x40befc], eax
call ebx
push 0x40be40
push dword [0x40befc]
call fcn.00401fd8
pop ecx
mov dword [0x40bebc], eax
pop ecx
push dword [0x404028]
call edi
push 0x40be10
push dword [0x40befc]
call fcn.00401fd8
pop ecx
mov dword [0x40bec0], eax
pop ecx
push dword [0x404008]
call edi
push 0x40be68
call ebp
push dword [0x404060]
mov dword [0x40bf00], eax
call edi
push dword [0x404024]
push dword [0x40413c]
call esi
push 0x40be70
push dword [0x40befc]
call fcn.00401fd8
pop ecx
mov dword [0x40bed8], eax
pop ecx
push dword [0x404194]
push dword [0x404110]
call esi
push 0x40be50
push dword [0x40bf00]
call fcn.00401fd8
pop ecx
mov dword [0x40bedc], eax
pop ecx
push dword [0x404144]
push dword [0x404224]
call esi
push 0x40be30
push dword [0x40befc]
call fcn.00401fd8
push 0x40bdfc
mov dword [0x40bee0], eax
push dword [0x40befc]
call fcn.00401fd8
add esp, 0x10
mov dword [0x40bee4], eax
push dword [0x404138]
push dword [0x404260]
call esi
push 0x40bddc
push dword [0x40befc]
call fcn.00401fd8
pop ecx
mov dword [0x40bee8], eax
pop ecx
push dword [0x40402c]
push dword [0x404240]
call esi
push 0x40bdb4
push dword [0x40befc]
call fcn.00401fd8
pop ecx
mov dword [0x40beec], eax
pop ecx
push dword [0x404164]
push dword [0x40424c]
call esi
push 0x40bd94
push dword [0x40befc]
call fcn.00401fd8
pop ecx
mov dword [0x40bef0], eax
pop ecx
push dword [0x4041c8]
push dword [0x4040ac]
call esi
push 0x40bd64
push dword [0x40befc]
call fcn.00401fd8
push 0x40be1c
mov dword [0x40beb8], eax
push dword [0x40befc]
call fcn.00401fd8
add esp, 0x10
mov dword [0x40bef4], eax
push dword [0x4041e0]
call ebx
push 0x40bdf0
push dword [0x40befc]
call fcn.00401fd8
pop ecx
mov dword [0x40bec4], eax
pop ecx
call dword [0x40bebc]
push dword [0x404224]
mov dword [0x40bef8], eax
push dword [0x404090]
call esi
lea eax, [esp + 0x178]
push 0x104
push eax
push 0
call dword [0x40bef4]
push dword [0x4040a4]
push dword [0x404188]
call esi
push dword [0x4042bc]
call ebx
push dword [0x40412c]
call edi
push dword [0x40407c]
push dword [0x404190]
call esi
push dword [0x404330]
call edi
push dword [0x404180]
push dword [0x40406c]
call esi
push dword [0x404318]
push dword [0x404038]
call esi
push dword [0x40407c]
push dword [0x404278]
call esi
push dword [0x404148]
call ebx
push dword [0x404244]
push dword [0x4041ac]
call esi
push dword [0x404084]
call ebx
push dword [0x4041f8]
push dword [0x404318]
call esi
push dword [0x4042bc]
push dword [0x404298]
call esi
mov eax, dword [esp + 0x18]
lea ebp, [eax + 1]
push ebp
push 0
push dword [0x40bef8]
call dword [0x40bec0]
test eax, eax
mov dword [esp + 0x14], eax
jne 0x40236d
push dword [0x404050]
jmp 0x402620
push dword [0x4042b0]
dec ebp
call ebx
push ebp
push dword [esp + 0x14]
push dword [esp + 0x1c]
call fcn.00402679
add esp, 0xc
push dword [0x4042d0]
call edi
mov eax, dword [esp + 0x14]
push dword [0x4040c8]
movsx eax, byte [eax]
mov dword [esp + 0x14], eax
call ebx
sub ebp, dword [esp + 0x10]
push dword [0x4042d0]
dec ebp
mov dword [esp + 0x1c], ebp
call edi
push dword [0x4041d8]
call edi
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
push dword [esp + 0x10]
lea eax, [eax + ebp + 1]
push eax
lea eax, [esp + 0x7c]
push eax
call fcn.00401d17
add esp, 0xc
push dword [0x40422c]
push dword [0x40411c]
call esi
push dword [esp + 0x18]
inc ebp
lea eax, [esp + 0x78]
push ebp
push eax
call fcn.00401e28
add esp, 0xc
push dword [0x404090]
call edi
push dword [0x404084]
push dword [0x404354]
call esi
test ebp, ebp
je 0x402622
push dword [0x4042f4]
push dword [0x404178]
call esi
push dword [0x404030]
push dword [0x4041c4]
call esi
push dword [0x4040dc]
call ebx
push dword [0x404074]
call ebx
push dword [0x4042d0]
push dword [0x4040bc]
call esi
push 0x44
lea eax, [esp + 0x34]
push 0
push eax
call fcn.004026c7
add esp, 0xc
push dword [0x404378]
push dword [0x40408c]
call esi
push dword [0x4042c4]
mov dword [esp + 0x34], 0x44
mov dword [esp + 0x280], 0x10007
call edi
push dword [0x4040ac]
mov dword [0x40beac], ebp
call ebx
mov eax, dword [0x40beac]
push dword [0x4042a0]
mov eax, dword [eax + 0x3c]
add eax, ebp
mov dword [0x40beb0], eax
call ebx
push dword [0x404280]
call edi
lea eax, [esp + 0x20]
lea ecx, [esp + 0x178]
push eax
lea eax, [esp + 0x34]
push eax
xor eax, eax
push eax
push eax
push 4
push eax
push eax
push eax
push ecx
push eax
call dword [0x40bed8]
push dword [0x4043bc]
push dword [0x40433c]
call esi
mov eax, dword [0x40beb0]
push dword [eax + 0x34]
push dword [esp + 0x24]
call dword [0x40bedc]
push dword [0x4042cc]
call ebx
mov eax, dword [0x40beb0]
push 0x40
push 0x3000
push dword [eax + 0x50]
push dword [eax + 0x34]
push dword [esp + 0x30]
call dword [0x40bee0]
push dword [0x404038]
call ebx
mov eax, dword [0x40beb0]
push 0
push dword [eax + 0x54]
push ebp
push dword [eax + 0x34]
push dword [esp + 0x30]
call dword [0x40bee4]
push dword [0x4043f0]
call ebx
xor eax, eax
mov dword [esp + 0x10], eax
mov ecx, dword [0x40beb0]
cmp word [ecx + 6], ax
jbe 0x4025c4
mov dword [esp + 0x14], eax
mov eax, dword [0x40beac]
push dword [0x404358]
mov eax, dword [eax + 0x3c]
add eax, dword [esp + 0x18]
lea eax, [eax + ebp + 0xf8]
mov dword [0x40beb4], eax
call edi
mov eax, dword [0x40beb4]
push 0
mov ecx, dword [eax + 0x14]
push dword [eax + 0x10]
mov eax, dword [eax + 0xc]
add ecx, ebp
push ecx
mov ecx, dword [0x40beb0]
add eax, dword [ecx + 0x34]
push eax
push dword [esp + 0x30]
call dword [0x40bee4]
push dword [0x40409c]
call edi
mov eax, dword [0x40beb0]
inc dword [esp + 0x10]
add dword [esp + 0x14], 0x28
movzx eax, word [eax + 6]
cmp dword [esp + 0x10], eax
jl 0x40255d
lea eax, [esp + 0x27c]
push eax
push dword [esp + 0x28]
call dword [0x40bee8]
mov eax, dword [0x40beb0]
push dword [0x40438c]
mov ecx, dword [eax + 0x34]
push dword [0x404294]
add ecx, dword [eax + 0x28]
mov dword [esp + 0x334], ecx
call esi
lea eax, [esp + 0x27c]
push eax
push dword [esp + 0x28]
call dword [0x40beec]
push dword [0x4043b4]
call ebx
push dword [esp + 0x24]
call dword [0x40bef0]
push dword [0x404078]
call edi
push dword [0x4040ac]
call ebx
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x538
ret