Function at 0x450764
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 0x451057
test edx, edx
je 0x451057
mov ecx, dword [esi]
mov edx, dword [esi + 4]
add ecx, 0xfbfcfdff
add edx, 0xf7f8f9fb
or ecx, edx
jne 0x450f46
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 0x45104d
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 0x451012
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 0x4507d3
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 0x450ab1
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 0x450fd1
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 0x450964
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 0x450d60
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 0x450f93
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 0x450ae7
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 0x450edc
mov edi, edx
lea ebx, [ebp + 0x18]
lea edx, [esp]
lea ebp, [esi + ebp + 0x18]
push edi
push ebp
push edx
call dword [0x5d9aac]
add esp, 0xc
add ebx, edi
mov byte [esp + edi], 0
mov eax, dword [0x841bf4]
test eax, eax
jle 0x450f8f
xor ebp, ebp
mov ecx, dword [0x841d48]
lea edx, [esp]
push edx
push dword [ecx + ebp*4]
call fcn.00470600
add esp, 8
test eax, eax
je 0x450f88
inc ebp
mov eax, dword [0x841bf4]
cmp ebp, eax
jl 0x450f07
cmp ebp, eax
jge 0x450f5f
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.0046d5d4
xor eax, eax
add esp, 0x118
pop ebx
pop ebp
pop esi
pop edi
ret
mov edx, dword [0x841be4]
lea eax, [esp]
push eax
push dword [edx + 0x17c]
push 1
push 0x18ef2
call fcn.0046d578
xor eax, eax
add esp, 0x120
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, dword [0x841bf4]
jmp 0x450f2a
xor ebp, ebp
jmp 0x450f2a
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 0x450b04
push 1
push 0x186aa
call fcn.0046d5d4
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 0x450981
push 1
push 0x186aa
call fcn.0046d5d4
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 0x4507ed
push 1
push 0x186aa
call fcn.0046d5d4
xor eax, eax
add esp, 0x118
pop ebx
pop ebp
pop esi
pop edi
ret
mov ebp, 0xa
jmp 0x45092e
mov eax, 0xffffffff
add esp, 0x110
pop ebx
pop ebp
pop esi
pop edi
ret