Function at 0x44f530
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
mov edx, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0x10]
mov ebx, ecx
push edi
push dword [ebp + 0xc]
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x28]
cmp word [esi + 2], 0
mov dword [esp + 0x1c], ebx
je 0x44f8c7
call fcn.00449a20
add esp, 4
cmp eax, 0xffffff88
ja 0x44f8a5
movzx edi, word [esi]
or esi, 0xffffffff
mov eax, dword [esp + 0x28]
sub esi, edi
mov edx, dword [esp + 0x24]
mov ecx, eax
and ecx, 0x1f
and esi, 0x1f
shl edx, cl
add eax, edi
shr edx, 1
mov ecx, esi
shr edx, cl
lea ecx, [esp + 0x24]
mov dword [esp + 0x10], edx
mov dword [esp + 0x28], eax
call fcn.00449b80
mov eax, dword [esp + 0x28]
mov ecx, eax
mov edx, dword [esp + 0x24]
and ecx, 0x1f
shl edx, cl
add eax, edi
shr edx, 1
mov ecx, esi
shr edx, cl
lea ecx, [esp + 0x24]
mov dword [esp + 0x20], edx
mov dword [esp + 0x28], eax
call fcn.00449b80
lea ecx, [esp + 0x24]
call fcn.00449b80
neg eax
mov edx, ebx
sbb ecx, ecx
inc ecx
lea eax, [edx + 0xfc]
cmp edx, eax
sbb eax, eax
neg eax
test eax, ecx
je 0x44f72b
nop
mov eax, dword [esp + 0x10]
mov edx, dword [ebp + 0x10]
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x10], esi
mov edx, dword [edx + eax*4 + 4]
mov eax, edx
shr eax, 0x18
lea edi, [eax + ecx]
neg eax
and ecx, 0x1f
and eax, 0x1f
shl dword [esp + 0x10], cl
mov ecx, eax
shr dword [esp + 0x10], cl
mov ecx, dword [ebp + 0x10]
movzx eax, dx
add dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
shr edx, 0x10
mov byte [ebx], dl
mov ebx, dword [ecx + eax*4 + 4]
mov edx, ebx
shr edx, 0x18
lea eax, [edi + edx]
and edi, 0x1f
neg edx
mov dword [esp + 0x28], eax
mov ecx, edi
movzx eax, bx
shl esi, cl
and edx, 0x1f
mov ecx, edx
shr ebx, 0x10
shr esi, cl
lea ecx, [esp + 0x24]
add esi, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], esi
mov byte [eax + 1], bl
call fcn.00449b80
test eax, eax
jg 0x44f720
mov eax, dword [esp + 0x10]
mov ecx, dword [ebp + 0x10]
mov esi, dword [esp + 0x24]
mov ebx, esi
mov edx, dword [ecx + eax*4 + 4]
mov eax, edx
mov ecx, dword [esp + 0x28]
shr eax, 0x18
lea edi, [eax + ecx]
neg eax
and ecx, 0x1f
and eax, 0x1f
shl ebx, cl
mov ecx, eax
shr ebx, cl
mov ecx, dword [ebp + 0x10]
movzx eax, dx
add ebx, eax
shr edx, 0x10
mov eax, dword [esp + 0x18]
mov dword [esp + 0x10], ebx
mov byte [eax + 2], dl
mov eax, dword [esp + 0x20]
mov ebx, dword [ecx + eax*4 + 4]
mov edx, ebx
shr edx, 0x18
lea eax, [edi + edx]
and edi, 0x1f
neg edx
mov dword [esp + 0x28], eax
mov ecx, edi
movzx eax, bx
shl esi, cl
and edx, 0x1f
mov ecx, edx
shr ebx, 0x10
shr esi, cl
lea ecx, [esp + 0x24]
add esi, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], esi
mov byte [eax + 3], bl
mov ebx, eax
add ebx, 4
mov dword [esp + 0x18], ebx
call fcn.00449b80
neg eax
sbb ecx, ecx
mov eax, dword [esp + 0x14]
add eax, 0xfc
inc ecx
cmp ebx, eax
sbb eax, eax
neg eax
test eax, ecx
jne 0x44f5f0
jmp 0x44f72b
mov ebx, dword [esp + 0x18]
add ebx, 2
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0x14]
add eax, 0xfd
cmp ebx, eax
ja 0x44f8a0
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], edx
nop dword [eax]
mov eax, dword [esp + 0x10]
mov ecx, dword [ebp + 0x10]
mov ebx, dword [ecx + eax*4 + 4]
mov ecx, edi
and ecx, 0x1f
mov eax, ebx
shl edx, cl
shr eax, 0x18
mov ecx, eax
add edi, eax
neg ecx
movzx eax, bx
and ecx, 0x1f
shr ebx, 0x10
shr edx, cl
mov ecx, dword [esp + 0x18]
add eax, edx
mov dword [esp + 0x10], eax
mov byte [ecx], bl
inc ecx
mov dword [esp + 0x18], ecx
cmp edi, 0x20
ja 0x44fc26
cmp esi, dword [esp + 0x34]
jb 0x44f7aa
mov eax, edi
shr eax, 3
sub esi, eax
and edi, 7
mov edx, dword [esi]
mov dword [esp + 0x1c], edx
jmp 0x44f7e9
mov ebx, dword [esp + 0x30]
cmp esi, ebx
je 0x44f7e5
mov edx, edi
mov eax, esi
shr edx, 3
sub eax, edx
cmp eax, ebx
jae 0x44f7d2
mov eax, esi
sub eax, ebx
sub esi, eax
shl eax, 3
sub edi, eax
mov edx, dword [esi]
mov dword [esp + 0x1c], edx
jmp 0x44f7e9
sub esi, edx
lea eax, [edx*8]
sub edi, eax
mov edx, dword [esi]
mov dword [esp + 0x1c], edx
jmp 0x44f7e9
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add eax, 0xfd
cmp ecx, eax
ja 0x44f8a0
mov eax, dword [esp + 0x20]
mov ecx, dword [ebp + 0x10]
mov ebx, dword [ecx + eax*4 + 4]
mov ecx, edi
and ecx, 0x1f
mov eax, ebx
shl edx, cl
shr eax, 0x18
mov ecx, eax
add edi, eax
neg ecx
movzx eax, bx
and ecx, 0x1f
shr ebx, 0x10
shr edx, cl
mov ecx, dword [esp + 0x18]
add eax, edx
mov dword [esp + 0x20], eax
mov byte [ecx], bl
inc ecx
mov dword [esp + 0x18], ecx
cmp edi, 0x20
ja 0x44f8ac
cmp esi, dword [esp + 0x34]
jb 0x44f850
mov eax, edi
shr eax, 3
sub esi, eax
and edi, 7
mov edx, dword [esi]
mov dword [esp + 0x1c], edx
jmp 0x44f88f
mov ebx, dword [esp + 0x30]
cmp esi, ebx
je 0x44f88b
mov edx, edi
mov eax, esi
shr edx, 3
sub eax, edx
cmp eax, ebx
jae 0x44f878
mov eax, esi
sub eax, ebx
sub esi, eax
shl eax, 3
sub edi, eax
mov edx, dword [esi]
mov dword [esp + 0x1c], edx
jmp 0x44f88f
sub esi, edx
lea eax, [edx*8]
sub edi, eax
mov edx, dword [esi]
mov dword [esp + 0x1c], edx
jmp 0x44f88f
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add eax, 0xfd
cmp ecx, eax
jbe 0x44f750
mov eax, 0xffffffba
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x10]
mov edx, dword [ebp + 0x10]
mov al, byte [edx + eax*4 + 6]
mov byte [ecx], al
sub ecx, dword [esp + 0x14]
lea eax, [ecx + 1]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00449a20
add esp, 4
cmp eax, 0xffffff88
ja 0x44f8a5
movzx edi, word [esi]
or esi, 0xffffffff
mov eax, dword [esp + 0x28]
sub esi, edi
mov edx, dword [esp + 0x24]
mov ecx, eax
and ecx, 0x1f
and esi, 0x1f
shl edx, cl
add eax, edi
shr edx, 1
mov ecx, esi
shr edx, cl
lea ecx, [esp + 0x24]
mov dword [esp + 0x10], edx
mov dword [esp + 0x28], eax
call fcn.00449b80
mov eax, dword [esp + 0x28]
mov ecx, eax
mov edx, dword [esp + 0x24]
and ecx, 0x1f
shl edx, cl
add eax, edi
shr edx, 1
mov ecx, esi
shr edx, cl
lea ecx, [esp + 0x24]
mov dword [esp + 0x20], edx
mov dword [esp + 0x28], eax
call fcn.00449b80
lea ecx, [esp + 0x24]
call fcn.00449b80
neg eax
mov edx, ebx
sbb eax, eax
inc eax
lea ecx, [edx + 0xfc]
cmp edx, ecx
sbb ecx, ecx
neg ecx
test ecx, eax
je 0x44fa99
mov eax, dword [esp + 0x10]
mov ecx, dword [ebp + 0x10]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x10], esi
mov edx, dword [ecx + eax*4 + 4]
mov eax, edx
mov ecx, dword [esp + 0x28]
shr eax, 0x18
lea edi, [ecx + eax]
and ecx, 0x1f
shl dword [esp + 0x10], cl
not eax
shr dword [esp + 0x10], 1
and eax, 0x1f
mov ecx, eax
movzx eax, dx
shr dword [esp + 0x10], cl
add dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [ebp + 0x10]
shr edx, 0x10
mov byte [ebx], dl
mov ebx, dword [ecx + eax*4 + 4]
mov edx, ebx
shr edx, 0x18
lea eax, [edx + edi]
and edi, 0x1f
mov ecx, edi
mov dword [esp + 0x28], eax
shl esi, cl
not edx
and edx, 0x1f
shr esi, 1
mov ecx, edx
movzx eax, bx
shr esi, cl
lea ecx, [esp + 0x24]
add esi, eax
shr ebx, 0x10
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], esi
mov byte [eax + 1], bl
call fcn.00449b80
test eax, eax
jg 0x44fa8e
mov eax, dword [esp + 0x10]
mov ecx, dword [ebp + 0x10]
mov esi, dword [esp + 0x24]
mov ebx, esi
mov edx, dword [ecx + eax*4 + 4]
mov eax, edx
mov ecx, dword [esp + 0x28]
shr eax, 0x18
lea edi, [ecx + eax]
not eax
and ecx, 0x1f
and eax, 0x1f
shl ebx, cl
mov ecx, eax
shr ebx, 1
shr ebx, cl
mov ecx, dword [ebp + 0x10]
movzx eax, dx
add ebx, eax
shr edx, 0x10
mov eax, dword [esp + 0x18]
mov dword [esp + 0x10], ebx
mov byte [eax + 2], dl
mov eax, dword [esp + 0x20]
mov ebx, dword [ecx + eax*4 + 4]
mov edx, ebx
shr edx, 0x18
lea eax, [edx + edi]
and edi, 0x1f
mov ecx, edi
mov dword [esp + 0x28], eax
shl esi, cl
not edx
and edx, 0x1f
movzx eax, bx
mov ecx, edx
shr esi, 1
shr esi, cl
lea ecx, [esp + 0x24]
add esi, eax
shr ebx, 0x10
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], esi
mov byte [eax + 3], bl
mov ebx, eax
add ebx, 4
mov dword [esp + 0x18], ebx
call fcn.00449b80
mov ecx, dword [esp + 0x14]
neg eax
sbb eax, eax
add ecx, 0xfc
inc eax
cmp ebx, ecx
sbb ecx, ecx
neg ecx
test ecx, eax
jne 0x44f953
jmp 0x44fa99
mov ebx, dword [esp + 0x18]
add ebx, 2
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0x14]
add eax, 0xfd
cmp ebx, eax
ja 0x44f8a0
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], edx
nop word [eax + eax]
mov eax, dword [esp + 0x10]
mov ecx, dword [ebp + 0x10]
mov ebx, dword [ecx + eax*4 + 4]
mov ecx, edi
and ecx, 0x1f
mov eax, ebx
shl edx, cl
or ecx, 0xffffffff
shr eax, 0x18
sub ecx, eax
shr edx, 1
and ecx, 0x1f
add edi, eax
shr edx, cl
mov ecx, dword [esp + 0x18]
movzx eax, bx
shr ebx, 0x10
add eax, edx
mov dword [esp + 0x10], eax
mov byte [ecx], bl
inc ecx
mov dword [esp + 0x18], ecx
cmp edi, 0x20
ja 0x44fc26
cmp esi, dword [esp + 0x34]
jb 0x44fb1d
mov eax, edi
shr eax, 3
sub esi, eax
and edi, 7
mov edx, dword [esi]
mov dword [esp + 0x1c], edx
jmp 0x44fb5c
mov ebx, dword [esp + 0x30]
cmp esi, ebx
je 0x44fb58
mov edx, edi
mov eax, esi
shr edx, 3
sub eax, edx
cmp eax, ebx
jae 0x44fb45
mov eax, esi
sub eax, ebx
sub esi, eax
shl eax, 3
sub edi, eax
mov edx, dword [esi]
mov dword [esp + 0x1c], edx
jmp 0x44fb5c
sub esi, edx
lea eax, [edx*8]
sub edi, eax
mov edx, dword [esi]
mov dword [esp + 0x1c], edx
jmp 0x44fb5c
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add eax, 0xfd
cmp ecx, eax
ja 0x44f8a0
mov eax, dword [esp + 0x20]
mov ecx, dword [ebp + 0x10]
mov ebx, dword [ecx + eax*4 + 4]
mov ecx, edi
and ecx, 0x1f
mov eax, ebx
shl edx, cl
or ecx, 0xffffffff
shr eax, 0x18
sub ecx, eax
shr edx, 1
and ecx, 0x1f
add edi, eax
shr edx, cl
mov ecx, dword [esp + 0x18]
movzx eax, bx
shr ebx, 0x10
add eax, edx
mov dword [esp + 0x20], eax
mov byte [ecx], bl
inc ecx
mov dword [esp + 0x18], ecx
cmp edi, 0x20
ja 0x44f8ac
cmp esi, dword [esp + 0x34]
jb 0x44fbca
mov eax, edi
shr eax, 3
sub esi, eax
and edi, 7
mov edx, dword [esi]
mov dword [esp + 0x1c], edx
jmp 0x44fc09
mov ebx, dword [esp + 0x30]
cmp esi, ebx
je 0x44fc05
mov edx, edi
mov eax, esi
shr edx, 3
sub eax, edx
cmp eax, ebx
jae 0x44fbf2
mov eax, esi
sub eax, ebx
sub esi, eax
shl eax, 3
sub edi, eax
mov edx, dword [esi]
mov dword [esp + 0x1c], edx
jmp 0x44fc09
sub esi, edx
lea eax, [edx*8]
sub edi, eax
mov edx, dword [esi]
mov dword [esp + 0x1c], edx
jmp 0x44fc09
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add eax, 0xfd
cmp ecx, eax
jbe 0x44fac0
mov eax, 0xffffffba
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x20]
mov edx, dword [ebp + 0x10]
pop edi
pop esi
pop ebx
mov al, byte [edx + eax*4 + 6]
mov byte [ecx], al
sub ecx, dword [esp + 8]
lea eax, [ecx + 1]
mov esp, ebp
pop ebp
ret