Function at 0x4504c0
Capabilities:
Enumerate pe sections

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x110
mov dword [esp + 0x108], edx
mov esi, eax
test esi, esi
je 0x450db3
test edx, edx
je 0x450db3
mov ecx, dword [esi]
mov edx, dword [esi + 4]
add ecx, 0xfbfcfdff
add edx, 0xf7f8f9fb
or ecx, edx
jne 0x450ca2
movzx edi, byte [esi + 9]
movzx ebp, byte [esi + 8]
dec ebp
shl ebp, 4
lea edx, [ebp + edi - 0x61]
movsx ebx, dl
mov ecx, dword [esp + 0x108]
mov byte [ecx + 0x3e], bl
test ebx, ebx
jle 0x450da9
mov ebp, 0xa
xor edx, edx
mov dword [esp + 0x10c], edx
mov edx, dword [esp + 0x108]
mov ecx, dword [esp + 0x10c]
mov eax, dword [edx + ecx*4 + 0x40]
test eax, eax
je 0x450d6e
movzx ecx, byte [ebp + esi + 1]
movzx edx, byte [ebp + esi]
dec edx
shl edx, 4
lea ebx, [edx + ecx - 0x61]
mov byte [eax], bl
movzx edx, byte [ebp + esi + 9]
add edx, 0xffffff9f
movsx eax, dl
movzx edx, byte [ebp + esi + 8]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 4
add eax, edx
movzx edx, byte [ebp + esi + 7]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 8
add eax, edx
movzx edx, byte [ebp + esi + 6]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 0xc
add eax, edx
movzx edx, byte [ebp + esi + 5]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 0x10
add eax, edx
movzx edx, byte [ebp + esi + 4]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 0x14
add eax, edx
movzx edx, byte [ebp + esi + 3]
add edx, 0xffffff9f
shl edx, 0x18
add eax, edx
movzx edx, byte [ebp + esi + 2]
dec edx
shl edx, 0x1c
add eax, edx
mov edx, dword [esp + 0x108]
mov ecx, dword [esp + 0x10c]
mov edx, dword [edx + ecx*4 + 0x40]
mov dword [edx + 4], eax
movzx edx, byte [ebp + esi + 0x11]
add edx, 0xffffff9f
movsx edi, dl
movzx edx, byte [ebp + esi + 0x10]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 4
add edi, edx
movzx edx, byte [ebp + esi + 0xf]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 8
add edi, edx
movzx edx, byte [ebp + esi + 0xe]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 0xc
add edi, edx
movzx edx, byte [ebp + esi + 0xd]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 0x10
add edi, edx
movzx edx, byte [ebp + esi + 0xc]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 0x14
add edi, edx
movzx edx, byte [ebp + esi + 0xb]
add edx, 0xffffff9f
shl edx, 0x18
add edi, edx
movzx edx, byte [ebp + esi + 0xa]
dec edx
shl edx, 0x1c
add edi, edx
mov edx, dword [esp + 0x108]
mov edx, dword [edx + ecx*4 + 0x40]
mov dword [edx + 8], edi
inc dword [esp + 0x10c]
mov edx, dword [esp + 0x108]
movsx ecx, byte [edx + 0x3e]
add ebp, 0x12
mov edx, dword [esp + 0x10c]
cmp edx, ecx
jl 0x45052f
movzx edx, byte [ebp + esi + 1]
movzx edi, byte [ebp + esi]
dec edi
shl edi, 4
lea ecx, [edi + edx - 0x61]
movsx edx, cl
mov ebx, dword [esp + 0x108]
mov byte [ebx + 0x240], dl
add ebp, 2
test edx, edx
jle 0x45080d
xor edx, edx
mov dword [esp + 0x10c], edx
mov edx, dword [esp + 0x108]
mov ecx, dword [esp + 0x10c]
mov eax, dword [edx + ecx*4 + 0x244]
test eax, eax
je 0x450d2d
movzx ebx, byte [ebp + esi + 1]
movzx ecx, byte [ebp + esi]
dec ecx
shl ecx, 4
lea edx, [ecx + ebx - 0x61]
mov byte [eax], dl
movzx ecx, byte [ebp + esi + 3]
movzx edx, byte [ebp + esi + 2]
dec edx
shl edx, 4
lea edx, [edx + ecx - 0x61]
mov ecx, dword [esp + 0x108]
mov ebx, dword [esp + 0x10c]
mov ecx, dword [ecx + ebx*4 + 0x244]
mov byte [ecx + 1], dl
movzx edx, byte [ebp + esi + 0xb]
add edx, 0xffffff9f
movsx eax, dl
movzx edx, byte [ebp + esi + 0xa]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 4
add eax, edx
movzx edx, byte [ebp + esi + 9]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 8
add eax, edx
movzx edx, byte [ebp + esi + 8]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 0xc
add eax, edx
movzx edx, byte [ebp + esi + 7]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 0x10
add eax, edx
movzx edx, byte [ebp + esi + 6]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 0x14
add eax, edx
movzx edx, byte [ebp + esi + 5]
add edx, 0xffffff9f
shl edx, 0x18
add eax, edx
movzx edx, byte [ebp + esi + 4]
dec edx
shl edx, 0x1c
add eax, edx
mov edx, dword [esp + 0x108]
mov ecx, ebx
mov edx, dword [edx + ecx*4 + 0x244]
mov dword [edx + 4], eax
movzx edx, byte [ebp + esi + 0x13]
add edx, 0xffffff9f
movsx edi, dl
movzx edx, byte [ebp + esi + 0x12]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 4
add edi, edx
movzx edx, byte [ebp + esi + 0x11]
add edx, 0xffffff9f
shl edx, 8
add edi, edx
movzx edx, byte [ebp + esi + 0x10]
dec edx
shl edx, 0xc
add edi, edx
mov edx, dword [esp + 0x108]
mov edx, dword [edx + ecx*4 + 0x244]
mov word [edx + 8], di
inc dword [esp + 0x10c]
mov edx, dword [esp + 0x108]
movsx ecx, byte [edx + 0x240]
add ebp, 0x14
mov edx, dword [esp + 0x10c]
cmp edx, ecx
jl 0x4506c0
movzx edx, byte [ebp + esi + 1]
movzx edi, byte [ebp + esi]
dec edi
shl edi, 4
lea ecx, [edi + edx - 0x61]
movsx edx, cl
mov ebx, dword [esp + 0x108]
mov byte [ebx + 0x344], dl
add ebp, 2
test edx, edx
jle 0x450abc
xor edx, edx
mov dword [esp + 0x10c], edx
mov edx, dword [esp + 0x108]
mov ecx, dword [esp + 0x10c]
mov eax, dword [edx + ecx*4 + 0x348]
test eax, eax
je 0x450cef
movzx edx, byte [ebp + esi + 1]
movzx ebx, byte [ebp + esi]
dec ebx
shl ebx, 4
lea edx, [ebx + edx - 0x61]
mov byte [eax], dl
movzx edx, byte [ebp + esi + 9]
add edx, 0xffffff9f
movsx ecx, dl
movzx edx, byte [ebp + esi + 8]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 4
add ecx, edx
movzx edx, byte [ebp + esi + 7]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 8
add ecx, edx
movzx edx, byte [ebp + esi + 6]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 0xc
add ecx, edx
movzx edx, byte [ebp + esi + 5]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 0x10
add ecx, edx
movzx edx, byte [ebp + esi + 4]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 0x14
add ecx, edx
movzx edx, byte [ebp + esi + 3]
add edx, 0xffffff9f
shl edx, 0x18
add ecx, edx
movzx edx, byte [ebp + esi + 2]
dec edx
shl edx, 0x1c
add ecx, edx
mov edx, dword [esp + 0x108]
mov ebx, dword [esp + 0x10c]
mov edx, dword [edx + ebx*4 + 0x348]
mov dword [edx + 4], ecx
movzx edx, byte [ebp + esi + 0x11]
add edx, 0xffffff9f
movsx edi, dl
movzx edx, byte [ebp + esi + 0x10]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 4
add edi, edx
movzx edx, byte [ebp + esi + 0xf]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 8
add edi, edx
movzx edx, byte [ebp + esi + 0xe]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 0xc
add edi, edx
movzx edx, byte [ebp + esi + 0xd]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 0x10
add edi, edx
movzx edx, byte [ebp + esi + 0xc]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 0x14
add edi, edx
movzx edx, byte [ebp + esi + 0xb]
add edx, 0xffffff9f
shl edx, 0x18
add edi, edx
movzx edx, byte [ebp + esi + 0xa]
dec edx
shl edx, 0x1c
add edi, edx
mov edx, dword [esp + 0x108]
mov ecx, ebx
mov edx, dword [edx + ecx*4 + 0x348]
mov dword [edx + 8], edi
movzx edx, byte [ebp + esi + 0x19]
add edx, 0xffffff9f
movsx eax, dl
movzx edx, byte [ebp + esi + 0x18]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 4
add eax, edx
movzx edx, byte [ebp + esi + 0x17]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 8
add eax, edx
movzx edx, byte [ebp + esi + 0x16]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 0xc
add eax, edx
movzx edx, byte [ebp + esi + 0x15]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 0x10
add eax, edx
movzx edx, byte [ebp + esi + 0x14]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 0x14
add eax, edx
movzx edx, byte [ebp + esi + 0x13]
add edx, 0xffffff9f
shl edx, 0x18
add eax, edx
movzx edx, byte [ebp + esi + 0x12]
dec edx
shl edx, 0x1c
add eax, edx
cdq
mov ecx, dword [esp + 0x108]
mov ecx, dword [ecx + ebx*4 + 0x348]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
movzx edx, byte [ebp + esi + 0x21]
add edx, 0xffffff9f
movsx eax, dl
movzx edx, byte [ebp + esi + 0x20]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 4
add eax, edx
movzx edx, byte [ebp + esi + 0x1f]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 8
add eax, edx
movzx edx, byte [ebp + esi + 0x1e]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 0xc
add eax, edx
movzx edx, byte [ebp + esi + 0x1d]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 0x10
add eax, edx
movzx edx, byte [ebp + esi + 0x1c]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 0x14
add eax, edx
movzx edx, byte [ebp + esi + 0x1b]
add edx, 0xffffff9f
shl edx, 0x18
add eax, edx
movzx edx, byte [ebp + esi + 0x1a]
dec edx
shl edx, 0x1c
add eax, edx
cdq
mov ecx, dword [esp + 0x108]
mov ecx, dword [ecx + ebx*4 + 0x348]
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
inc dword [esp + 0x10c]
mov edx, dword [esp + 0x108]
movsx ecx, byte [edx + 0x344]
add ebp, 0x22
mov edx, dword [esp + 0x10c]
cmp edx, ecx
jl 0x450843
movzx edx, byte [ebp + esi + 7]
add edx, 0xffffff9f
movsx ebx, dl
movzx ecx, byte [ebp + esi + 6]
add ecx, 0xffffff9f
movsx edx, cl
shl edx, 4
add ebx, edx
movzx edx, byte [ebp + esi + 5]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 8
add ebx, edx
movzx edx, byte [ebp + esi + 4]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 0xc
add ebx, edx
movzx edx, byte [ebp + esi + 3]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 0x10
add ebx, edx
movzx edx, byte [ebp + esi + 2]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 0x14
add ebx, edx
movzx edx, byte [ebp + esi + 1]
add edx, 0xffffff9f
shl edx, 0x18
add ebx, edx
movzx edx, byte [ebp + esi]
dec edx
shl edx, 0x1c
add ebx, edx
mov edx, dword [esp + 0x108]
mov dword [edx + 0xc], ebx
movzx edx, byte [ebp + esi + 0xf]
add edx, 0xffffff9f
movsx edi, dl
movzx edx, byte [ebp + esi + 0xe]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 4
add edi, edx
movzx edx, byte [ebp + esi + 0xd]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 8
add edi, edx
movzx edx, byte [ebp + esi + 0xc]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 0xc
add edi, edx
movzx edx, byte [ebp + esi + 0xb]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 0x10
add edi, edx
movzx edx, byte [ebp + esi + 0xa]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 0x14
add edi, edx
movzx edx, byte [ebp + esi + 9]
add edx, 0xffffff9f
shl edx, 0x18
add edi, edx
movzx edx, byte [ebp + esi + 8]
dec edx
shl edx, 0x1c
add edi, edx
mov edx, dword [esp + 0x108]
mov dword [edx + 0x20], edi
movzx edx, byte [ebp + esi + 0x17]
add edx, 0xffffff9f
movsx edi, dl
movzx edx, byte [ebp + esi + 0x16]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 4
add edi, edx
movzx edx, byte [ebp + esi + 0x15]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 8
add edi, edx
movzx edx, byte [ebp + esi + 0x14]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 0xc
add edi, edx
movzx edx, byte [ebp + esi + 0x13]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 0x10
add edi, edx
movzx edx, byte [ebp + esi + 0x12]
add edx, 0xffffff9f
movsx edx, dl
shl edx, 0x14
add edi, edx
movzx edx, byte [ebp + esi + 0x11]
add edx, 0xffffff9f
shl edx, 0x18
add edi, edx
movzx edx, byte [ebp + esi + 0x10]
dec edx
shl edx, 0x1c
add edi, edx
mov edx, 0x106
cmp edi, 0x106
jle 0x450c38
mov edi, edx
lea ebx, [ebp + 0x18]
lea edx, [esp]
lea ebp, [esi + ebp + 0x18]
push edi
push ebp
push edx
call dword [0x5b856c]
add esp, 0xc
add ebx, edi
mov byte [esp + edi], 0
mov eax, dword [0x834464]
test eax, eax
jle 0x450ceb
xor ebp, ebp
mov ecx, dword [0x8345d8]
lea edx, [esp]
push edx
push dword [ecx + ebp*4]
call fcn.0046f650
add esp, 8
test eax, eax
je 0x450ce4
inc ebp
mov eax, dword [0x834464]
cmp ebp, eax
jl 0x450c63
cmp ebp, eax
jge 0x450cbb
mov edx, dword [esp + 0x108]
mov word [edx + 0x3c], bp
mov eax, ebx
add esp, 0x110
pop ebx
pop ebp
pop esi
pop edi
ret
push 1
push 0xdbba0
call fcn.0046c624
xor eax, eax
add esp, 0x118
pop ebx
pop ebp
pop esi
pop edi
ret
mov edx, dword [0x834454]
lea eax, [esp]
push eax
push dword [edx + 0x17c]
push 1
push 0x18ef2
call fcn.0046c5c8
xor eax, eax
add esp, 0x120
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, dword [0x834464]
jmp 0x450c86
xor ebp, ebp
jmp 0x450c86
push 0x20
call fcn.00403564
pop ecx
mov edx, dword [esp + 0x108]
mov ecx, dword [esp + 0x10c]
mov dword [edx + ecx*4 + 0x348], eax
test eax, eax
jne 0x450860
push 1
push 0x186aa
call fcn.0046c624
xor eax, eax
add esp, 0x118
pop ebx
pop ebp
pop esi
pop edi
ret
push 0x328
call fcn.00403564
pop ecx
mov edx, dword [esp + 0x108]
mov ecx, dword [esp + 0x10c]
mov dword [edx + ecx*4 + 0x244], eax
test eax, eax
jne 0x4506dd
push 1
push 0x186aa
call fcn.0046c624
xor eax, eax
add esp, 0x118
pop ebx
pop ebp
pop esi
pop edi
ret
push 0xc
call fcn.00403564
pop ecx
mov edx, dword [esp + 0x108]
mov ecx, dword [esp + 0x10c]
mov dword [edx + ecx*4 + 0x40], eax
test eax, eax
jne 0x450549
push 1
push 0x186aa
call fcn.0046c624
xor eax, eax
add esp, 0x118
pop ebx
pop ebp
pop esi
pop edi
ret
mov ebp, 0xa
jmp 0x45068a
mov eax, 0xffffffff
add esp, 0x110
pop ebx
pop ebp
pop esi
pop edi
ret