Function at 0x408126
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x54ab55
mov eax, dword fs:[0]
push eax
sub esp, 0x80
mov eax, dword [0x59de90]
xor eax, ebp
mov dword [ebp - 0x34], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
movzx ecx, word [ecx + 0x14]
lea eax, [eax + ecx + 0x18]
mov dword [ebp - 0x14], eax
and dword [ebp - 0x10], 0
jmp 0x40817c
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x14]
add eax, 0x28
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
movzx eax, word [eax + 6]
cmp dword [ebp - 0x10], eax
jge 0x4083fe
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x24]
and eax, 0x20000000
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x24]
and eax, 0x40000000
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x24]
and eax, 0x80000000
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x24]
and eax, 0x2000000
je 0x4081f3
push 0x4000
mov eax, dword [ebp - 0x14]
push dword [eax + 0x10]
mov eax, dword [ebp - 0x14]
push dword [eax + 8]
call dword [sym.imp.KERNEL32.dll_VirtualFree]
jmp 0x40816c
mov eax, dword [ebp - 0x20]
shl eax, 4
mov ecx, dword [ebp - 0x28]
lea eax, [eax + ecx*8 + 0x59f294]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x24]
and eax, 0x4000000
je 0x408224
mov eax, dword [ebp - 0x24]
or eax, 0x200
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jne 0x408263
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x24]
and eax, 0x40
je 0x40824b
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x2c], eax
jmp 0x408263
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x24]
and eax, 0x80
je 0x408263
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x2c], eax
push 0
call fcn.0040b550
pop ecx
push eax
call fcn.00525f68
pop ecx
call fcn.00525f7a
add eax, 0x24
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
and eax, 0x80000001
jns 0x40828c
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x408299
mov eax, dword [ebp - 0x30]
add eax, 0x3a
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0x8c]
call fcn.00401b3b
and dword [ebp - 4], 0
push 0x578090
lea ecx, [ebp - 0x8c]
call fcn.00401547
push 0x5d
lea ecx, [ebp - 0x8c]
call fcn.00404a3d
push 0x5d
lea ecx, [ebp - 0x8c]
call fcn.00404a3d
push 0x45
lea ecx, [ebp - 0x8c]
call fcn.00404a3d
push 0x41
lea ecx, [ebp - 0x8c]
call fcn.00404a3d
push 0x4d
lea ecx, [ebp - 0x8c]
call fcn.00404a3d
push 0x49
lea ecx, [ebp - 0x8c]
call fcn.00404a3d
push 0x39
lea ecx, [ebp - 0x8c]
call fcn.00404a3d
push 0x35
lea ecx, [ebp - 0x8c]
call fcn.00404a3d
push 0x4d
lea ecx, [ebp - 0x8c]
call fcn.00404a3d
push 0x3d
lea ecx, [ebp - 0x8c]
call fcn.00404a3d
push 0x4d
lea ecx, [ebp - 0x8c]
call fcn.00404a3d
push 0x39
lea ecx, [ebp - 0x8c]
call fcn.00404a3d
push 0x39
lea ecx, [ebp - 0x8c]
call fcn.00404a3d
push 0x5d
lea ecx, [ebp - 0x8c]
call fcn.00404a3d
push 0x45
lea ecx, [ebp - 0x8c]
call fcn.00404a3d
lea ecx, [ebp - 0x8c]
call fcn.00401c04
push eax
push 0x578094
call fcn.00525eab
pop ecx
pop ecx
push 8
lea eax, [ebp - 0x70]
push eax
push dword [ebp - 0x30]
call fcn.0053e158
add esp, 0xc
push 0x32
lea ecx, [ebp - 0x8c]
call fcn.00404a3d
lea ecx, [ebp - 0x8c]
call fcn.00401c04
push eax
lea eax, [ebp - 0x70]
push eax
push 0x578098
call fcn.00525eab
add esp, 0xc
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x8c]
call fcn.00401be7
cmp dword [ebp - 0x2c], 0
jbe 0x4083f9
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x24]
push dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
push dword [eax + 8]
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
jmp 0x40816c
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x34]
xor ecx, ebp
call fcn.00524b49
leave
ret