Function at 0x450838
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 0x45112b
test edx, edx
je 0x45112b
mov ecx, dword [esi]
mov edx, dword [esi + 4]
add ecx, 0xfbfcfdff
add edx, 0xf7f8f9fb
or ecx, edx
jne 0x45101a
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 0x451121
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 0x4510e6
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 0x4508a7
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 0x450b85
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 0x4510a5
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 0x450a38
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 0x450e34
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 0x451067
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 0x450bbb
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 0x450fb0
mov edi, edx
lea ebx, [ebp + 0x18]
lea edx, [esp]
lea ebp, [esi + ebp + 0x18]
push edi
push ebp
push edx
call dword [0x5b9a6c]
add esp, 0xc
add ebx, edi
mov byte [esp + edi], 0
mov eax, dword [0x873b08]
test eax, eax
jle 0x451063
xor ebp, ebp
mov ecx, dword [0x873c8c]
lea edx, [esp]
push edx
push dword [ecx + ebp*4]
call fcn.00470030
add esp, 8
test eax, eax
je 0x45105c
inc ebp
mov eax, dword [0x873b08]
cmp ebp, eax
jl 0x450fdb
cmp ebp, eax
jge 0x451033
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.0046cfcc
xor eax, eax
add esp, 0x118
pop ebx
pop ebp
pop esi
pop edi
ret
mov edx, dword [0x873af8]
lea eax, [esp]
push eax
push dword [edx + 0x17c]
push 1
push 0x18ef2
call fcn.0046cf70
xor eax, eax
add esp, 0x120
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, dword [0x873b08]
jmp 0x450ffe
xor ebp, ebp
jmp 0x450ffe
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 0x450bd8
push 1
push 0x186aa
call fcn.0046cfcc
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 0x450a55
push 1
push 0x186aa
call fcn.0046cfcc
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 0x4508c1
push 1
push 0x186aa
call fcn.0046cfcc
xor eax, eax
add esp, 0x118
pop ebx
pop ebp
pop esi
pop edi
ret
mov ebp, 0xa
jmp 0x450a02
mov eax, 0xffffffff
add esp, 0x110
pop ebx
pop ebp
pop esi
pop edi
ret