Function at 0x4478b0
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 0x447c47
call fcn.00441da0
add esp, 4
cmp eax, 0xffffff88
ja 0x447c25
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.00441f00
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.00441f00
lea ecx, [esp + 0x24]
call fcn.00441f00
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 0x447aab
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.00441f00
test eax, eax
jg 0x447aa0
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.00441f00
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 0x447970
jmp 0x447aab
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 0x447c20
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 0x447fa6
cmp esi, dword [esp + 0x34]
jb 0x447b2a
mov eax, edi
shr eax, 3
sub esi, eax
and edi, 7
mov edx, dword [esi]
mov dword [esp + 0x1c], edx
jmp 0x447b69
mov ebx, dword [esp + 0x30]
cmp esi, ebx
je 0x447b65
mov edx, edi
mov eax, esi
shr edx, 3
sub eax, edx
cmp eax, ebx
jae 0x447b52
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 0x447b69
sub esi, edx
lea eax, [edx*8]
sub edi, eax
mov edx, dword [esi]
mov dword [esp + 0x1c], edx
jmp 0x447b69
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add eax, 0xfd
cmp ecx, eax
ja 0x447c20
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 0x447c2c
cmp esi, dword [esp + 0x34]
jb 0x447bd0
mov eax, edi
shr eax, 3
sub esi, eax
and edi, 7
mov edx, dword [esi]
mov dword [esp + 0x1c], edx
jmp 0x447c0f
mov ebx, dword [esp + 0x30]
cmp esi, ebx
je 0x447c0b
mov edx, edi
mov eax, esi
shr edx, 3
sub eax, edx
cmp eax, ebx
jae 0x447bf8
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 0x447c0f
sub esi, edx
lea eax, [edx*8]
sub edi, eax
mov edx, dword [esi]
mov dword [esp + 0x1c], edx
jmp 0x447c0f
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add eax, 0xfd
cmp ecx, eax
jbe 0x447ad0
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.00441da0
add esp, 4
cmp eax, 0xffffff88
ja 0x447c25
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.00441f00
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.00441f00
lea ecx, [esp + 0x24]
call fcn.00441f00
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 0x447e19
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.00441f00
test eax, eax
jg 0x447e0e
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.00441f00
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 0x447cd3
jmp 0x447e19
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 0x447c20
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 0x447fa6
cmp esi, dword [esp + 0x34]
jb 0x447e9d
mov eax, edi
shr eax, 3
sub esi, eax
and edi, 7
mov edx, dword [esi]
mov dword [esp + 0x1c], edx
jmp 0x447edc
mov ebx, dword [esp + 0x30]
cmp esi, ebx
je 0x447ed8
mov edx, edi
mov eax, esi
shr edx, 3
sub eax, edx
cmp eax, ebx
jae 0x447ec5
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 0x447edc
sub esi, edx
lea eax, [edx*8]
sub edi, eax
mov edx, dword [esi]
mov dword [esp + 0x1c], edx
jmp 0x447edc
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add eax, 0xfd
cmp ecx, eax
ja 0x447c20
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 0x447c2c
cmp esi, dword [esp + 0x34]
jb 0x447f4a
mov eax, edi
shr eax, 3
sub esi, eax
and edi, 7
mov edx, dword [esi]
mov dword [esp + 0x1c], edx
jmp 0x447f89
mov ebx, dword [esp + 0x30]
cmp esi, ebx
je 0x447f85
mov edx, edi
mov eax, esi
shr edx, 3
sub eax, edx
cmp eax, ebx
jae 0x447f72
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 0x447f89
sub esi, edx
lea eax, [edx*8]
sub edi, eax
mov edx, dword [esi]
mov dword [esp + 0x1c], edx
jmp 0x447f89
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add eax, 0xfd
cmp ecx, eax
jbe 0x447e40
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