Function at 0x441ba0
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 0x441f98
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x2c]
call fcn.004414f0
add esp, 4
cmp eax, 0xffffff88
ja 0x441f5b
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.004415f0
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.004415f0
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 0x441e05
mov ecx, dword [esp + 0x34]
lea eax, [ecx + 4]
cmp esi, eax
jb 0x441c82
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 0x441ccb
cmp esi, ecx
je 0x441e05
mov edx, edi
mov dword [esp + 0x20], 0
shr edx, 3
mov eax, esi
sub eax, edx
cmp eax, ecx
jae 0x441cab
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 0x441e05
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
add eax, 0xfc
cmp ecx, eax
jae 0x441dff
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.004415f0
test eax, eax
jg 0x441de6
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 0x441c50
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 0x441e09
mov eax, dword [esp + 0xc]
jmp 0x441e0d
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
add edx, 0xfd
cmp ecx, edx
ja 0x441f56
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 0x441f7d
mov ecx, dword [esp + 0x34]
lea eax, [ecx + 4]
cmp esi, eax
jb 0x441e7f
mov eax, edi
shr eax, 3
sub esi, eax
and edi, 7
mov eax, dword [esi]
mov dword [esp + 0xc], eax
jmp 0x441eab
cmp esi, ecx
je 0x441ea7
mov ebx, edi
mov eax, esi
shr ebx, 3
sub eax, ebx
cmp eax, ecx
jae 0x441e94
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 0x441eab
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
add ecx, 0xfd
cmp edx, ecx
ja 0x441f56
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 0x441f62
mov ecx, dword [esp + 0x34]
lea eax, [ecx + 4]
cmp esi, eax
jb 0x441f18
mov eax, edi
shr eax, 3
sub esi, eax
and edi, 7
mov eax, dword [esi]
mov dword [esp + 0xc], eax
jmp 0x441f44
cmp esi, ecx
je 0x441f40
mov ebx, edi
mov eax, esi
shr ebx, 3
sub eax, ebx
cmp eax, ecx
jae 0x441f2d
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 0x441f44
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
add ecx, 0xfd
cmp edx, ecx
jbe 0x441e20
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.004414f0
add esp, 4
cmp eax, 0xffffff88
ja 0x441f5b
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.004415f0
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.004415f0
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 0x4421df
mov ecx, dword [esp + 0x34]
lea eax, [ecx + 4]
cmp esi, eax
jb 0x442052
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 0x44209b
cmp esi, ecx
je 0x4421df
mov edx, edi
mov dword [esp + 0x24], 0
shr edx, 3
mov eax, esi
sub eax, edx
cmp eax, ecx
jae 0x44207b
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 0x4421df
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
add eax, 0xfc
cmp ecx, eax
jae 0x4421d9
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.004415f0
test eax, eax
jg 0x4421c0
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 0x442020
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 0x4421e3
mov eax, dword [esp + 0xc]
jmp 0x4421e7
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
add edx, 0xfd
cmp ecx, edx
ja 0x441f56
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 0x442368
mov ecx, dword [esp + 0x34]
lea eax, [ecx + 4]
cmp esi, eax
jb 0x442262
mov eax, edi
shr eax, 3
sub esi, eax
and edi, 7
mov eax, dword [esi]
mov dword [esp + 0xc], eax
jmp 0x44228e
cmp esi, ecx
je 0x44228a
mov edx, edi
mov eax, esi
shr edx, 3
sub eax, edx
cmp eax, ecx
jae 0x442277
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 0x44228e
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
add edx, 0xfd
cmp dword [esp + 0x10], edx
ja 0x441f56
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 0x44234c
mov ecx, dword [esp + 0x34]
lea eax, [ecx + 4]
cmp esi, eax
jb 0x442300
mov eax, edi
shr eax, 3
sub esi, eax
and edi, 7
mov eax, dword [esi]
mov dword [esp + 0xc], eax
jmp 0x44232c
cmp esi, ecx
je 0x442328
mov edx, edi
mov eax, esi
shr edx, 3
sub eax, edx
cmp eax, ecx
jae 0x442315
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 0x44232c
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
add edx, 0xfd
cmp dword [esp + 0x10], edx
jbe 0x442200
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