Function at 0x450d40
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
mov ebx, dword [0x50d1ac]
push esi
mov esi, dword [ebp + 8]
push edi
push 0x200
push 0
push esi
mov edi, edx
call fcn.00478bc0
mov dword [esi + 0x200], 0
add esp, 0xc
mov byte [esi + 0x204], 0
mov eax, dword [edi + 4]
test eax, eax
jns 0x450df4
mov eax, dword [edi]
mov dword [edi + 4], 0
test eax, eax
jne 0x450d98
mov eax, dword [ebx + 0x18]
test eax, eax
jne 0x450d98
mov ecx, dword [ebx + 0x28]
mov edx, dword [ebx + 0x2c]
jmp 0x450db9
cmp eax, 2
jl 0x450ddc
cmp eax, dword [ebx + 0x14]
jge 0x450ddc
mov ecx, dword [ebx + 0x10]
cdq
add eax, 0xfffffffe
adc edx, 0xffffffff
call fcn.004760e0
mov ecx, eax
add ecx, dword [ebx + 0x30]
adc edx, dword [ebx + 0x34]
mov eax, ecx
mov dword [edi + 8], ecx
or eax, edx
mov dword [edi + 0xc], edx
je 0x450dea
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
je 0x450dea
push edx
push ecx
mov ecx, ebx
call fcn.00450530
add esp, 8
jmp 0x450e4b
mov dword [edi + 8], 0xffffffff
mov dword [edi + 0xc], 0xffffffff
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
add eax, 0x20
mov dword [edi + 4], eax
cmp eax, dword [0x4da38c]
jb 0x450e30
mov dword [edi + 4], 0
mov ecx, ebx
push dword [edi + 0xc]
push dword [edi + 8]
call fcn.00450950
mov ecx, eax
mov dword [edi + 8], eax
add esp, 8
mov dword [edi + 0xc], edx
or ecx, edx
je 0x450e2c
and eax, edx
cmp eax, 0xffffffff
jne 0x450e30
xor eax, eax
jmp 0x450e4b
push dword [edi + 0xc]
mov ecx, ebx
push dword [edi + 8]
call fcn.00450530
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x450e4b
mov eax, dword [edi + 4]
add eax, ecx
mov esi, edi
test eax, eax
je 0x450dea
mov dl, byte [eax + 0xb]
cmp dl, 8
je 0x450e84
mov cl, byte [eax]
cmp cl, 0xe5
je 0x450e84
cmp cl, 0x2e
jne 0x450f06
cmp byte [eax + 2], 0x20
jne 0x450f16
mov cl, byte [eax + 1]
cmp cl, 0x20
je 0x450e84
cmp cl, 0x2e
jne 0x450f16
add dword [edi + 4], 0x20
mov eax, dword [edi + 4]
cmp eax, dword [0x4da38c]
jb 0x450ed1
mov eax, 8
mov dword [edi + 4], 0
mov ecx, ebx
push dword [esi + eax + 4]
push dword [esi + eax]
call fcn.00450950
mov ecx, 8
add esp, 8
mov dword [esi + ecx], eax
mov dword [esi + ecx + 4], edx
mov ecx, eax
or ecx, edx
je 0x450dea
and eax, edx
cmp eax, 0xffffffff
je 0x450dea
mov eax, 8
mov ecx, ebx
push dword [esi + eax + 4]
push dword [esi + eax]
call fcn.00450530
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x450dea
mov eax, dword [edi + 4]
add eax, ecx
jne 0x450e51
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test cl, cl
jne 0x450f16
mov eax, 0xfffffffe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
or ecx, 0xffffffff
cmp dl, 0xf
jne 0x4510b6
movzx edx, byte [eax]
test ecx, ecx
jns 0x450f3d
mov ecx, edx
and cl, 0xf0
cmp cl, 0x40
jne 0x4510b6
and edx, 0xf
dec edx
jmp 0x450f4a
and edx, 0xf
dec ecx
dec edx
cmp edx, ecx
jne 0x4510aa
movzx ecx, byte [eax + 1]
imul esi, edx, 0x1a
mov dword [ebp - 4], edx
movzx edx, byte [eax + 2]
shl dx, 8
or dx, cx
add esi, dword [ebp + 8]
mov word [esi], dx
movzx edx, byte [eax + 4]
movzx ecx, byte [eax + 3]
shl dx, 8
or dx, cx
mov word [esi + 2], dx
movzx edx, byte [eax + 6]
movzx ecx, byte [eax + 5]
shl dx, 8
or dx, cx
mov word [esi + 4], dx
movzx edx, byte [eax + 8]
movzx ecx, byte [eax + 7]
shl dx, 8
or dx, cx
mov word [esi + 6], dx
movzx edx, byte [eax + 0xa]
movzx ecx, byte [eax + 9]
shl dx, 8
or dx, cx
mov word [esi + 8], dx
movzx edx, byte [eax + 0xf]
movzx ecx, byte [eax + 0xe]
shl dx, 8
or dx, cx
mov word [esi + 0xa], dx
movzx edx, byte [eax + 0x11]
movzx ecx, byte [eax + 0x10]
shl dx, 8
or dx, cx
mov word [esi + 0xc], dx
movzx edx, byte [eax + 0x13]
movzx ecx, byte [eax + 0x12]
shl dx, 8
or dx, cx
mov word [esi + 0xe], dx
movzx edx, byte [eax + 0x15]
movzx ecx, byte [eax + 0x14]
shl dx, 8
or dx, cx
mov word [esi + 0x10], dx
movzx edx, byte [eax + 0x17]
movzx ecx, byte [eax + 0x16]
shl dx, 8
or dx, cx
mov word [esi + 0x12], dx
movzx edx, byte [eax + 0x19]
movzx ecx, byte [eax + 0x18]
shl dx, 8
or dx, cx
mov word [esi + 0x14], dx
movzx ecx, byte [eax + 0x1d]
movzx eax, byte [eax + 0x1c]
shl cx, 8
or cx, ax
mov word [esi + 0x16], cx
add dword [edi + 4], 0x20
mov eax, dword [edi + 4]
cmp eax, dword [0x4da38c]
jb 0x451077
mov dword [edi + 4], 0
mov ecx, ebx
push dword [edi + 0xc]
push dword [edi + 8]
call fcn.00450950
mov ecx, eax
mov dword [edi + 8], eax
add esp, 8
mov dword [edi + 0xc], edx
or ecx, edx
je 0x450dea
and eax, edx
cmp eax, 0xffffffff
je 0x450dea
push dword [edi + 0xc]
mov ecx, ebx
push dword [edi + 8]
call fcn.00450530
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x450dea
mov eax, dword [edi + 4]
add eax, ecx
je 0x450dea
cmp byte [eax + 0xb], 0xf
jne 0x4510b6
mov ecx, dword [ebp - 4]
jmp 0x450f22
mov eax, 0xfffffffd
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp + 8]
cmp word [ebx], 0
jne 0x451123
xor edx, edx
mov esi, ebx
lea ebx, [edx + 0x2e]
cmp edx, 8
jl 0x4510dc
cmp byte [edx + eax], 0x20
je 0x451120
cmp edx, 8
jne 0x4510dc
mov word [esi], bx
add esi, 2
mov cl, byte [edx + eax]
cmp cl, 0x20
je 0x45111a
movzx ecx, cl
mov edi, ecx
mov word [esi], cx
lea ecx, [edi - 0x41]
cmp cx, 0x19
ja 0x451117
test byte [eax + 0xc], 2
je 0x451106
cmp edx, 8
jge 0x451106
add edi, 0x20
mov word [esi], di
test byte [eax + 0xc], 4
je 0x451117
cmp edx, 8
jl 0x451117
lea ecx, [edi + 0x20]
mov word [esi], cx
add esi, 2
inc edx
cmp edx, 0xc
jl 0x4510c6
mov ebx, dword [ebp + 8]
mov cl, byte [eax + 0xb]
and cl, 0x37
mov byte [ebx + 0x204], cl
movzx edx, byte [eax + 0x1f]
movzx ecx, byte [eax + 0x1e]
shl edx, 8
or edx, ecx
movzx ecx, byte [eax + 0x1d]
shl edx, 8
or edx, ecx
movzx ecx, byte [eax + 0x1c]
shl edx, 8
or edx, ecx
mov dword [ebx + 0x200], edx
movzx esi, byte [eax + 0x15]
movzx ecx, byte [eax + 0x14]
movzx edx, byte [eax + 0x1b]
movzx eax, byte [eax + 0x1a]
shl esi, 8
or esi, ecx
shl edx, 8
shl esi, 0x10
or eax, edx
pop edi
add eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret