Function at 0x44fec8
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 0x4507bb
test edx, edx
je 0x4507bb
mov ecx, dword [esi]
mov edx, dword [esi + 4]
add ecx, 0xfbfcfdff
add edx, 0xf7f8f9fb
or ecx, edx
jne 0x4506aa
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 0x4507b1
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 0x450776
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 0x44ff37
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 0x450215
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 0x450735
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 0x4500c8
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 0x4504c4
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 0x4506f7
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 0x45024b
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 0x450640
mov edi, edx
lea ebx, [ebp + 0x18]
lea edx, [esp]
lea ebp, [esi + ebp + 0x18]
push edi
push ebp
push edx
call dword [0x5d048c]
add esp, 0xc
add ebx, edi
mov byte [esp + edi], 0
mov eax, dword [0x801800]
test eax, eax
jle 0x4506f3
xor ebp, ebp
mov ecx, dword [0x801908]
lea edx, [esp]
push edx
push dword [ecx + ebp*4]
call fcn.004679d0
add esp, 8
test eax, eax
je 0x4506ec
inc ebp
mov eax, dword [0x801800]
cmp ebp, eax
jl 0x45066b
cmp ebp, eax
jge 0x4506c3
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.004649d0
xor eax, eax
add esp, 0x118
pop ebx
pop ebp
pop esi
pop edi
ret
mov edx, dword [0x8017f0]
lea eax, [esp]
push eax
push dword [edx + 0x174]
push 1
push 0x18ef2
call fcn.00464974
xor eax, eax
add esp, 0x120
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, dword [0x801800]
jmp 0x45068e
xor ebp, ebp
jmp 0x45068e
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 0x450268
push 1
push 0x186aa
call fcn.004649d0
xor eax, eax
add esp, 0x118
pop ebx
pop ebp
pop esi
pop edi
ret
push 0x2e0
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 0x4500e5
push 1
push 0x186aa
call fcn.004649d0
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 0x44ff51
push 1
push 0x186aa
call fcn.004649d0
xor eax, eax
add esp, 0x118
pop ebx
pop ebp
pop esi
pop edi
ret
mov ebp, 0xa
jmp 0x450092
mov eax, 0xffffffff
add esp, 0x110
pop ebx
pop ebp
pop esi
pop edi
ret