Function at 0x450860
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
mov edx, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0x10]
push esi
push edi
push dword [ebp + 0xc]
cmp word [ebx + 2], 0
mov dword [esp + 0x1c], ecx
je 0x450c58
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x2c]
call fcn.004505c0
add esp, 4
cmp eax, 0xffffff88
ja 0x450c1b
movzx edi, word [ebx]
or esi, 0xffffffff
mov eax, dword [esp + 0x2c]
sub esi, edi
mov ebx, dword [esp + 0x28]
mov ecx, eax
and ecx, 0x1f
and esi, 0x1f
shl ebx, cl
add eax, edi
mov ecx, esi
shr ebx, 1
shr ebx, cl
lea ecx, [esp + 0x28]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x2c], eax
call fcn.0044cc00
mov eax, dword [esp + 0x2c]
mov ecx, eax
mov edx, dword [esp + 0x28]
and ecx, 0x1f
shl edx, cl
add eax, edi
shr edx, 1
mov ecx, esi
shr edx, cl
lea ecx, [esp + 0x28]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x2c], eax
call fcn.0044cc00
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0xc], eax
nop dword [eax]
nop dword [eax + eax]
mov esi, dword [esp + 0x30]
cmp edi, 0x20
ja 0x450ac5
mov ecx, dword [esp + 0x34]
lea eax, [ecx + 4]
cmp esi, eax
jb 0x450942
mov eax, edi
shr eax, 3
sub esi, eax
and edi, 7
mov dword [esp + 0x30], esi
mov ebx, dword [esi]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x28], ebx
jmp 0x45098b
cmp esi, ecx
je 0x450ac5
mov edx, edi
mov dword [esp + 0x20], 0
shr edx, 3
mov eax, esi
sub eax, edx
cmp eax, ecx
jae 0x45096b
mov edx, esi
mov dword [esp + 0x20], 1
sub edx, ecx
imul eax, edx, 0xfffffff8
sub esi, edx
mov dword [esp + 0x30], esi
mov ebx, dword [esi]
add edi, eax
mov dword [esp + 0xc], ebx
cmp dword [esp + 0x20], 0
mov dword [esp + 0x28], ebx
jne 0x450ac5
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
add eax, 0xfc
cmp ecx, eax
jae 0x450abf
mov eax, dword [esp + 0x10]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + eax*4 + 4]
mov eax, edx
shr eax, 0x18
lea esi, [eax + edi]
neg eax
and eax, 0x1f
and edi, 0x1f
mov ecx, edi
mov edi, dword [esp + 0x14]
shl ebx, cl
mov ecx, eax
shr ebx, cl
mov ecx, dword [esp + 0x1c]
movzx eax, dx
add ebx, eax
shr edx, 0x10
mov eax, dword [ebp + 0x10]
mov byte [edi], dl
mov dword [esp + 0x10], ebx
mov ebx, dword [eax + ecx*4 + 4]
mov edx, ebx
shr edx, 0x18
lea eax, [edx + esi]
and esi, 0x1f
mov dword [esp + 0x2c], eax
neg edx
mov eax, dword [esp + 0xc]
mov ecx, esi
shl eax, cl
and edx, 0x1f
mov ecx, edx
shr eax, cl
lea ecx, [esp + 0x28]
mov dword [esp + 0x1c], eax
movzx eax, bx
add dword [esp + 0x1c], eax
shr ebx, 0x10
mov byte [edi + 1], bl
call fcn.0044cc00
test eax, eax
jg 0x450aa6
mov eax, dword [esp + 0x10]
mov ecx, dword [ebp + 0x10]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], ebx
mov edx, dword [ecx + eax*4 + 4]
mov eax, edx
mov ecx, dword [esp + 0x2c]
shr eax, 0x18
lea esi, [eax + ecx]
neg eax
and eax, 0x1f
and ecx, 0x1f
shl dword [esp + 0x10], cl
mov ecx, eax
shr dword [esp + 0x10], cl
mov ecx, dword [esp + 0x1c]
movzx eax, dx
add dword [esp + 0x10], eax
mov eax, dword [ebp + 0x10]
shr edx, 0x10
mov byte [edi + 2], dl
mov edx, dword [eax + ecx*4 + 4]
mov eax, edx
shr eax, 0x18
lea edi, [eax + esi]
neg eax
and esi, 0x1f
and eax, 0x1f
mov ecx, esi
shl ebx, cl
mov ecx, eax
movzx eax, dx
shr ebx, cl
add ebx, eax
shr edx, 0x10
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c], ebx
mov byte [eax + 3], dl
add eax, 4
mov dword [esp + 0x14], eax
jmp 0x450910
mov eax, dword [esp + 0x28]
add edi, 2
mov esi, dword [esp + 0x30]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x2c]
mov dword [esp + 0xc], eax
jmp 0x450ac9
mov eax, dword [esp + 0xc]
jmp 0x450acd
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
add edx, 0xfd
cmp ecx, edx
ja 0x450c16
nop
mov ecx, dword [esp + 0x10]
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx + ecx*4 + 4]
mov ecx, edi
and ecx, 0x1f
mov edx, ebx
shl eax, cl
shr edx, 0x18
mov ecx, edx
add edi, edx
mov edx, dword [esp + 0x14]
neg ecx
and ecx, 0x1f
shr eax, cl
movzx ecx, bx
shr ebx, 0x10
add ecx, eax
mov byte [edx], bl
inc edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
cmp edi, 0x20
ja 0x450c3d
mov ecx, dword [esp + 0x34]
lea eax, [ecx + 4]
cmp esi, eax
jb 0x450b3f
mov eax, edi
shr eax, 3
sub esi, eax
and edi, 7
mov eax, dword [esi]
mov dword [esp + 0xc], eax
jmp 0x450b6b
cmp esi, ecx
je 0x450b67
mov ebx, edi
mov eax, esi
shr ebx, 3
sub eax, ebx
cmp eax, ecx
jae 0x450b54
mov ebx, esi
sub ebx, ecx
sub esi, ebx
lea eax, [ebx*8]
sub edi, eax
mov eax, dword [esi]
mov dword [esp + 0xc], eax
jmp 0x450b6b
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
add ecx, 0xfd
cmp edx, ecx
ja 0x450c16
mov ecx, dword [esp + 0x1c]
mov edx, dword [ebp + 0x10]
mov ebx, dword [edx + ecx*4 + 4]
mov ecx, edi
and ecx, 0x1f
mov edx, ebx
shl eax, cl
shr edx, 0x18
mov ecx, edx
add edi, edx
mov edx, dword [esp + 0x14]
neg ecx
and ecx, 0x1f
shr eax, cl
movzx ecx, bx
shr ebx, 0x10
add ecx, eax
mov byte [edx], bl
inc edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], edx
cmp edi, 0x20
ja 0x450c22
mov ecx, dword [esp + 0x34]
lea eax, [ecx + 4]
cmp esi, eax
jb 0x450bd8
mov eax, edi
shr eax, 3
sub esi, eax
and edi, 7
mov eax, dword [esi]
mov dword [esp + 0xc], eax
jmp 0x450c04
cmp esi, ecx
je 0x450c00
mov ebx, edi
mov eax, esi
shr ebx, 3
sub eax, ebx
cmp eax, ecx
jae 0x450bed
mov ebx, esi
sub ebx, ecx
sub esi, ebx
lea eax, [ebx*8]
sub edi, eax
mov eax, dword [esi]
mov dword [esp + 0xc], eax
jmp 0x450c04
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
add ecx, 0xfd
cmp edx, ecx
jbe 0x450ae0
mov eax, 0xffffffba
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [ebp + 0x10]
mov al, byte [ecx + eax*4 + 6]
mov byte [edx], al
sub edx, dword [esp + 0x18]
lea eax, [edx + 1]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x1c]
mov al, byte [eax + ecx*4 + 6]
mov byte [edx], al
sub edx, dword [esp + 0x18]
lea eax, [edx + 1]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x2c]
call fcn.004505c0
add esp, 4
cmp eax, 0xffffff88
ja 0x450c1b
movzx edi, word [ebx]
or esi, 0xffffffff
mov eax, dword [esp + 0x2c]
sub esi, edi
mov ebx, dword [esp + 0x28]
mov ecx, eax
and ecx, 0x1f
and esi, 0x1f
shl ebx, cl
add eax, edi
mov ecx, esi
shr ebx, 1
shr ebx, cl
lea ecx, [esp + 0x28]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x2c], eax
call fcn.0044cc00
mov eax, dword [ebp + 0x10]
mov edx, dword [esp + 0x28]
add eax, 4
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x2c]
mov ecx, eax
and ecx, 0x1f
add eax, edi
shl edx, cl
mov ecx, esi
shr edx, 1
shr edx, cl
lea ecx, [esp + 0x28]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x2c], eax
call fcn.0044cc00
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0xc], eax
nop
mov esi, dword [esp + 0x30]
cmp edi, 0x20
ja 0x450e9f
mov ecx, dword [esp + 0x34]
lea eax, [ecx + 4]
cmp esi, eax
jb 0x450d12
mov eax, edi
shr eax, 3
sub esi, eax
and edi, 7
mov dword [esp + 0x30], esi
mov ebx, dword [esi]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x28], ebx
jmp 0x450d5b
cmp esi, ecx
je 0x450e9f
mov edx, edi
mov dword [esp + 0x24], 0
shr edx, 3
mov eax, esi
sub eax, edx
cmp eax, ecx
jae 0x450d3b
mov edx, esi
mov dword [esp + 0x24], 1
sub edx, ecx
imul eax, edx, 0xfffffff8
sub esi, edx
mov dword [esp + 0x30], esi
mov ebx, dword [esi]
add edi, eax
mov dword [esp + 0xc], ebx
cmp dword [esp + 0x24], 0
mov dword [esp + 0x28], ebx
jne 0x450e9f
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
add eax, 0xfc
cmp ecx, eax
jae 0x450e99
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
mov edx, dword [edx + eax*4]
mov eax, edx
shr eax, 0x18
lea esi, [edi + eax]
not eax
and eax, 0x1f
and edi, 0x1f
mov ecx, edi
mov edi, dword [esp + 0x10]
shl ebx, cl
mov ecx, eax
movzx eax, dx
shr edx, 0x10
shr ebx, 1
shr ebx, cl
add ebx, eax
mov byte [edi], dl
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], ebx
mov ebx, dword [eax + edx*4]
mov edx, ebx
shr edx, 0x18
lea eax, [edx + esi]
and esi, 0x1f
mov dword [esp + 0x2c], eax
mov ecx, esi
mov eax, dword [esp + 0xc]
not edx
shl eax, cl
and edx, 0x1f
shr eax, 1
mov ecx, edx
shr eax, cl
lea ecx, [esp + 0x28]
mov dword [esp + 0x1c], eax
movzx eax, bx
add dword [esp + 0x1c], eax
shr ebx, 0x10
mov byte [edi + 1], bl
call fcn.0044cc00
test eax, eax
jg 0x450e80
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x14], ebx
mov edx, dword [edx + eax*4]
mov eax, edx
shr eax, 0x18
mov dword [esp + 0xc], ebx
lea esi, [ecx + eax]
not eax
and eax, 0x1f
and ecx, 0x1f
shl dword [esp + 0x14], cl
mov ecx, eax
shr dword [esp + 0x14], 1
shr dword [esp + 0x14], cl
movzx eax, dx
add dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
shr edx, 0x10
mov byte [edi + 2], dl
mov edx, dword [esp + 0x1c]
mov edx, dword [eax + edx*4]
mov eax, edx
shr eax, 0x18
lea edi, [eax + esi]
and esi, 0x1f
not eax
mov ecx, esi
shl ebx, cl
and eax, 0x1f
mov ecx, eax
shr ebx, 1
movzx eax, dx
shr ebx, cl
add ebx, eax
shr edx, 0x10
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], ebx
mov byte [eax + 3], dl
add eax, 4
mov dword [esp + 0x10], eax
jmp 0x450ce0
mov eax, dword [esp + 0x28]
add edi, 2
mov esi, dword [esp + 0x30]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x2c]
mov dword [esp + 0xc], eax
jmp 0x450ea3
mov eax, dword [esp + 0xc]
jmp 0x450ea7
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
add edx, 0xfd
cmp ecx, edx
ja 0x450c16
nop dword [eax]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x20]
mov ebx, dword [ebx + ecx*4]
mov ecx, edi
and ecx, 0x1f
mov edx, ebx
shl eax, cl
or ecx, 0xffffffff
shr edx, 0x18
sub ecx, edx
shr eax, 1
and ecx, 0x1f
add edi, edx
shr eax, cl
movzx ecx, bx
add ecx, eax
shr ebx, 0x10
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x10]
mov byte [ecx], bl
inc ecx
mov dword [esp + 0x10], ecx
cmp edi, 0x20
ja 0x451028
mov ecx, dword [esp + 0x34]
lea eax, [ecx + 4]
cmp esi, eax
jb 0x450f22
mov eax, edi
shr eax, 3
sub esi, eax
and edi, 7
mov eax, dword [esi]
mov dword [esp + 0xc], eax
jmp 0x450f4e
cmp esi, ecx
je 0x450f4a
mov edx, edi
mov eax, esi
shr edx, 3
sub eax, edx
cmp eax, ecx
jae 0x450f37
mov edx, esi
sub edx, ecx
sub esi, edx
lea eax, [edx*8]
sub edi, eax
mov eax, dword [esi]
mov dword [esp + 0xc], eax
jmp 0x450f4e
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
add edx, 0xfd
cmp dword [esp + 0x10], edx
ja 0x450c16
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov ebx, dword [ecx + edx*4]
mov ecx, edi
and ecx, 0x1f
mov edx, ebx
shl eax, cl
or ecx, 0xffffffff
shr edx, 0x18
sub ecx, edx
shr eax, 1
and ecx, 0x1f
add edi, edx
shr eax, cl
movzx ecx, bx
add ecx, eax
shr ebx, 0x10
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x10]
mov byte [ecx], bl
inc ecx
mov dword [esp + 0x10], ecx
cmp edi, 0x20
ja 0x45100c
mov ecx, dword [esp + 0x34]
lea eax, [ecx + 4]
cmp esi, eax
jb 0x450fc0
mov eax, edi
shr eax, 3
sub esi, eax
and edi, 7
mov eax, dword [esi]
mov dword [esp + 0xc], eax
jmp 0x450fec
cmp esi, ecx
je 0x450fe8
mov edx, edi
mov eax, esi
shr edx, 3
sub eax, edx
cmp eax, ecx
jae 0x450fd5
mov edx, esi
sub edx, ecx
sub esi, edx
lea eax, [edx*8]
sub edi, eax
mov eax, dword [esi]
mov dword [esp + 0xc], eax
jmp 0x450fec
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
add edx, 0xfd
cmp dword [esp + 0x10], edx
jbe 0x450ec0
mov eax, 0xffffffba
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
mov al, byte [edx + eax*4 + 2]
mov byte [ecx], al
sub ecx, dword [esp + 0x18]
lea eax, [ecx + 1]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
pop edi
pop esi
pop ebx
mov al, byte [eax + edx*4 + 2]
mov byte [ecx], al
sub ecx, dword [esp + 0xc]
lea eax, [ecx + 1]
mov esp, ebp
pop ebp
ret