Function at 0x405f9a
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xd0
mov esi, dword [esp + 0xe4]
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov dword [esp + 0x3c], eax
lea eax, [esi + 0x34c]
push eax
call dword [esi + 0x38]
mov ecx, dword [eax + 0x3c]
lea edx, [ecx + eax]
mov dword [esp + 0x38], eax
movzx eax, word [ecx + eax + 0x14]
mov dword [esp + 0x34], edx
lea eax, [eax + edx + 0x18]
mov dword [esp + 0x24], eax
lea eax, [esi + 0x36c]
mov dword [esp + 0x30], eax
mov eax, 0xfdd5f9e
xor ebp, ebp
xor ebx, ebx
inc ebx
mov edi, 0x504ffa37
mov dword [esp + 4], ecx
cmp eax, 0xfdd5f9d
jle 0x406060
cmp eax, 0x5861b17e
jg 0x4060bc
cmp eax, 0x34c15d95
jle 0x406157
cmp eax, 0x4aa4ea3e
jle 0x406243
cmp eax, 0x504ffa36
jg 0x40641a
cmp eax, 0x4aa4ea3f
je 0x4064cd
cmp eax, 0x4bf8ce2f
jne 0x405ffa
mov eax, dword [esp + 0x10]
push dword [eax]
push dword [esp + 0xe8]
call fcn.0040676e
add esp, 8
test eax, eax
mov eax, 0x9b059460
jmp 0x40664c
cmp eax, 0xc8af2a09
jg 0x406112
cmp eax, 0xaf90c0d4
jle 0x406192
cmp eax, 0xc1698c3f
jle 0x406286
cmp eax, 0xc7589539
jg 0x406442
cmp eax, 0xc1698c40
je 0x4064d7
cmp eax, 0xc6ffb8b6
jne 0x405ffa
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x18], 0
mov eax, 0xc1698c40
mov ecx, 0xb587819
cmove eax, ecx
jmp 0x405ffa
cmp eax, 0x74edc724
jle 0x4061d5
cmp eax, 0x77609acb
jle 0x4062d6
cmp eax, 0x7b95db34
jg 0x406463
cmp eax, 0x77609acc
je 0x4064e5
cmp eax, 0x7a78c094
jne 0x405ffa
cmp dword [esp + 0x18], 0
mov eax, 0xc8c34694
mov ecx, 0x2e87c198
cmove eax, ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0x10], ecx
jmp 0x405ffa
cmp eax, 0xf193d599
jle 0x40620c
cmp eax, 0x959c430
jle 0x40632d
cmp eax, 0xc6ce666
jle 0x4064ac
cmp eax, 0xc6ce667
je 0x406506
cmp eax, 0xe54efd4
jne 0x405ffa
cmp byte [esi + ebp], 0x3b
mov eax, 0x34c15d96
jmp 0x406543
cmp eax, 0x2e87c197
jg 0x406358
cmp eax, 0xfdd5f9e
je 0x40651e
cmp eax, 0x108b63ce
je 0x40653a
cmp eax, 0x270731be
jne 0x405ffa
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
jmp 0x406634
cmp eax, 0x9b05945f
jg 0x40638f
cmp eax, 0x8ad04c14
je 0x406553
cmp eax, 0x8e08d0ad
je 0x406569
cmp eax, 0x957b8d95
jne 0x405ffa
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0xc]
mov dword [ecx], eax
mov eax, 0x598cf67a
jmp 0x405ffa
cmp eax, 0x68ba029a
jg 0x4063ba
cmp eax, 0x5861b17f
je 0x406583
cmp eax, 0x598cf67a
je 0x406498
cmp eax, 0x649a312e
jne 0x405ffa
inc ebp
mov eax, 0x8ad04c14
jmp 0x405ffa
cmp eax, 0xdb065957
jg 0x4063ef
cmp eax, 0xc8af2a0a
je 0x406594
cmp eax, 0xc8c34694
je 0x4065aa
cmp eax, 0xcc0f133a
jne 0x405ffa
inc ebp
mov eax, 0xfdd5f9e
jmp 0x405ffa
cmp eax, 0x34c15d96
je 0x406747
cmp eax, 0x400aeb92
je 0x4065bc
cmp eax, 0x404d727f
jne 0x405ffa
push dword [esp + 0xe8]
push dword [esp + 0x24]
mov eax, dword [esp + 0xec]
call dword [eax + 0xe8]
mov eax, 0xde1867be
jmp 0x405ffa
cmp eax, 0xaf90c0d5
je 0x4065d3
cmp eax, 0xbafcb7d5
je 0x4065dd
cmp eax, 0xbd397773
jne 0x405ffa
lea eax, [ebp*4]
add eax, ebp
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + eax*8]
mov ecx, dword [esp + 0xe4]
cmp eax, dword [ecx + 0x344]
mov eax, 0x4aa4ea3f
mov ecx, 0x7b95db35
cmove eax, ecx
jmp 0x405ffa
cmp eax, 0x74edc725
je 0x4064a2
cmp eax, 0x76d1f5c9
je 0x406617
cmp eax, 0x7742891a
jne 0x405ffa
add esi, ebp
inc esi
mov byte [esp + ebp + 0x50], 0
lea eax, [esp + 0x50]
push eax
mov eax, dword [esp + 0x18]
push dword [eax + 0x18]
mov eax, dword [esp + 0xec]
call dword [eax + 0x34]
mov dword [esp + 8], eax
test eax, eax
mov eax, 0x76d1f5c9
mov ecx, 0x74edc725
cmove eax, ecx
jmp 0x405ffa
cmp eax, 0xf193d59a
je 0x40662e
cmp eax, 0xf8fee449
je 0x406498
cmp eax, 0x7a7221b
jne 0x405ffa
mov eax, 0xc75d0155
jmp 0x405ffa
cmp eax, 0x2e87c198
je 0x406642
cmp eax, 0x31674bdb
je 0x406659
cmp eax, 0x33d7efbd
jne 0x405ffa
cmp byte [esi + ebp], 0x70
mov eax, 0x5861b17f
mov ecx, 0x6fba3a28
cmove eax, ecx
jmp 0x405ffa
cmp eax, 0x9b059460
je 0x406664
cmp eax, 0x9c980515
je 0x406678
cmp eax, 0xaa954382
jne 0x405ffa
mov eax, 0x649a312e
jmp 0x405ffa
cmp eax, 0x68ba029b
je 0x4064a2
cmp eax, 0x6fba3a28
je 0x40668a
cmp eax, 0x732990bf
jne 0x405ffa
test ebp, ebp
mov eax, 0x7742891a
mov ecx, 0xaf90c0d5
cmove eax, ecx
jmp 0x405ffa
cmp eax, 0xdb065958
je 0x40669a
cmp eax, 0xde1867be
je 0x4066be
cmp eax, 0xee8eea0b
jne 0x405ffa
mov eax, 0xf193d59a
jmp 0x405ffa
cmp eax, 0x504ffa37
je 0x4066d8
cmp eax, 0x532a311c
jne 0x405ffa
call dword [esp + 8]
mov dword [esp + 0xc], eax
mov eax, 0x400aeb92
jmp 0x405ffa
cmp eax, 0xc758953a
je 0x4066ef
cmp eax, 0xc75d0155
jne 0x405ffa
inc ebp
mov eax, 0x959c431
jmp 0x405ffa
cmp eax, 0x7b95db35
je 0x40670d
cmp eax, 0x7f64d716
jne 0x405ffa
cmp dword [esp + 0x18], 0
mov eax, 0x532a311c
mov ecx, 0x400aeb92
cmove eax, ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0xc], ecx
jmp 0x405ffa
mov eax, 0x68ba029b
jmp 0x405ffa
mov eax, 0xc6ce667
jmp 0x405ffa
cmp eax, 0x959c431
jne 0x40673b
cmp ebp, dword [esp + 0x2c]
mov eax, 0xde1867be
mov ecx, 0xdb065958
cmovb eax, ecx
jmp 0x405ffa
mov eax, 0xcc0f133a
jmp 0x405ffa
mov eax, 0xc6ce667
mov esi, dword [esp + 0x30]
jmp 0x405ffa
mov eax, dword [esp + 0xc]
push dword [eax]
push dword [esp + 0xe8]
call fcn.0040676e
add esp, 8
test eax, eax
mov eax, 0x957b8d95
jmp 0x4065c6
mov eax, 0x108b63ce
xor ebp, ebp
mov dword [esp + 0x18], 0
mov dword [esp + 0x28], ebx
jmp 0x405ffa
mov eax, dword [esp + 0x34]
movzx eax, word [eax + 6]
cmp ebp, eax
mov eax, 0x8e08d0ad
mov ecx, 0xbd397773
cmovb eax, ecx
jmp 0x405ffa
cmp byte [esi + ebp], 0
mov eax, 0xe54efd4
cmove eax, edi
mov dword [esp + 4], 0
jmp 0x405ffa
cmp ebp, dword [esp + 0x2c]
mov eax, 0x270731be
mov ecx, 0xc758953a
cmovb eax, ecx
jmp 0x405ffa
mov eax, dword [esp + 0xe4]
call dword [eax + 0x6c]
mov dword [esp + 0x44], eax
mov eax, 0x959c431
xor ebp, ebp
jmp 0x405ffa
mov al, byte [esi + ebp]
mov byte [esp + ebp + 0x50], al
mov eax, 0x31674bdb
jmp 0x405ffa
cmp byte [esi + ebp], 0x77
mov eax, 0x33d7efbd
mov ecx, 0x9c980515
cmove eax, ecx
jmp 0x405ffa
call dword [esp + 8]
mov dword [esp + 0x10], eax
mov eax, 0x2e87c198
jmp 0x405ffa
cmp dword [esp + 0xc], 0
mov eax, 0x77609acc
mov ecx, 0x598cf67a
cmove eax, ecx
jmp 0x405ffa
mov eax, 0xee8eea0b
jmp 0x405ffa
push 1
push dword [esp + 0x24]
lea edi, [esp + 0x50]
push edi
mov eax, dword [esp + 0xf0]
call dword [eax + 0xd8]
mov eax, dword [esp + 0x1c]
lea eax, [eax + ebp*4]
push 8
push edi
mov edi, 0x504ffa37
push eax
call fcn.00407f1a
add esp, 0xc
mov eax, 0x270731be
jmp 0x405ffa
cmp dword [esp + 0x28], 0
mov eax, 0x7a78c094
mov ecx, 0x7f64d716
cmove eax, ecx
jmp 0x405ffa
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov dword [esp + 0x14], eax
mov eax, 0xc6ffb8b6
jmp 0x405ffa
cmp dword [esp + 0x10], 0
mov eax, 0x4bf8ce2f
mov ecx, 0xf8fee449
cmove eax, ecx
jmp 0x405ffa
inc ebp
mov eax, 0x108b63ce
jmp 0x405ffa
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x10]
mov dword [ecx], eax
mov eax, 0xf8fee449
jmp 0x405ffa
mov eax, 0x33d7efbd
mov dword [esp + 0x28], 0
jmp 0x405ffa
mov eax, 0x5861b17f
mov ecx, ebx
mov dword [esp + 0x18], ebx
jmp 0x405ffa
mov eax, dword [esp + 0x1c]
lea eax, [eax + ebp*4]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x44]
cmp dword [eax + 4], ecx
mov eax, 0x7a7221b
mov ecx, 0x404d727f
cmove eax, ecx
jmp 0x405ffa
mov eax, dword [esp + 0xe4]
call dword [eax + 0x68]
mov dword [esp + 0x40], eax
mov eax, 0x8ad04c14
xor ebp, ebp
jmp 0x405ffa
test byte [esp + 4], 1
mov eax, 0x732990bf
mov ecx, 0xc8af2a0a
cmovne eax, ecx
jmp 0x405ffa
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x40]
cmp dword [eax + ebp*4 + 4], ecx
mov eax, 0xaa954382
mov ecx, 0xbafcb7d5
cmove eax, ecx
jmp 0x405ffa
lea eax, [ebp*4]
add eax, ebp
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + eax*8 + 0xc]
add edx, dword [esp + 0x38]
mov dword [esp + 0x1c], edx
mov eax, dword [ecx + eax*8 + 8]
shr eax, 2
mov dword [esp + 0x2c], eax
mov eax, 0x8e08d0ad
jmp 0x405ffa
cmp eax, 0xb587819
je 0x406760
jmp 0x405ffa
cmp ebp, 0x80
setb byte [esp + 3]
mov eax, 0x504ffa37
mov cl, byte [esp + 3]
jmp 0x405ff6
xor eax, eax
inc eax
add esp, 0xd0
pop esi
pop edi
pop ebx
pop ebp
ret