Function at 0x408620
Capabilities:
Enumerate pe sections

Disassembly:
push 0xffffffffffffffff
push 0x461130
mov eax, dword fs:[0]
push eax
sub esp, 0x28
push ebx
push ebp
push esi
push edi
mov eax, dword [0x46bee0]
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]
xor edi, edi
push edi
push edi
push edi
mov byte [esi + 0xaf0c], 0
mov byte [esi + 0xaf14], 0
mov byte [esi + 0x63a0], 0
call edx
mov ecx, esi
call fcn.004220d0
test al, al
je 0x408694
add esi, 0x1e
push esi
push 0xe40
call fcn.00440940
push eax
push esi
call fcn.004183e0
add esp, 0xc
xor al, al
jmp 0x408aa3
mov eax, dword [esi]
mov edx, dword [eax + 4]
push 7
lea ebx, [esi + 0x6410]
push ebx
mov ecx, esi
call edx
cmp eax, 7
jne 0x40868d
mov dword [esi + 0xaf10], edi
cmp byte [ebx], 0x52
jne 0x40872e
mov al, byte [ebx + 1]
cmp al, 0x45
jne 0x4086d0
cmp byte [ebx + 2], 0x7e
jne 0x4086d0
cmp byte [ebx + 3], 0x5e
jne 0x4086d0
mov eax, 1
jmp 0x40870e
cmp al, 0x61
jne 0x40872e
cmp byte [ebx + 2], 0x72
jne 0x40872e
cmp byte [ebx + 3], 0x21
jne 0x40872e
cmp byte [ebx + 4], 0x1a
jne 0x40872e
cmp byte [ebx + 5], 7
jne 0x40872e
mov al, byte [ebx + 6]
test al, al
jne 0x4086fa
mov eax, 2
jmp 0x40870e
cmp al, 1
jne 0x408705
mov eax, 3
jmp 0x40870e
cmp al, 2
jne 0x40872e
mov eax, 4
mov dword [esi + 0xaf00], eax
cmp eax, 1
jne 0x40884f
mov eax, dword [esi]
mov edx, dword [eax + 8]
push edi
push edi
push edi
mov ecx, esi
call edx
jmp 0x40884f
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.00407630
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 0x408817
jmp 0x408780
mov ecx, dword [esp + 0x1c]
cmp byte [ecx + edi], 0x52
lea eax, [ecx + edi]
jne 0x4087d7
mov edx, ebp
sub edx, edi
push edx
push eax
mov ecx, esi
call fcn.004073f0
test eax, eax
je 0x4087d7
mov dword [esi + 0xaf00], eax
cmp eax, 1
jne 0x4087de
test edi, edi
jle 0x4087de
cmp ebx, 0x1c
jge 0x4087de
cmp ebp, 0x1f
jle 0x4087de
mov eax, dword [esp + 0x1c]
sub eax, ebx
add eax, 0x1c
cmp byte [eax], 0x52
jne 0x4087d7
cmp byte [eax + 1], 0x53
jne 0x4087d7
cmp byte [eax + 2], 0x46
jne 0x4087d7
cmp byte [eax + 3], 0x58
je 0x4087de
inc edi
cmp edi, ebp
jl 0x408780
jmp 0x408817
mov edx, dword [esi]
push 0
lea eax, [edi + ebx]
push 0
mov dword [esi + 0xaf10], eax
push eax
mov eax, dword [edx + 8]
mov ecx, esi
call eax
mov eax, dword [esi + 0xaf00]
cmp eax, 2
je 0x408805
cmp eax, 3
jne 0x408817
mov edx, dword [esi]
push 7
lea eax, [esi + 0x6410]
push eax
mov eax, dword [edx + 4]
mov ecx, esi
call eax
cmp dword [esi + 0xaf10], 0
mov eax, dword [esp + 0x1c]
jne 0x408838
test eax, eax
je 0x408831
push eax
call fcn.00453bc4
add esp, 4
xor al, al
jmp 0x408aa3
mov dword [esp + 0x44], 0xffffffff
test eax, eax
je 0x40884d
push eax
call fcn.00453bc4
add esp, 4
xor edi, edi
mov eax, dword [esi + 0xaf00]
cmp eax, 4
jne 0x408878
push 0xd1a
call fcn.00440940
push eax
add esi, 0x1e
push esi
call fcn.004183e0
add esp, 8
xor al, al
jmp 0x408aa3
cmp eax, 3
jne 0x4088a6
mov edx, dword [esi]
mov eax, dword [edx + 4]
push 1
lea edi, [esi + 0x6417]
push edi
mov ecx, esi
call eax
cmp byte [edi], 0
jne 0x40868d
mov dword [esi + 0x6418], 8
xor edi, edi
jmp 0x4088b0
mov dword [esi + 0x6418], 7
mov ecx, esi
call fcn.0040ea40
test eax, eax
je 0x4088fc
jmp 0x4088c0
mov eax, dword [esi + 0x5764]
cmp eax, 1
je 0x4088fc
cmp byte [esi + 0x5768], 0
je 0x4088d9
cmp eax, 4
je 0x4088fc
mov eax, dword [esi + 0xaefc]
mov ecx, dword [esi + 0xaef8]
mov edx, dword [esi]
mov edx, dword [edx + 8]
push edi
push eax
push ecx
mov ecx, esi
call edx
mov ecx, esi
call fcn.0040ea40
test eax, eax
jne 0x4088c0
cmp byte [esi + 0xaf15], 0
mov bl, byte [esp + 0x4c]
je 0x408911
test bl, bl
je 0x40868d
mov ecx, dword [esi + 0xaefc]
mov eax, dword [esi]
mov edx, dword [esi + 0xaef8]
mov eax, dword [eax + 8]
push 0
push ecx
push edx
mov ecx, esi
call eax
cmp byte [esi + 0xaf14], 0
je 0x408952
push 0xd7c
call fcn.00440940
push eax
lea ecx, [esi + 0x1e]
push ecx
call fcn.004183e0
add esp, 8
test bl, bl
je 0x40868d
cmp byte [esi + 0x5768], 0
mov dl, byte [esi + 0x643c]
mov byte [esi + 0xaf06], dl
je 0x408974
cmp byte [esi + 0xaf0c], 0
jne 0x408a75
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 + 0xaef8]
mov eax, dword [esi + 0xaef4]
mov edx, dword [esi + 0xaefc]
mov ebp, dword [esi + 0xaef0]
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.0040ea40
test eax, eax
je 0x408a3c
mov eax, dword [esi + 0x5764]
cmp eax, 3
jne 0x408a16
cmp byte [esi + 0xaf05], 0
je 0x4089e8
cmp byte [esi + 0x9860], 0
jne 0x4089e8
mov eax, 1
jmp 0x4089ea
xor eax, eax
mov ecx, dword [esi + 0xaefc]
mov edx, dword [esi + 0xaef8]
push 0
mov byte [esi + 0xaf09], al
mov eax, dword [esi]
mov eax, dword [eax + 8]
push ecx
push edx
mov ecx, esi
call eax
mov ecx, esi
call fcn.0040ea40
test eax, eax
jne 0x4089c4
jmp 0x408a3c
cmp byte [esi + 0xaf05], 0
je 0x408a34
cmp eax, 2
jne 0x408a34
cmp byte [esi + 0x7520], 0
jne 0x408a34
mov eax, 1
jmp 0x408a36
xor eax, eax
mov byte [esi + 0xaf09], al
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
push 0
mov dword [esi + 0xaef4], ecx
mov dword [esi + 0xaefc], eax
mov dword [esi + 0xaef0], ebp
mov dword [esi + 0xaef8], edx
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebx
push edi
mov ecx, esi
mov dword [esp + 0x50], 0xffffffff
call eax
cmp byte [esi + 0xaf05], 0
je 0x408a87
cmp byte [esi + 0xaf09], 0
je 0x408aa1
lea eax, [esi + 0x1e]
sub esi, eax
lea edx, [esi + 0xaf4a]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x408a92
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