Function at 0x4037f0
Capabilities:
Enumerate pe sections
Link many functions at runtime
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x534
mov eax, dword [0x406004]
mov ecx, 0x1066
cdq
idiv ecx
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0x40b8f8
mov dword [0x40625c], 0x6b3a
mov dword [0x406254], edx
call esi
mov dword [0x40bef4], eax
mov eax, dword [0x406130]
cdq
mov ecx, 0x5b30
push 0x40bad4
idiv ecx
mov dword [0x406124], edx
call esi
mov edx, dword [0x40bef4]
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x40ba5c
push edx
mov dword [0x40bef8], eax
mov dword [0x4060d4], 0x530
call esi
mov ecx, dword [0x4062d4]
mov dword [0x40beb0], eax
mov eax, 0x2aaaaaab
push 0x40ba04
imul ecx
mov ecx, dword [0x40bef4]
sar edx, 1
mov eax, edx
push ecx
shr eax, 0x1f
add edx, eax
mov dword [0x4062d4], edx
call esi
mov ecx, dword [0x406290]
mov dword [0x40bed0], eax
mov eax, 0xdce47141
push 0x40b9a0
imul ecx
add edx, ecx
mov ecx, dword [0x40bef8]
sar edx, 0xc
mov eax, edx
push ecx
shr eax, 0x1f
add edx, eax
mov dword [str.A7G3], edx
call esi
mov edx, dword [0x406a04]
mov ebx, dword [sym.imp.USER32.dll_SetTimer]
push 0
push 0x3bf6
push 0x17
push edx
mov dword [0x40bed4], eax
call ebx
push str.VirtualAllocEx
push 0x40b950
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [0x40bef4]
add esp, 8
push 0x40b950
push eax
call esi
mov ecx, dword [0x406094]
mov dword [0x40bed8], eax
mov eax, 0x939a85c5
push 0x40b8b0
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov dword [0x406094], edx
mov edx, dword [0x40bef4]
push edx
call esi
mov ecx, dword [0x40600c]
mov dword [0x40bedc], eax
mov eax, 0x722176f
push 0x40b840
imul ecx
mov ecx, dword [0x40bef4]
sar edx, 9
mov eax, edx
push ecx
shr eax, 0x1f
add edx, eax
mov dword [0x4060ec], edx
call esi
mov edx, dword [0x40bef4]
push 0x40b7d0
push edx
mov dword [0x40bee0], eax
mov dword [0x406204], 0xedc
call esi
mov dword [0x40bee4], eax
mov eax, dword [0x40bef4]
push 0x40b768
push eax
mov dword [0x406058], 0x6ab0
call esi
mov ecx, dword [0x4062bc]
mov edx, dword [0x40bef4]
add ecx, 0x654
push 0x40b798
push edx
mov dword [0x40bee8], eax
mov dword [0x40609c], ecx
call esi
mov ecx, dword [0x4061b0]
mov dword [0x40beb4], eax
mov eax, 0x1ae3aa9b
push 0x40b744
imul ecx
mov ecx, dword [0x40bef4]
sar edx, 0xa
mov eax, edx
push ecx
shr eax, 0x1f
add edx, eax
mov dword [0x4062e4], edx
call esi
mov edx, dword [0x40bef4]
push 0x40b6e4
push edx
mov dword [0x40beb8], eax
mov dword [0x406144], 0x5d82
call esi
mov ecx, dword [str.I_I]
mov dword [0x40bebc], eax
mov eax, ecx
mov edx, dword [0x40bef4]
shl eax, 6
sub eax, ecx
push 0x40b68c
push edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2]
lea eax, [eax + eax*2]
lea ecx, [eax + eax*4]
mov dword [0x4062d8], ecx
call esi
mov ecx, dword [0x40beb0]
mov dword [0x40beec], eax
test ecx, ecx
mov dword [0x406218], 0x7e57
je 0x4041fd
mov ecx, dword [0x40bed0]
test ecx, ecx
je 0x4041fd
mov ecx, dword [0x40bed4]
test ecx, ecx
je 0x4041fd
mov ecx, dword [0x40bed8]
test ecx, ecx
je 0x4041fd
mov ecx, dword [0x40bedc]
test ecx, ecx
je 0x4041fd
mov ecx, dword [0x40bee0]
test ecx, ecx
je 0x4041fd
mov ecx, dword [0x40bee4]
test ecx, ecx
je 0x4041fd
mov ecx, dword [0x40bee8]
test ecx, ecx
je 0x4041fd
mov esi, dword [0x40beb4]
test esi, esi
je 0x4041fd
mov ecx, dword [0x40beb8]
test ecx, ecx
je 0x4041fd
mov ecx, dword [0x40bebc]
test ecx, ecx
je 0x4041fd
test eax, eax
je 0x4041fd
mov ecx, dword [0x4062d8]
mov eax, 0x84210843
imul ecx
add edx, ecx
push edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [0x4062d8], edx
call esi
lea ecx, [ebp - 0x268]
push 0x104
push ecx
push 0
mov dword [0x40bef0], eax
mov dword [0x406078], 0x1ab4
call dword [0x40beec]
mov edx, dword [0x406a30]
push 0
push 0x21c3
push 0xdf
push edx
call ebx
mov eax, dword [0x406a28]
mov edi, dword [sym.imp.USER32.dll_FlashWindow]
push 1
push eax
mov dword [0x406300], 0x2fdd
call edi
mov ecx, dword [0x4060b8]
mov eax, 0x3949660b
add ecx, 0xffffb9e7
push 0
mov dword [0x40618c], ecx
mov ecx, dword [0x4062b0]
imul ecx
sar edx, 5
mov ecx, dword [0x406290]
mov eax, edx
shr eax, 0x1f
add edx, eax
push 0x1392
mov dword [0x4062b0], edx
mov edx, dword [0x4069fc]
add ecx, 0x2999
push 0x15
push edx
mov dword [0x406154], ecx
call ebx
mov eax, dword [0x406a10]
push 1
push eax
call edi
mov ecx, dword [0x406a58]
push 0
push 0x38c3
push 0x79
push ecx
mov dword [0x406128], 0x53f4
call ebx
mov edx, dword [0x406a14]
push 1
push edx
call edi
mov eax, dword [0x4062a0]
mov ecx, 0x4621
cdq
idiv ecx
push 0
push 0x151c
push 0xa3
mov dword [0x406078], edx
mov edx, dword [0x406a94]
push edx
call ebx
mov eax, dword [0x4060e0]
mov ecx, dword [0x4071d8]
add eax, 0x17e6
mov dword [0x4062a8], eax
lea esi, [ecx + 1]
mov edx, dword [0x406300]
mov eax, dword [0x40bef0]
push esi
add edx, 0x112f
push 0
push eax
mov dword [0x406180], edx
call dword [0x40beb8]
test eax, eax
mov dword [ebp - 4], eax
je 0x403e13
mov edx, dword [0x406144]
dec esi
mov dword [ebp - 8], esi
mov edi, eax
lea ecx, [edx + edx*8]
push 0
shl ecx, 6
sub ecx, edx
push 0x7850
push 0xb5
lea ecx, [ecx + ecx*8]
shl ecx, 2
sub ecx, edx
mov dword [str.6K_f__tM3Z], ecx
mov ecx, esi
mov edx, ecx
mov esi, 0x4071dc
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 [0x4060d8]
mov ecx, 0x368e
cdq
idiv ecx
mov ecx, dword [0x406a3c]
mov dword [0x406168], 0x33b9
push ecx
mov dword [0x4061e4], edx
mov edx, dword [ebp - 4]
movsx eax, byte [edx]
mov dword [ebp - 0xc], eax
call ebx
mov esi, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [0x406188]
mov edi, esi
sub edi, edx
mov ecx, 0x6d01
cdq
idiv ecx
mov eax, dword [ebp - 4]
dec edi
mov dword [0x4062b4], 0x5e78
lea ecx, [eax + edi + 1]
mov dword [0x406344], edx
mov edx, dword [ebp - 0xc]
push edx
lea edx, [ebp - 0x164]
push ecx
push edx
call fcn.004032b0
mov eax, dword [0x406a24]
add esp, 0xc
push 0
push 0x144d
push 0x92
push eax
call ebx
mov ecx, dword [ebp - 4]
push edi
lea edx, [ebp - 0x164]
lea eax, [ecx + 1]
push eax
push edx
mov dword [ebp - 8], eax
call fcn.004033f0
mov eax, dword [0x406ab4]
add esp, 0xc
push 0
push 0x2666
push 0xdf
push eax
call ebx
mov ecx, dword [0x406a4c]
push 1
push ecx
mov dword [0x406024], 0x3de5
call dword [sym.imp.USER32.dll_FlashWindow]
mov dword [0x406024], 0x22b9
mov ecx, dword [str.c_SY]
mov eax, 0xc2c6a0af
imul ecx
add edx, ecx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [esi + esi*2]
mov dword [0x40635c], edx
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
mov eax, 0x51eb851f
lea esi, [esi + ecx*4]
mov ecx, dword [0x40bef0]
imul esi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push 0
push ecx
call dword [0x40beb8]
mov esi, eax
test esi, esi
mov dword [ebp - 0xc], esi
je 0x403e0d
mov edx, dword [ebp - 8]
push 0
push edi
push esi
push edx
call fcn.00403660
add esp, 0x10
mov edi, eax
mov eax, dword [0x406a0c]
push 1
push eax
call dword [sym.imp.USER32.dll_FlashWindow]
mov ecx, dword [0x40bef0]
inc edi
push edi
push 0
push ecx
mov dword [0x4063e8], 0x769a
call dword [0x40beb8]
test eax, eax
mov dword [ebp - 8], eax
jne 0x403e37
mov edi, dword [sym.imp.USER32.dll_FlashWindow]
mov edx, dword [0x406ab4]
push 0
push 0xfff
push 0xd6
push edx
call ebx
mov eax, dword [0x406a30]
push 1
push eax
call edi
jmp 0x4041df
mov ecx, dword [str.B]
push 0
add ecx, 0x5a7e
push 0x6b73
mov dword [0x406348], ecx
lea ecx, [edi - 1]
mov edx, ecx
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push 0x4f
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [0x406a34]
push eax
call ebx
mov ecx, dword [ebp - 0xc]
mov edx, dword [0x40bef0]
push ecx
push 0
push edx
call dword [0x40bebc]
mov ecx, dword [0x406134]
mov eax, 0x3065235d
imul ecx
mov ecx, dword [ebp - 4]
sar edx, 0xc
mov eax, edx
push ecx
shr eax, 0x1f
add edx, eax
push 0
mov dword [0x4062bc], edx
mov edx, dword [0x40bef0]
push edx
call dword [0x40bebc]
mov eax, dword [0x406a64]
push 0
push 0x6344
push 8
push eax
call ebx
mov ecx, dword [0x406a3c]
push 0
push 0x15d6
push 0x73
push ecx
call ebx
mov edx, dword [0x406a78]
mov esi, dword [sym.imp.USER32.dll_FlashWindow]
push 1
push edx
call esi
mov eax, dword [0x4061a0]
mov ecx, 0x68fc
add eax, 0x24aa
push 0
mov dword [0x40be94], eax
mov eax, dword [0x40600c]
cdq
idiv ecx
push 0x5bd5
push 0xfc
mov dword [0x406058], edx
mov edx, dword [0x4069ec]
push edx
call ebx
mov ecx, dword [0x4061a0]
mov eax, 0xb3115853
imul ecx
add edx, ecx
mov ecx, dword [0x406aa4]
sar edx, 0xe
mov eax, edx
push 1
shr eax, 0x1f
add edx, eax
push ecx
mov dword [0x4060fc], edx
call esi
mov edx, dword [0x406ad4]
push 1
push edx
mov dword [0x406404], 0x6a46
call esi
mov eax, dword [0x4061a4]
mov ecx, dword [0x406210]
mov edx, dword [0x406ac4]
add eax, 0x236d
add ecx, 0xfffff56b
mov dword [0x4060d8], eax
mov dword [0x4061c8], ecx
mov ecx, 0x11
xor eax, eax
lea edi, [ebp - 0x60]
push 1
push edx
rep stosd dword es:[edi], eax
mov dword [0x406350], 0x3a67
mov dword [ebp - 0x60], 0x44
call esi
mov ecx, dword [0x406208]
mov eax, 0x439c5dd3
imul ecx
mov esi, dword [ebp - 8]
mov dword [ebp - 0x534], 0x10007
sar edx, 0xd
mov eax, edx
mov dword [0x40bea4], esi
shr eax, 0x1f
add edx, eax
mov dword [0x406234], 0x51b1
mov dword [0x406274], edx
cmp word [esi], 0x5a4d
jne 0x4041d9
mov edx, dword [0x406344]
mov eax, 0x10624dd3
imul edx
mov ecx, dword [esi + 0x3c]
sar edx, 4
mov eax, edx
add ecx, esi
shr eax, 0x1f
add edx, eax
mov dword [0x40bea8], ecx
mov dword [0x406344], edx
mov eax, dword [ecx]
cmp eax, 0x4550
jne 0x4041d9
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 [0x40beb0]
push eax
lea eax, [ebp - 0x268]
push eax
call dword [0x40bed0]
mov eax, dword [0x406194]
lea ecx, [eax + eax*2]
shl ecx, 5
add ecx, eax
lea edx, [eax + ecx*8]
mov eax, dword [0x40bea8]
shl edx, 1
mov dword [0x406240], edx
mov ecx, dword [eax + 0x34]
mov edx, dword [ebp - 0x1c]
push ecx
push edx
call dword [0x40bed4]
mov eax, dword [0x406a50]
push 0
push 0x63ca
push 0x5d
push eax
call ebx
mov eax, dword [0x40bea8]
push 0x40
push 0x3000
mov ecx, dword [eax + 0x50]
mov edx, dword [eax + 0x34]
mov eax, dword [ebp - 0x1c]
push ecx
push edx
push eax
call dword [0x40bed8]
mov eax, dword [0x40bea8]
mov dword [0x406134], 0x69b6
push 0
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 [0x40bedc]
mov ecx, dword [0x40641c]
xor edi, edi
add ecx, 0xffffa25d
mov dword [0x4062e8], ecx
mov ecx, dword [0x40bea8]
cmp word [ecx + 6], di
jbe 0x404155
mov dword [ebp - 4], edi
mov edx, dword [0x40bea4]
push 0
mov eax, dword [edx + 0x3c]
mov edx, dword [ebp - 4]
add eax, edx
mov dword [0x406058], 0x11d5
lea eax, [eax + esi + 0xf8]
mov dword [0x40beac], 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 [0x40bedc]
mov edx, dword [0x406ac0]
push 0
push 0xa87
push 0x42
push edx
call ebx
mov eax, dword [ebp - 4]
mov ecx, dword [0x40bea8]
add eax, 0x28
inc edi
mov dword [ebp - 4], eax
xor eax, eax
mov ax, word [ecx + 6]
cmp edi, eax
jl 0x4040e6
mov edx, dword [ebp - 0x18]
lea ecx, [ebp - 0x534]
push ecx
push edx
call dword [0x40bee0]
mov eax, dword [0x406234]
mov edx, dword [0x406090]
add eax, 0x834
add edx, 0xffffb60f
mov dword [0x40614c], eax
mov eax, dword [0x40bea8]
mov ecx, dword [eax + 0x34]
mov edi, dword [eax + 0x28]
add ecx, edi
lea eax, [ebp - 0x534]
mov dword [ebp - 0x484], ecx
mov ecx, dword [ebp - 0x18]
push eax
push ecx
mov dword [0x4060f4], edx
call dword [0x40bee4]
mov edx, dword [0x406ad0]
push 0
push 0x73db
push 0x77
push edx
call ebx
mov eax, dword [ebp - 0x18]
push eax
call dword [0x40bee8]
mov ecx, dword [0x4061a4]
add ecx, 0xffff9a10
mov dword [0x40606c], ecx
mov edi, dword [sym.imp.USER32.dll_FlashWindow]
mov edx, dword [0x406a64]
push 1
push edx
call edi
pop edi
pop esi
mov dword [0x4062e0], 0x9e6
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
int3