Function at 0x450ff0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x1c
push ebx
push esi
push edi
xor esi, esi
mov eax, dword [esp + 0x30]
push ebp
mov dword [esp + 0x10], esi
mov dword [esp + 0x1c], esi
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x18], esi
push edx
mov dword [esp + 0x18], ecx
xor ecx, ecx
mov cl, byte [eax + 6]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x24], ecx
mov ecx, dword [eax + 0x18]
lea eax, [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x38]
push edx
push eax
push ecx
call fcn.0045ef90
add esp, 0x14
test ax, ax
jne 0x451306
mov eax, dword [esp + 0x14]
push 0x3e
mov ecx, dword [esp + 0x34]
push 0x24
push eax
push ecx
call fcn.004aa140
mov dword [esp + 0x20], eax
add esp, 0x10
cmp eax, esi
je 0x4512f2
lea edi, [eax + 4]
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx]
mov dword [edi], eax
push 0x3e
mov edx, dword [ecx + 4]
mov dword [edi + 4], edx
mov ebx, dword [ecx + 8]
mov dword [edi + 8], ebx
mov eax, dword [ecx + 0xc]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x18]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x34]
push edx
push eax
push ecx
call fcn.004aa900
add esp, 0x10
mov dword [edi], eax
cmp eax, esi
je 0x4512f2
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 8]
test ah, 2
je 0x4510c7
push 1
and eax, 0xff
mov ecx, dword [esp + 0x34]
push 3
push eax
push ecx
call fcn.004b3930
add esp, 0x10
jmp 0x4510cc
and eax, 0xff
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0xc], eax
cmp dword [esp + 0x1c], 0
je 0x4512e8
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 4]
test eax, eax
je 0x4512e8
cmp eax, 0x3e8
jle 0x451101
mov ecx, dword [esp + 0x10]
or byte [ecx + 0x14], 0x20
jmp 0x451368
mov eax, dword [esp + 0x20]
push 0x3e
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x34]
lea eax, [eax*2 + 2]
push eax
push ecx
push edx
call fcn.004aa140
add esp, 0x10
mov esi, eax
test esi, esi
je 0x4512f2
mov eax, dword [esp + 0x1c]
push 0x3e
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x34]
lea eax, [eax*4 + 4]
push eax
push ecx
push edx
call fcn.004aa140
mov dword [esp + 0x28], eax
add esp, 0x10
test eax, eax
je 0x4512f2
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [eax + 4]
xor edi, edi
mov dword [ecx], edx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x28], 1
cmp dword [eax + 4], 1
jb 0x45120d
mov ebp, 4
mov edx, dword [esp + 0x10]
add edx, 0x16
lea ebx, [ebp + ecx]
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
push eax
push ebx
mov edx, dword [ecx + ebp + 8]
mov eax, dword [esp + 0x40]
push edx
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x40]
push ecx
mov eax, dword [esp + 0x40]
push edx
push eax
call fcn.00451400
add esp, 0x18
test ax, ax
jne 0x451306
mov eax, dword [ebx]
cmp dword [eax], 0
je 0x4511e4
mov ecx, dword [eax]
inc edi
and ecx, 0xff7fffff
add eax, 4
shr ecx, 0x17
inc word [ecx + esi]
cmp dword [eax], 0
jne 0x4511cc
mov eax, dword [esp + 0x20]
add eax, edi
inc eax
cmp eax, 0x400
ja 0x4512db
add ebp, 4
add ebx, 4
mov ecx, dword [esp + 0x1c]
inc dword [esp + 0x28]
mov eax, dword [esp + 0x28]
cmp dword [ecx + 4], eax
jae 0x451193
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
add eax, edi
push 0x3e
mov edx, dword [esp + 0x18]
lea eax, [eax*4 + 4]
push eax
mov dword [ecx + 0x1c], eax
mov eax, dword [esp + 0x38]
push edx
push eax
call fcn.004aa140
mov ecx, dword [esp + 0x20]
add esp, 0x10
mov edx, eax
mov dword [ecx + 0x18], eax
test edx, edx
je 0x4512f2
xor ebx, ebx
cmp dword [esp + 0x20], ebx
je 0x45127e
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
shl edi, 0x18
lea eax, [esi + eax*2]
xor ecx, ecx
mov ebp, edi
mov cx, word [eax]
inc ebx
or ebp, ecx
sub edi, 0x1000000
sub eax, 2
mov dword [edx + ebx*4 - 4], ebp
mov word [eax + 2], bx
add ebx, ecx
test edi, edi
jne 0x45125d
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
cmp eax, 1
jb 0x4512cc
add ecx, 4
mov dword [esp + 0x24], eax
mov eax, dword [ecx]
mov ebx, dword [eax]
test ebx, ebx
je 0x4512c3
xor edi, edi
mov eax, ebx
xor ebp, ebp
and eax, 0xff7fffff
and ebx, 0xffffff
shr eax, 0x17
add edi, 4
add eax, esi
mov bp, word [eax]
mov dword [edx + ebp*4], ebx
inc word [eax]
mov eax, dword [ecx]
mov ebx, dword [eax + edi]
test ebx, ebx
jne 0x45129a
add ecx, 4
dec dword [esp + 0x24]
jne 0x451290
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x18]
mov dword [ecx + 0x20], eax
jmp 0x451368
mov ecx, dword [esp + 0x10]
or byte [ecx + 0x14], 0x20
jmp 0x451368
mov ecx, dword [esp + 0x10]
or byte [ecx + 0x14], 0x40
jmp 0x451368
mov eax, dword [esp + 0x30]
push 0xffff9080
push 2
push eax
call fcn.004bda00
add esp, 0xc
cmp dword [esp + 0x10], 0
je 0x451368
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
test eax, eax
je 0x45132b
mov ecx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x18]
push eax
push ecx
call fcn.004aa460
add esp, 0xc
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x451349
mov ecx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x18]
push eax
push ecx
call fcn.004aa460
add esp, 0xc
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x30]
push ecx
push eax
push edx
call fcn.004aa460
mov dword [esp + 0x1c], 0
add esp, 0xc
cmp dword [esp + 0x18], 0
je 0x4513bb
mov ebx, 1
mov ecx, dword [esp + 0x18]
cmp dword [ecx], ebx
jb 0x4513a4
lea edi, [ecx + 4]
mov eax, dword [edi]
test eax, eax
je 0x451398
mov ecx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x18]
push eax
push ecx
call fcn.004aa460
add esp, 0xc
mov ecx, dword [esp + 0x18]
add edi, 4
inc ebx
cmp dword [ecx], ebx
jae 0x45137f
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x30]
push ecx
push eax
push edx
call fcn.004aa460
add esp, 0xc
test esi, esi
je 0x4513d2
mov eax, dword [esp + 0x14]
push esi
mov ecx, dword [esp + 0x34]
push eax
push ecx
call fcn.004aa460
add esp, 0xc
cmp dword [esp + 0x1c], 0
je 0x4513eb
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
push eax
push ecx
call fcn.0045edd0
add esp, 8
mov eax, dword [esp + 0x10]
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x1c
ret