Function at 0x4086d0
Capabilities:
Enumerate pe sections

Disassembly:
push 0xffffffffffffffff
push 0x460b90
mov eax, dword fs:[0]
push eax
sub esp, 0x28
push ebx
push ebp
push esi
push edi
mov eax, dword [0x46aee0]
xor eax, esp
push eax
lea eax, [esp + 0x3c]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
push 0
push 0
mov byte [esi + 0xaf04], 0
mov byte [esi + 0xaf0c], 0
mov byte [esi + 0x63a0], 0
call edx
mov ecx, esi
call fcn.00421c40
test al, al
je 0x408745
add esi, 0x1e
push esi
push 0xe40
call fcn.00440400
push eax
push esi
call fcn.00418100
add esp, 0xc
xor al, al
jmp 0x408bc6
mov eax, dword [esi]
mov edx, dword [eax + 4]
push 7
lea edi, [esi + 0x640c]
push edi
mov ecx, esi
call edx
cmp eax, 7
jne 0x40873e
mov dword [esi + 0xaf08], 0
cmp byte [edi], 0x52
jne 0x4087e6
mov al, byte [edi + 1]
cmp al, 0x45
jne 0x408785
cmp byte [edi + 2], 0x7e
jne 0x408785
cmp byte [edi + 3], 0x5e
jne 0x408785
mov eax, 1
jmp 0x4087c3
cmp al, 0x61
jne 0x4087e6
cmp byte [edi + 2], 0x72
jne 0x4087e6
cmp byte [edi + 3], 0x21
jne 0x4087e6
cmp byte [edi + 4], 0x1a
jne 0x4087e6
cmp byte [edi + 5], 7
jne 0x4087e6
mov al, byte [edi + 6]
test al, al
jne 0x4087af
mov eax, 2
jmp 0x4087c3
cmp al, 1
jne 0x4087ba
mov eax, 3
jmp 0x4087c3
cmp al, 2
jne 0x4087e6
mov eax, 4
mov dword [esi + 0xaef8], eax
cmp eax, 1
jne 0x408902
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
push 0
push 0
mov ecx, esi
call edx
jmp 0x408902
xor edi, edi
push 0x100000
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
call fcn.004076e0
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
mov ecx, esi
mov dword [esp + 0x44], edi
call edx
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
add ecx, 0xfffffff0
mov ebx, eax
mov eax, dword [esi]
mov eax, dword [eax + 4]
push ecx
push edx
mov ecx, esi
call eax
mov ebp, eax
test ebp, ebp
jle 0x4088cc
mov ecx, dword [esp + 0x1c]
cmp byte [ecx + edi], 0x52
lea eax, [ecx + edi]
jne 0x40888c
mov edx, ebp
sub edx, edi
push edx
push eax
mov ecx, esi
call fcn.004074a0
test eax, eax
je 0x40888c
mov dword [esi + 0xaef8], eax
cmp eax, 1
jne 0x408893
test edi, edi
jle 0x408893
cmp ebx, 0x1c
jge 0x408893
cmp ebp, 0x1f
jle 0x408893
mov eax, dword [esp + 0x1c]
sub eax, ebx
add eax, 0x1c
cmp byte [eax], 0x52
jne 0x40888c
cmp byte [eax + 1], 0x53
jne 0x40888c
cmp byte [eax + 2], 0x46
jne 0x40888c
cmp byte [eax + 3], 0x58
je 0x408893
inc edi
cmp edi, ebp
jl 0x408835
jmp 0x4088cc
mov edx, dword [esi]
push 0
lea eax, [edi + ebx]
push 0
mov dword [esi + 0xaf08], eax
push eax
mov eax, dword [edx + 8]
mov ecx, esi
call eax
mov eax, dword [esi + 0xaef8]
cmp eax, 2
je 0x4088ba
cmp eax, 3
jne 0x4088cc
mov edx, dword [esi]
push 7
lea eax, [esi + 0x640c]
push eax
mov eax, dword [edx + 4]
mov ecx, esi
call eax
cmp dword [esi + 0xaf08], 0
mov eax, dword [esp + 0x1c]
jne 0x4088ed
test eax, eax
je 0x4088e6
push eax
call fcn.00453634
add esp, 4
xor al, al
jmp 0x408bc6
mov dword [esp + 0x44], 0xffffffff
test eax, eax
je 0x408902
push eax
call fcn.00453634
add esp, 4
mov eax, dword [esi + 0xaef8]
cmp eax, 4
jne 0x40892b
push 0xd1a
call fcn.00440400
push eax
add esi, 0x1e
push esi
call fcn.00418100
add esp, 8
xor al, al
jmp 0x408bc6
cmp eax, 3
jne 0x408957
mov edx, dword [esi]
mov eax, dword [edx + 4]
push 1
lea edi, [esi + 0x6413]
push edi
mov ecx, esi
call eax
cmp byte [edi], 0
jne 0x40873e
mov dword [esi + 0x6414], 8
jmp 0x408961
mov dword [esi + 0x6414], 7
mov ecx, esi
call fcn.0040ea30
test eax, eax
je 0x40899d
mov edi, 1
cmp dword [esi + 0x5764], edi
je 0x40899d
mov eax, dword [esi + 0xaef4]
mov ecx, dword [esi + 0xaef0]
mov edx, dword [esi]
mov edx, dword [edx + 8]
push 0
push eax
push ecx
mov ecx, esi
call edx
mov ecx, esi
call fcn.0040ea30
test eax, eax
jne 0x408971
cmp byte [esi + 0xaf0d], 0
mov bl, byte [esp + 0x4c]
je 0x4089b2
test bl, bl
je 0x40873e
mov ecx, dword [esi + 0xaef4]
mov eax, dword [esi]
mov edx, dword [esi + 0xaef0]
mov eax, dword [eax + 8]
push 0
push ecx
push edx
mov ecx, esi
call eax
cmp byte [esi + 0xaf0c], 0
je 0x4089f3
push 0xd7c
call fcn.00440400
push eax
lea ecx, [esi + 0x1e]
push ecx
call fcn.00418100
add esp, 8
test bl, bl
je 0x40873e
cmp byte [esi + 0x6436], 0
mov dl, byte [esi + 0x6434]
mov byte [esi + 0xaefe], dl
je 0x408a4e
cmp dword [esi + 0x643c], 0
ja 0x408a1a
cmp dword [esi + 0x6438], 0
jbe 0x408a4e
mov eax, dword [esi + 0x5744]
cmp dword [eax + 0x2010], 0
je 0x408a4e
push 0
lea edi, [esi + 0x5780]
push esi
mov ecx, edi
call fcn.00434d40
mov ecx, dword [esi + 0x643c]
mov edx, dword [esi + 0x6438]
push ecx
push edx
mov ecx, edi
call fcn.004353e0
cmp byte [esi + 0x5768], 0
je 0x408a64
cmp byte [esi + 0xaf04], 0
jne 0x408b98
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
mov ecx, esi
mov dword [esp + 0x2c], esi
call edx
mov edi, eax
mov ebx, edx
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], ebx
mov ecx, dword [esi + 0xaef0]
mov eax, dword [esi + 0xaeec]
mov edx, dword [esi + 0xaef4]
mov ebp, dword [esi + 0xaee8]
mov dword [esp + 0x14], ecx
mov ecx, esi
mov dword [esp + 0x44], 1
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
call fcn.0040ea30
test eax, eax
je 0x408b5f
jmp 0x408ac0
mov eax, dword [esi + 0x5764]
cmp eax, 3
jne 0x408b42
mov ecx, 0x463544
lea eax, [esi + 0x87f0]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x408afc
test dx, dx
je 0x408af8
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x408afc
add eax, 4
add ecx, 4
test dx, dx
jne 0x408ad6
xor eax, eax
jmp 0x408b01
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x408b0c
mov byte [esi + 0xaefe], 1
cmp byte [esi + 0x9858], 0
mov ecx, dword [esi + 0xaef0]
mov edx, dword [esi]
mov edx, dword [edx + 8]
sete al
mov byte [esi + 0xaf01], al
mov eax, dword [esi + 0xaef4]
push 0
push eax
push ecx
mov ecx, esi
call edx
mov ecx, esi
call fcn.0040ea30
test eax, eax
jne 0x408ac0
jmp 0x408b5f
cmp eax, 2
jne 0x408b57
cmp byte [esi + 0x7518], 0
jne 0x408b57
mov eax, 1
jmp 0x408b59
xor eax, eax
mov byte [esi + 0xaf01], al
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push 0
mov dword [esi + 0xaef0], ecx
mov dword [esi + 0xaef4], edx
mov dword [esi + 0xaee8], ebp
mov dword [esi + 0xaeec], eax
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebx
push edi
mov ecx, esi
mov dword [esp + 0x50], 0xffffffff
call edx
cmp byte [esi + 0xaefd], 0
je 0x408baa
cmp byte [esi + 0xaf01], 0
je 0x408bc4
lea eax, [esi + 0x1e]
sub esi, eax
lea edx, [esi + 0xaf42]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x408bb5
mov al, 1
mov ecx, dword [esp + 0x3c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret 4