Function at 0x4036a0
Capabilities:
Enumerate pe sections
Get graphical window text
Link many functions at runtime
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x534
mov eax, dword [0x4069e0]
push ebx
push esi
push edi
mov edi, dword [sym.imp.USER32.dll_SetTimer]
push 0
push 0x344b
push 0xbe
push eax
call edi
mov esi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x40b974
mov dword [0x40618c], 0x5c85
call esi
mov ecx, dword [0x406058]
push 0x40b8e8
add ecx, 0x7976
mov dword [0x40bf00], eax
mov dword [0x406200], ecx
call esi
mov edx, dword [0x406204]
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x40bf04], eax
mov eax, dword [0x40bf00]
add edx, 0x4ce7
push 0x40bac4
push eax
mov dword [0x406138], edx
call esi
mov ecx, dword [0x40bf00]
push 0x40ba50
push ecx
mov dword [0x40bebc], eax
mov dword [0x406234], 0x31e1
call esi
mov ecx, dword [0x4060b4]
mov dword [0x40bedc], eax
mov eax, 0x4b9bc461
push 0x40b9e0
imul ecx
mov ecx, dword [0x40bf04]
sar edx, 0xd
mov eax, edx
push ecx
shr eax, 0x1f
add edx, eax
mov dword [0x4060a4], edx
call esi
mov edx, dword [0x406188]
mov dword [0x40bee0], eax
mov eax, dword [0x40bf00]
add edx, 0xfffffba2
push 0x40b994
push eax
mov dword [0x4060fc], edx
call esi
mov ecx, dword [0x406954]
push 0
push 0x53e0
push 0x97
push ecx
mov dword [0x40bee4], eax
call edi
mov edx, dword [0x40bf00]
push 0x40b92c
push edx
call esi
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
mov dword [0x40bee8], eax
mov eax, dword [0x4068d0]
push 0x6595
push 0x2046
push 0x2c7
push eax
call edi
mov ecx, dword [0x40bf00]
push 0x40b8a8
push ecx
call esi
mov edx, dword [0x4069a0]
mov dword [0x40beec], eax
mov eax, dword [0x406970]
mov ebx, dword [sym.imp.USER32.dll_KillTimer]
push edx
push eax
call ebx
mov ecx, dword [0x40bf00]
push 0x40b838
push ecx
call esi
mov edx, dword [0x40bf00]
push 0x40b7d0
push edx
mov dword [0x40bef0], eax
mov dword [0x4061f4], 0x79e
call esi
mov dword [0x40bef4], eax
mov eax, dword [0x4068e8]
push 0x418c
push 0x1947
push 0x302c
push eax
call edi
mov ecx, dword [0x40bf00]
push 0x40b800
push ecx
call esi
mov edx, dword [0x4068dc]
push 0x3d7d
push 0x2fbe
push 0x535d
push edx
mov dword [0x40bec0], eax
call edi
mov eax, dword [0x40bf00]
push 0x40b7ac
push eax
call esi
mov ecx, dword [0x4068ac]
mov edx, dword [0x406924]
push ecx
push edx
mov dword [0x40bec4], eax
call ebx
mov eax, dword [0x40bf00]
push 0x40b758
push eax
call esi
mov ecx, dword [0x40605c]
mov dword [0x40bec8], eax
mov eax, 0xb21642c9
push 0x40b6cc
imul ecx
add edx, ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov dword [0x40605c], edx
mov edx, dword [0x40bf00]
push edx
call esi
mov ecx, dword [0x40bebc]
mov dword [0x40bef8], eax
test ecx, ecx
mov dword [0x40614c], 0x7ca
je 0x40417a
mov ecx, dword [0x40bedc]
test ecx, ecx
je 0x40417a
mov ecx, dword [0x40bee0]
test ecx, ecx
je 0x40417a
mov ecx, dword [0x40bee4]
test ecx, ecx
je 0x40417a
mov ecx, dword [0x40bee8]
test ecx, ecx
je 0x40417a
mov ecx, dword [0x40beec]
test ecx, ecx
je 0x40417a
mov ecx, dword [0x40bef0]
test ecx, ecx
je 0x40417a
mov ecx, dword [0x40bef4]
test ecx, ecx
je 0x40417a
mov ecx, dword [0x40bec0]
test ecx, ecx
je 0x40417a
mov edx, dword [0x40bec4]
test edx, edx
je 0x40417a
mov edx, dword [0x40bec8]
test edx, edx
je 0x40417a
test eax, eax
je 0x40417a
call ecx
mov dword [0x40befc], eax
mov eax, dword [0x40616c]
imul eax, eax, 0x5c69
lea ecx, [ebp - 0x268]
push 0x104
push ecx
push 0
mov dword [0x4061b0], eax
call dword [0x40bef8]
mov edx, dword [0x4068f8]
push 0x48fd
push 0x6099
push 0x44f4
push edx
call edi
mov eax, dword [0x40621c]
mov ecx, dword [0x406870]
mov esi, dword [sym.imp.USER32.dll_SetTimer]
push 0
push 0x4d64
add eax, 0x2658
push 0x8d
push ecx
mov dword [0x406048], eax
call esi
mov edx, dword [0x4068fc]
mov eax, dword [0x4068f0]
push edx
push eax
call ebx
mov ecx, dword [0x406130]
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 3
mov ecx, edx
mov eax, dword [0x4068e0]
shr ecx, 0x1f
add edx, ecx
mov dword [0x406130], edx
mov edx, dword [0x406968]
push edx
push eax
call ebx
mov ecx, dword [0x40613c]
mov edx, dword [0x4068c4]
push 0x5684
push 0x4cc4
add ecx, 0xffff96d2
push 0x516
push edx
mov dword [0x406034], ecx
call edi
mov eax, dword [0x4069bc]
push 0
push 0xfd3
push 0xb9
push eax
call esi
mov ecx, dword [0x406a18]
push 0x3021
push 0x359f
push 0x478
push ecx
call edi
mov eax, dword [0x40611c]
mov edx, eax
shl edx, 6
add edx, eax
lea ecx, [eax + edx*2]
lea ecx, [ecx + ecx*8]
lea eax, [eax + ecx*8]
mov ecx, dword [0x4069ac]
lea edx, [eax + eax*2]
mov eax, dword [0x4069f8]
push eax
push ecx
mov dword [0x406040], edx
call ebx
mov ecx, dword [0x4062a4]
mov dword [0x406028], 0x4d78
mov eax, 0xf2924e9
imul ecx
mov ecx, dword [0x407220]
sar edx, 0xa
mov eax, edx
lea esi, [ecx + 1]
mov ecx, dword [0x4060e0]
push esi
shr eax, 0x1f
add edx, eax
mov eax, 0x82082083
mov dword [0x4060e8], edx
imul ecx
add edx, ecx
mov ecx, dword [0x40befc]
sar edx, 6
mov eax, edx
push 0
shr eax, 0x1f
add edx, eax
push ecx
mov dword [0x4060e0], edx
call dword [0x40bec4]
mov edi, eax
test edi, edi
mov dword [ebp - 4], edi
je 0x403d14
mov edx, dword [0x406894]
mov eax, dword [0x40692c]
dec esi
push edx
push eax
mov dword [ebp - 0xc], esi
call ebx
mov ecx, esi
mov esi, str.7hN_
mov edx, ecx
mov eax, 0x94f2095
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [0x406198]
mov esi, dword [ebp - 0xc]
imul ecx
mov ecx, dword [0x406204]
mov edi, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0xdd67c8a7
mov dword [0x406198], edx
imul ecx
add edx, ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov ecx, dword [0x406068]
mov dword [0x406204], edx
mov edx, dword [ebp - 4]
add ecx, 0xffffaac2
movsx eax, byte [edx]
mov dword [ebp - 8], eax
mov dword [0x4060b8], ecx
mov ecx, dword [0x4060a4]
sub edi, eax
mov eax, 0xea0ea0eb
dec edi
imul ecx
add edx, ecx
mov ecx, dword [0x4068bc]
sar edx, 6
mov eax, edx
push ecx
shr eax, 0x1f
add edx, eax
mov dword [0x4060a4], edx
mov edx, dword [0x4068b4]
push edx
call ebx
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 8]
push eax
lea eax, [ebp - 0x164]
lea edx, [ecx + edi + 1]
push edx
push eax
call fcn.004031f0
mov eax, dword [0x40625c]
mov ecx, 0x2728
cdq
idiv ecx
push edi
mov dword [0x4061e8], edx
mov edx, dword [ebp - 4]
lea eax, [edx + 1]
mov dword [ebp - 8], eax
push eax
lea eax, [ebp - 0x164]
push eax
call fcn.004032f0
add esp, 0x18
push 0
push 0x5ab8
push 0x8a
mov ecx, dword [0x4069b4]
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
mov edx, dword [0x40695c]
mov eax, dword [0x406960]
push edx
push eax
call ebx
mov ecx, dword [0x406984]
push 0x3817
push 0x2db8
push 0x21f5
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov edx, dword [0x406874]
mov eax, dword [0x406a3c]
push edx
push eax
call ebx
mov ecx, dword [0x406a80]
push 0
push 0x1c59
push 0x89
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
lea eax, [esi + esi*2]
mov ecx, dword [0x40befc]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea edx, [eax + eax*4]
mov eax, 0x51eb851f
lea esi, [esi + edx*4]
imul esi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push 0
push ecx
call dword [0x40bec4]
mov esi, eax
test esi, esi
mov dword [ebp - 0xc], esi
je 0x403d14
mov edx, dword [ebp - 8]
push 0
push edi
push esi
push edx
call fcn.00403560
mov ecx, dword [0x4061fc]
mov edi, eax
mov eax, 0x51eb851f
add esp, 0x10
imul ecx
mov ecx, dword [0x40befc]
inc edi
sar edx, 4
mov eax, edx
push edi
shr eax, 0x1f
add edx, eax
push 0
push ecx
mov dword [section..data], 0x274f
mov dword [0x4061fc], edx
call dword [0x40bec4]
test eax, eax
mov dword [ebp - 8], eax
jne 0x403d43
mov eax, dword [0x406304]
mov ecx, dword [0x406918]
mov edx, eax
push ecx
shl edx, 7
sub edx, eax
lea eax, [eax + edx*4]
mov edx, dword [0x406980]
push edx
lea eax, [eax + eax*8]
shl eax, 2
mov dword [0x406080], eax
call ebx
jmp 0x404142
mov ecx, dword [0x4060d4]
add ecx, 0x144b
mov dword [0x4062c4], ecx
lea ecx, [edi - 1]
mov edx, ecx
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0xc]
mov ecx, edx
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [0x40befc]
push 0
push ecx
mov dword [0x4060fc], 0x4b7a
call dword [0x40bec8]
mov ecx, dword [0x4062dc]
mov eax, 0x60606061
imul ecx
mov ecx, dword [ebp - 4]
sar edx, 5
mov eax, edx
push ecx
shr eax, 0x1f
add edx, eax
push 0
mov dword [0x4062dc], edx
mov edx, dword [0x40befc]
push edx
call dword [0x40bec8]
mov eax, dword [0x4068f8]
push 0x41a0
push 0x398
push 0x6015
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [0x4060b4]
mov eax, 0x291cd123
imul ecx
sar edx, 0xc
mov ecx, edx
mov eax, 0x48b4ea2b
shr ecx, 0x1f
add edx, ecx
mov ecx, dword [0x406080]
mov dword [0x4062d8], edx
imul ecx
mov ecx, dword [0x406a34]
mov esi, dword [sym.imp.USER32.dll_SetTimer]
sar edx, 0xb
mov eax, edx
push 0
shr eax, 0x1f
push 0x6ea1
add edx, eax
push 0xf6
push ecx
mov dword [str.h_], edx
call esi
mov ecx, dword [str.a_rM4]
mov eax, 0x634c0635
imul ecx
sar edx, 6
mov ecx, dword [0x40698c]
mov eax, edx
shr eax, 0x1f
add edx, eax
push ecx
mov dword [str.a_rM4], edx
mov edx, dword [0x406a68]
push edx
mov dword [0x4061cc], 0x62c6
mov dword [0x406280], 0x1bb1
call ebx
mov eax, dword [0x406134]
mov ecx, dword [0x4068fc]
add eax, 0xfffff434
mov dword [0x4060d0], 0x36b8
mov dword [str.h_fL], eax
mov edx, dword [0x40689c]
push ecx
push edx
call ebx
mov eax, dword [0x406954]
mov ecx, dword [0x406a70]
push eax
push ecx
call ebx
mov edx, dword [0x406a24]
mov ecx, 0x11
xor eax, eax
lea edi, [ebp - 0x60]
rep stosd dword es:[edi], eax
mov eax, dword [0x4068e8]
push edx
push eax
call ebx
mov ecx, dword [0x4068f0]
push 0
push 0x1d12
push 0xd0
push ecx
mov dword [ebp - 0x60], 0x44
call esi
mov eax, dword [0x406338]
mov ecx, 0x44f2
cdq
idiv ecx
mov esi, dword [ebp - 8]
mov dword [ebp - 0x534], 0x10007
mov dword [0x40beb0], esi
mov dword [0x4061a4], edx
mov edx, dword [0x40601c]
add edx, 0xffffe6bb
mov dword [0x406018], edx
cmp word [esi], 0x5a4d
jne 0x404142
mov edx, dword [0x406134]
mov eax, 0x7a44c6b
imul edx
mov ecx, dword [esi + 0x3c]
sar edx, 2
mov eax, edx
add ecx, esi
shr eax, 0x1f
add edx, eax
mov dword [0x40beb4], ecx
mov dword [0x406134], edx
mov eax, dword [ecx]
cmp eax, 0x4550
jne 0x404142
lea ecx, [ebp - 0x1c]
lea edx, [ebp - 0x60]
push ecx
push edx
push 0
push 0
push 4
push 0
push 0
push 0
call dword [0x40bebc]
push eax
lea eax, [ebp - 0x268]
push eax
call dword [0x40bedc]
mov ecx, dword [0x406164]
mov edx, dword [0x40beb4]
add ecx, 0xffffd546
mov dword [0x40617c], ecx
mov eax, dword [edx + 0x34]
mov ecx, dword [ebp - 0x1c]
push eax
push ecx
call dword [0x40bee0]
mov eax, dword [0x406268]
mov ecx, 0x4469
cdq
idiv ecx
mov eax, dword [0x40beb4]
mov ecx, dword [ebp - 0x1c]
push 0x40
push 0x3000
mov dword [0x40601c], edx
mov edx, dword [eax + 0x50]
mov eax, dword [eax + 0x34]
push edx
push eax
push ecx
call dword [0x40bee4]
mov ecx, dword [0x406220]
push 0
lea eax, [ecx + ecx*4]
shl eax, 4
sub eax, ecx
lea eax, [eax + eax*4]
lea edx, [eax + eax*4]
lea eax, [ecx + edx*4]
shl eax, 1
mov dword [0x4061d4], eax
mov eax, dword [0x40beb4]
mov ecx, dword [eax + 0x54]
mov edx, dword [eax + 0x34]
mov eax, dword [ebp - 0x1c]
push ecx
push esi
push edx
push eax
call dword [0x40bee8]
mov ecx, dword [0x40beb4]
xor edi, edi
mov dword [0x4062f8], 0x13ba
cmp word [ecx + 6], di
jbe 0x4040ab
mov dword [ebp - 4], edi
mov edx, dword [0x40beb0]
push 0
mov eax, dword [edx + 0x3c]
mov edx, dword [ebp - 4]
add eax, edx
mov edx, dword [0x406004]
imul edx, edx, 0x137e
lea eax, [eax + esi + 0xf8]
mov dword [0x40600c], edx
mov dword [0x40beb8], eax
mov edx, dword [eax + 0x10]
push edx
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
add edx, esi
push edx
mov edx, dword [ecx + 0x34]
mov ecx, dword [ebp - 0x1c]
add eax, edx
push eax
push ecx
call dword [0x40bee8]
mov ecx, dword [0x406188]
mov eax, 0xac60cb5b
imul ecx
add edx, ecx
mov ecx, dword [ebp - 4]
sar edx, 0xe
mov eax, edx
add ecx, 0x28
shr eax, 0x1f
add edx, eax
mov dword [ebp - 4], ecx
mov ecx, dword [0x40beb4]
mov dword [0x406050], edx
xor edx, edx
inc edi
mov dx, word [ecx + 6]
cmp edi, edx
jl 0x404023
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x534]
push eax
push ecx
call dword [0x40beec]
mov edx, dword [0x4068e0]
mov eax, dword [0x4069f4]
push edx
push eax
call ebx
mov eax, dword [0x40beb4]
mov edx, dword [0x4069b8]
push edx
mov ecx, dword [eax + 0x34]
mov edi, dword [eax + 0x28]
mov eax, dword [0x406a54]
add ecx, edi
push eax
mov dword [ebp - 0x484], ecx
call ebx
mov edx, dword [ebp - 0x18]
lea ecx, [ebp - 0x534]
push ecx
push edx
call dword [0x40bef0]
mov ecx, dword [0x406114]
mov eax, 0x7e07e07f
imul ecx
mov ecx, dword [ebp - 0x18]
sar edx, 6
mov eax, edx
push ecx
shr eax, 0x1f
add edx, eax
mov dword [0x406114], edx
call dword [0x40bef4]
mov ecx, dword [0x40625c]
mov eax, 0x214d0215
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [0x40625c], edx
mov ecx, dword [0x4061e8]
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 2
mov ecx, edx
pop edi
shr ecx, 0x1f
add edx, ecx
pop esi
mov dword [0x4061e8], edx
mov edx, dword [0x4061ac]
add edx, 0x308
xor eax, eax
mov dword [0x4062d8], edx
pop ebx
mov esp, ebp
pop ebp
ret
int3