Function at 0x450c10
Capabilities:
Enumerate pe sections

Disassembly:
push 0xffffffffffffffff
push 0x4c4b98
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x517b6c]
xor eax, esp
push eax
lea eax, [esp + 0x40]
mov dword fs:[0], eax
mov esi, ecx
mov ebp, dword [esp + 0x58]
mov edi, dword [esp + 0x50]
mov eax, dword [edi]
mov edx, dword [eax + 0x10]
mov ecx, edi
call edx
mov ebx, dword [esp + 0x54]
mov eax, dword [ebx]
mov edx, dword [eax + 0x10]
mov ecx, ebx
call edx
mov eax, dword [edi]
mov edx, dword [eax + 0x28]
mov ecx, edi
call edx
mov edi, eax
mov eax, dword [ebx]
mov edx, dword [eax + 0x28]
mov ecx, ebx
call edx
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*2]
sub edi, eax
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov edx, 4
mul edx
seto cl
mov dword [esp + 0x28], edi
neg ecx
or ecx, eax
push ecx
call fcn.0049e131
mov edi, eax
mov eax, dword [esi + 0x10]
xor ecx, ecx
mov edx, 4
mul edx
seto cl
mov dword [esp + 0x18], edi
neg ecx
or ecx, eax
push ecx
call fcn.0049e131
add esp, 8
test edi, edi
mov ebx, eax
mov dword [esp + 0x24], ebx
je 0x450f80
test ebx, ebx
je 0x450f80
mov eax, dword [esi + 0xc]
add eax, eax
add eax, eax
push eax
push 0
push edi
call fcn.004b2fa0
mov ecx, dword [esi + 0x10]
add ecx, ecx
add ecx, ecx
push ecx
xor esi, esi
push esi
push ebx
call fcn.004b2fa0
mov eax, dword [ebp + 4]
mov ecx, eax
lea edx, [eax + 1]
add esp, 0x18
cmp ecx, edx
jge 0x450d10
lea esp, [esp]
mov dword [edi + ecx*4], eax
mov eax, dword [ebp + 4]
add ecx, 1
lea edx, [eax + 1]
cmp ecx, edx
jl 0x450d00
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 0xc]
lea eax, [ecx + 1]
lea ecx, [ecx + edx - 1]
cmp eax, ecx
jge 0x450d38
lea edx, [eax - 1]
mov dword [edi + eax*4], edx
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 0xc]
add eax, 1
lea ecx, [ecx + edx - 1]
cmp eax, ecx
jl 0x450d21
mov edx, dword [ebp + 4]
mov eax, dword [ebp + 0xc]
add eax, edx
lea ecx, [eax - 1]
cmp ecx, eax
jge 0x450d5c
add eax, 0xfffffffd
mov dword [edi + ecx*4], eax
mov edx, dword [ebp + 4]
mov eax, dword [ebp + 0xc]
add ecx, 1
add eax, edx
cmp ecx, eax
jl 0x450d47
mov eax, dword [ebp + 8]
mov ecx, eax
lea edx, [eax + 1]
cmp ecx, edx
jge 0x450d80
jmp 0x450d70
mov dword [ebx + ecx*4], eax
mov eax, dword [ebp + 8]
add ecx, 1
lea edx, [eax + 1]
cmp ecx, edx
jl 0x450d70
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
lea eax, [ecx + 1]
lea ecx, [edx + ecx - 1]
cmp eax, ecx
jge 0x450da8
lea edx, [eax - 1]
mov dword [ebx + eax*4], edx
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
add eax, 1
lea ecx, [ecx + edx - 1]
cmp eax, ecx
jl 0x450d91
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 8]
add eax, edx
lea ecx, [eax - 1]
cmp ecx, eax
jge 0x450dcc
add eax, 0xfffffffd
mov dword [ebx + ecx*4], eax
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 8]
add ecx, 1
add eax, edx
cmp ecx, eax
jl 0x450db7
mov edx, dword [esp + 0x5c]
mov ecx, dword [ebp + 8]
mov eax, dword [edx + 0x10]
sub eax, dword [ebx + ecx*4]
mov dword [esp + 0x2c], vtable.CPOS.0
mov dword [esp + 0x18], eax
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], esi
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x48], esi
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
push ebp
call edx
mov edx, dword [ebp + 0x10]
mov esi, eax
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 8]
mov ecx, eax
add edx, eax
cmp ecx, edx
mov dword [esp + 0x58], eax
jge 0x450f71
jmp 0x450e27
mov ecx, dword [esp + 0x58]
mov eax, dword [ebx + eax*4]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x34], eax
sub edx, dword [ebx + ecx*4]
mov ecx, dword [esp + 0x54]
mov eax, dword [ecx]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x3c], edx
lea edx, [esp + 0x2c]
push edx
call eax
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 4]
add ecx, eax
cmp eax, ecx
mov dword [esp + 0x5c], eax
jge 0x450f4e
mov eax, dword [edi + eax*4]
mov edx, dword [esp + 0x1c]
lea ecx, [edx + eax*2]
movzx edx, byte [ecx + eax]
movzx esi, byte [ecx + eax + 1]
movzx edi, byte [ecx + eax + 2]
add ecx, eax
movzx eax, byte [ecx + 3]
add edx, eax
movzx eax, byte [ecx + 4]
add esi, eax
movzx eax, byte [ecx + 5]
add ecx, 3
add edi, eax
movzx eax, byte [ecx + 3]
add edx, eax
movzx eax, byte [ecx + 4]
add ecx, 3
add esi, eax
movzx eax, byte [ecx + 2]
add edi, eax
mov eax, dword [esp + 0x20]
add eax, 0xfffffffa
movzx ebx, byte [ecx + eax]
add ecx, eax
add edx, ebx
movzx ebx, byte [ecx + 1]
add esi, ebx
movzx ebx, byte [ecx + 2]
add edi, ebx
movzx ebx, byte [ecx + 6]
add ecx, 6
add edx, ebx
movzx ebx, byte [ecx + 1]
add esi, ebx
movzx ebx, byte [ecx + 2]
add ecx, eax
movzx eax, byte [ecx]
add edx, eax
movzx eax, byte [ecx + 1]
add esi, eax
movzx eax, byte [ecx + 2]
add edi, ebx
add edi, eax
movzx eax, byte [ecx + 3]
add ecx, 3
movzx ebx, byte [ecx + 5]
add edx, eax
movzx eax, byte [ecx + 1]
add esi, eax
movzx eax, byte [ecx + 2]
add edi, eax
movzx eax, byte [ecx + 4]
add ecx, 3
movzx ecx, byte [ecx]
add eax, esi
mov esi, dword [esp + 0x50]
add ecx, edx
add ebx, edi
mov edi, dword [esp + 0x14]
shr eax, 3
mov byte [esi + 1], al
mov eax, dword [esp + 0x5c]
shr ebx, 3
shr ecx, 3
mov byte [esi], cl
mov byte [esi + 2], bl
mov edx, dword [ebp + 4]
add edx, dword [ebp + 0xc]
add eax, 1
add esi, 3
cmp eax, edx
mov dword [esp + 0x50], esi
mov dword [esp + 0x5c], eax
jl 0x450e61
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x58]
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
add esi, dword [esp + 0x28]
add ecx, 1
add edx, eax
cmp ecx, edx
mov dword [esp + 0x50], esi
mov dword [esp + 0x58], ecx
jl 0x450e23
push edi
call fcn.004ad279
push ebx
call fcn.004ad279
add esp, 8
mov ecx, dword [esp + 0x40]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret 0x10