Function at 0x427050
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x10c
push ebx
push ebp
push esi
mov esi, ecx
mov ebp, dword [esi]
cmp word [ebp], 1
push edi
je 0x427249
mov eax, dword [ebp + 4]
movzx ebx, word [ebp + 2]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x48]
xor edx, edx
div ebx
mov edi, dword [esi + 0x4c]
xor edx, edx
mov ecx, eax
mov eax, edi
div ecx
mov edx, dword [esp + 0x14]
mov dword [esi + 0x48], ecx
movzx edx, byte [edx + 1]
mov dword [esp + 0x18], ecx
mov ecx, eax
sub eax, edx
jns 0x427105
mov eax, dword [esp + 0x18]
imul eax, edx
mov dword [esi + 0x48], eax
cmp eax, 0x1000000
jae 0x4270e7
mov ecx, dword [esi + 0x54]
mov eax, dword [ecx]
call eax
mov edx, dword [esi + 0x4c]
shl dword [esi + 0x48], 8
movzx ecx, al
shl edx, 8
or ecx, edx
cmp dword [esi + 0x48], 0x1000000
mov dword [esi + 0x4c], ecx
jae 0x4270e7
mov ecx, dword [esi + 0x54]
mov eax, dword [ecx]
call eax
mov edx, dword [esi + 0x4c]
movzx ecx, al
shl edx, 8
or ecx, edx
shl dword [esi + 0x48], 8
mov dword [esi + 0x4c], ecx
mov eax, dword [esp + 0x14]
mov dword [esi + 8], eax
mov bl, byte [eax]
mov ecx, esi
call fcn.00426f60
pop edi
pop esi
pop ebp
movzx eax, bl
pop ebx
add esp, 0x10c
ret
mov dword [esi + 0x14], 0
movzx edx, word [ebp]
dec edx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
add edx, 6
mov dword [esp + 0x14], edx
movzx edx, byte [edx + 1]
sub eax, edx
js 0x4271cd
dec dword [esp + 0x10]
jne 0x427115
cmp ecx, ebx
jae 0x4275ac
sub ecx, eax
mov eax, dword [esp + 0x18]
sub ebx, ecx
mov edx, eax
imul ebx, eax
mov eax, dword [esi + 8]
imul edx, ecx
sub edi, edx
mov dword [esi + 0x4c], edi
mov dword [esi + 0x48], ebx
movzx ecx, byte [eax]
add ecx, 0xc0
shr ecx, 5
and ecx, 8
mov dword [esi + 0x1c], ecx
xor eax, eax
lea esp, [esp]
or ecx, 0xffffffff
mov dword [esp + eax*4 + 0x1c], ecx
mov dword [esp + eax*4 + 0x20], ecx
mov dword [esp + eax*4 + 0x24], ecx
mov dword [esp + eax*4 + 0x28], ecx
mov dword [esp + eax*4 + 0x2c], ecx
mov dword [esp + eax*4 + 0x30], ecx
mov dword [esp + eax*4 + 0x34], ecx
mov dword [esp + eax*4 + 0x38], ecx
add eax, 8
cmp eax, 0x40
jb 0x427170
mov edi, dword [esp + 0x14]
movzx edx, byte [edi]
mov eax, dword [ebp + 4]
mov byte [esp + edx + 0x1c], 0
lea ebx, [ebx]
movzx ecx, byte [eax]
movzx edx, byte [eax + 6]
add eax, 0xc
mov byte [esp + ecx + 0x1c], 0
mov byte [esp + edx + 0x1c], 0
cmp eax, edi
jb 0x4271b0
jmp 0x4273b0
mov ebp, dword [esp + 0x14]
movzx edx, byte [ebp + 1]
mov ebx, dword [esi + 0x48]
sub ecx, edx
sub ecx, eax
imul ecx, ebx
mov eax, ebx
imul eax, edx
sub edi, ecx
mov dword [esi + 0x4c], edi
mov dword [esi + 0x48], eax
cmp eax, 0x1000000
jae 0x42722e
mov ecx, dword [esi + 0x54]
mov eax, dword [ecx]
call eax
mov edx, dword [esi + 0x4c]
shl dword [esi + 0x48], 8
movzx ecx, al
shl edx, 8
or ecx, edx
cmp dword [esi + 0x48], 0x1000000
mov dword [esi + 0x4c], ecx
jae 0x42722e
mov ecx, dword [esi + 0x54]
mov eax, dword [ecx]
call eax
mov edx, dword [esi + 0x4c]
movzx ecx, al
shl edx, 8
or ecx, edx
shl dword [esi + 0x48], 8
mov dword [esi + 0x4c], ecx
mov dword [esi + 8], ebp
mov bl, byte [ebp]
mov ecx, esi
call fcn.00426ee0
pop edi
pop esi
pop ebp
movzx eax, bl
pop ebx
add esp, 0x10c
ret
mov eax, dword [esi + 8]
movzx eax, byte [eax]
add eax, 0xc0
shr eax, 5
and eax, 8
mov dword [esi + 0x1c], eax
mov ecx, dword [ebp + 8]
movzx edx, word [ecx]
movzx ecx, byte [edx + esi + 0x1a7]
movzx edx, byte [ebp + 2]
add edx, 0xc0
lea edi, [ebp + 2]
shr edx, 4
and edx, 0x10
add ecx, edx
movzx edx, byte [ebp + 3]
shl edx, 6
add edx, eax
mov eax, dword [esi + 0x20]
sar eax, 0x1a
and eax, 0x20
add edx, ecx
add eax, edx
add eax, dword [esi + 0x14]
movzx ecx, word [esi + eax*2 + 0x97c]
lea edx, [esi + eax*2 + 0x97c]
mov eax, dword [esi + 0x48]
shr eax, 0xe
imul eax, ecx
lea ebx, [ecx + 0x20]
shr ebx, 7
sub ecx, ebx
cmp dword [esi + 0x4c], eax
jae 0x42734d
sub ecx, 0xffffff80
mov word [edx], cx
mov dword [esi + 0x48], eax
cmp eax, 0x1000000
jae 0x4272eb
mov ecx, dword [esi + 0x54]
mov edx, dword [ecx]
call edx
mov ecx, dword [esi + 0x4c]
movzx eax, al
shl ecx, 8
or eax, ecx
shl dword [esi + 0x48], 8
mov dword [esi + 0x4c], eax
movzx eax, word [edi + 4]
movzx edx, word [edi + 2]
movzx ecx, byte [edi + 1]
mov bl, byte [edi]
shl eax, 0x10
or eax, edx
mov edx, 1
add dword [esi + 0x20], edx
mov dword [esi + 0x14], edx
cmp ecx, 0x80
setb dl
add dl, cl
mov dword [esi + 8], edi
mov byte [edi + 1], dl
cmp dword [esi + 0xc], 0
jne 0x427338
cmp eax, dword [esi + 0x40]
jbe 0x427338
pop edi
mov dword [esi], eax
mov dword [esi + 4], eax
pop esi
pop ebp
movzx eax, bl
pop ebx
add esp, 0x10c
ret
mov ecx, esi
call fcn.00426900
pop edi
pop esi
pop ebp
movzx eax, bl
pop ebx
add esp, 0x10c
ret
mov word [edx], cx
shr ecx, 0xa
movzx ecx, byte [ecx + esi + 0x3a8]
sub dword [esi + 0x4c], eax
sub dword [esi + 0x48], eax
mov dword [esi + 0x10], ecx
xor eax, eax
jmp 0x427370
or ecx, 0xffffffff
mov dword [esp + eax*4 + 0x1c], ecx
mov dword [esp + eax*4 + 0x20], ecx
mov dword [esp + eax*4 + 0x24], ecx
mov dword [esp + eax*4 + 0x28], ecx
mov dword [esp + eax*4 + 0x2c], ecx
mov dword [esp + eax*4 + 0x30], ecx
mov dword [esp + eax*4 + 0x34], ecx
mov dword [esp + eax*4 + 0x38], ecx
add eax, 8
cmp eax, 0x40
jb 0x427370
mov edx, dword [esi]
movzx eax, byte [edx + 2]
mov byte [esp + eax + 0x1c], 0
mov dword [esi + 0x14], 0
lea ecx, [ecx]
mov edi, 0x1000000
cmp dword [esi + 0x48], edi
jae 0x4273f1
mov ecx, dword [esi + 0x54]
mov edx, dword [ecx]
call edx
mov ecx, dword [esi + 0x4c]
shl dword [esi + 0x48], 8
movzx eax, al
shl ecx, 8
or eax, ecx
mov dword [esi + 0x4c], eax
cmp dword [esi + 0x48], edi
jae 0x4273f1
mov ecx, dword [esi + 0x54]
mov edx, dword [ecx]
call edx
mov ecx, dword [esi + 0x4c]
movzx eax, al
shl ecx, 8
or eax, ecx
shl dword [esi + 0x48], 8
mov dword [esi + 0x4c], eax
mov ecx, dword [esi]
movzx eax, word [ecx]
mov dword [esp + 0x10], eax
mov edx, 1
nop
add dword [esi + 0xc], edx
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x4274e4
movzx edi, word [ecx]
cmp edi, eax
je 0x427400
mov edx, dword [ecx + 4]
movzx edi, byte [edx]
movzx eax, word [ecx]
movzx ebp, byte [edx + 1]
movzx edi, byte [esp + edi + 0x1c]
mov ebx, eax
and eax, 1
and edi, ebp
mov ebp, eax
neg ebp
lea eax, [eax + eax*2]
shr ebx, 1
and edi, ebp
lea eax, [edx + eax*2]
mov dword [esi], ecx
mov edi, edi
movzx edx, byte [eax + 6]
movzx ecx, byte [eax]
movzx ebp, byte [eax + 7]
movzx edx, byte [esp + edx + 0x1c]
movzx ecx, byte [esp + ecx + 0x1c]
add eax, 0xc
and edx, ebp
movzx ebp, byte [eax - 0xb]
and ecx, ebp
add edi, ecx
add edi, edx
dec ebx
jne 0x427440
lea edx, [esp + 0x18]
push edx
mov edx, dword [esp + 0x14]
mov ecx, esi
call fcn.00426e40
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x48]
xor edx, edx
add ebx, edi
div ebx
mov ecx, dword [esi + 0x4c]
xor edx, edx
mov dword [esp + 0x18], ebx
mov ebp, eax
mov eax, ecx
div ebp
mov dword [esi + 0x48], ebp
cmp eax, edi
jb 0x4274f2
cmp eax, ebx
jae 0x4275ac
mov eax, ebp
imul eax, edi
sub ecx, eax
mov eax, dword [esp + 0x10]
mov dword [esi + 0x4c], ecx
mov ecx, ebx
sub ecx, edi
imul ecx, ebp
mov dword [esi + 0x48], ecx
add word [eax], bx
mov ecx, dword [esi]
mov eax, dword [ecx + 4]
movzx ecx, word [ecx]
lea edx, [ecx + ecx*2]
lea ecx, [eax + edx*2]
nop
movzx edx, byte [eax]
add eax, 6
mov byte [esp + edx + 0x1c], 0
cmp eax, ecx
jne 0x4274d0
jmp 0x4273b0
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x10c
ret
mov ecx, dword [esi]
mov edi, dword [ecx + 4]
mov ecx, eax
lea esp, [esp]
movzx edx, byte [edi]
movzx ebx, byte [edi + 1]
movzx edx, byte [esp + edx + 0x1c]
and edx, ebx
add edi, 6
sub eax, edx
jns 0x427500
movzx edx, byte [edi - 5]
sub edi, 6
sub ecx, eax
mov ebx, ebp
sub ecx, edx
imul ecx, ebx
sub dword [esi + 0x4c], ecx
mov eax, ebx
imul eax, edx
mov dword [esi + 0x48], eax
cmp eax, 0x1000000
jae 0x427572
mov ecx, dword [esi + 0x54]
mov eax, dword [ecx]
call eax
mov edx, dword [esi + 0x4c]
shl dword [esi + 0x48], 8
movzx ecx, al
shl edx, 8
or ecx, edx
cmp dword [esi + 0x48], 0x1000000
mov dword [esi + 0x4c], ecx
jae 0x427572
mov ecx, dword [esi + 0x54]
mov eax, dword [ecx]
call eax
mov edx, dword [esi + 0x4c]
movzx ecx, al
shl edx, 8
or ecx, edx
shl dword [esi + 0x48], 8
mov dword [esi + 0x4c], ecx
mov eax, dword [esp + 0x10]
mov cl, byte [eax + 2]
cmp cl, 7
jae 0x427592
dec byte [eax + 3]
jne 0x427592
shl word [eax], 1
mov dl, 3
shl dl, cl
inc cl
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov dword [esi + 8], edi
mov bl, byte [edi]
mov ecx, esi
call fcn.00426fd0
pop edi
pop esi
pop ebp
movzx eax, bl
pop ebx
add esp, 0x10c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffffe
pop ebx
add esp, 0x10c
ret