Function at 0x4507b8
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 0x4510ab
test edx, edx
je 0x4510ab
mov ecx, dword [esi]
mov edx, dword [esi + 4]
add ecx, 0xfbfcfdff
add edx, 0xf7f8f9fb
or ecx, edx
jne 0x450f9a
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 0x4510a1
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 0x451066
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 0x450827
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 + 0x140], dl
add ebp, 2
test edx, edx
jle 0x450b05
xor edx, edx
mov dword [esp + 0x10c], edx
mov edx, dword [esp + 0x108]
mov ecx, dword [esp + 0x10c]
mov eax, dword [edx + ecx*4 + 0x144]
test eax, eax
je 0x451025
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 + 0x144]
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 + 0x144]
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 + 0x144]
mov word [edx + 8], di
inc dword [esp + 0x10c]
mov edx, dword [esp + 0x108]
movsx ecx, byte [edx + 0x140]
add ebp, 0x14
mov edx, dword [esp + 0x10c]
cmp edx, ecx
jl 0x4509b8
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 + 0x244], dl
add ebp, 2
test edx, edx
jle 0x450db4
xor edx, edx
mov dword [esp + 0x10c], edx
mov edx, dword [esp + 0x108]
mov ecx, dword [esp + 0x10c]
mov eax, dword [edx + ecx*4 + 0x248]
test eax, eax
je 0x450fe7
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 + 0x248]
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 + 0x248]
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 + 0x248]
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 + 0x248]
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
inc dword [esp + 0x10c]
mov edx, dword [esp + 0x108]
movsx ecx, byte [edx + 0x244]
add ebp, 0x22
mov edx, dword [esp + 0x10c]
cmp edx, ecx
jl 0x450b3b
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 0x450f30
mov edi, edx
lea ebx, [ebp + 0x18]
lea edx, [esp]
lea ebp, [esi + ebp + 0x18]
push edi
push ebp
push edx
call dword [0x5b9aac]
add esp, 0xc
add ebx, edi
mov byte [esp + edi], 0
mov eax, dword [0x873b4c]
test eax, eax
jle 0x450fe3
xor ebp, ebp
mov ecx, dword [0x873cdc]
lea edx, [esp]
push edx
push dword [ecx + ebp*4]
call fcn.004702b0
add esp, 8
test eax, eax
je 0x450fdc
inc ebp
mov eax, dword [0x873b4c]
cmp ebp, eax
jl 0x450f5b
cmp ebp, eax
jge 0x450fb3
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.0046d258
xor eax, eax
add esp, 0x118
pop ebx
pop ebp
pop esi
pop edi
ret
mov edx, dword [0x873b3c]
lea eax, [esp]
push eax
push dword [edx + 0x17c]
push 1
push 0x18ef2
call fcn.0046d1fc
xor eax, eax
add esp, 0x120
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, dword [0x873b4c]
jmp 0x450f7e
xor ebp, ebp
jmp 0x450f7e
push 0x20
call fcn.00403564
pop ecx
mov edx, dword [esp + 0x108]
mov ecx, dword [esp + 0x10c]
mov dword [edx + ecx*4 + 0x248], eax
test eax, eax
jne 0x450b58
push 1
push 0x186aa
call fcn.0046d258
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 + 0x144], eax
test eax, eax
jne 0x4509d5
push 1
push 0x186aa
call fcn.0046d258
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 0x450841
push 1
push 0x186aa
call fcn.0046d258
xor eax, eax
add esp, 0x118
pop ebx
pop ebp
pop esi
pop edi
ret
mov ebp, 0xa
jmp 0x450982
mov eax, 0xffffffff
add esp, 0x110
pop ebx
pop ebp
pop esi
pop edi
ret