Function at 0x427420
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov eax, ecx
mov dword [ebp - 0xc], edx
push ebx
push esi
xor ecx, ecx
mov dword [ebp - 0x20], eax
mov ebx, dword [eax + 0x34]
movzx esi, byte [eax + 6]
push edi
xor edi, edi
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x18], ecx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x1c], edi
cmp byte [eax + 2], cl
je 0x4274ec
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x18]
add ecx, eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 8], ecx
mov dword [ebp - 0x14], eax
cmp ecx, 0x80
jae 0x42747c
mov byte [esi + edx], cl
lea eax, [edi + 1]
jmp 0x427492
mov eax, ecx
mov ecx, dword [ebp - 0xc]
cdq
push edx
push eax
lea ecx, [esi + ecx]
call fcn.00413e70
mov edx, dword [ebp - 0xc]
add esp, 8
mov ecx, dword [ebx + 8]
mov ebx, dword [ebx + 0xc]
movzx eax, al
add esi, eax
add edx, esi
test ebx, ebx
ja 0x4274de
jb 0x4274aa
cmp ecx, 0x7f
ja 0x4274b6
and cl, 0x7f
mov eax, 1
mov byte [edx], cl
jmp 0x427525
test ebx, ebx
ja 0x4274de
jb 0x4274c4
cmp ecx, 0x3fff
ja 0x4274de
mov eax, ecx
shrd eax, ebx, 7
or al, 0x80
shr ebx, 7
and cl, 0x7f
mov byte [edx], al
mov byte [edx + 1], cl
mov eax, 2
jmp 0x427525
push ebx
push ecx
mov ecx, edx
call fcn.00413d60
add esp, 8
jmp 0x427525
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov eax, dword [eax]
mov dword [ebp - 8], ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], eax
cmp ecx, 0x80
jae 0x42750f
mov byte [esi + edx], cl
mov eax, 1
jmp 0x427522
mov eax, ecx
mov ecx, dword [ebp - 0xc]
cdq
push edx
push eax
lea ecx, [esi + ecx]
call fcn.00413e70
add esp, 8
movzx eax, al
mov ecx, dword [ebp - 0x20]
add esi, eax
mov edx, dword [ebp - 8]
movzx eax, word [ecx + 0xa]
mov dword [ebp - 0x20], eax
cmp edx, eax
jg 0x427554
mov eax, 4
lea ecx, [edx + esi]
cmp ecx, eax
mov ebx, edx
cmovl ecx, eax
mov eax, dword [ebp + 0xc]
mov dword [eax], ecx
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
jmp 0x427589
movzx ebx, word [ecx + 0xc]
mov eax, edx
mov ecx, dword [ecx + 0x34]
sub eax, ebx
xor edx, edx
mov ecx, dword [ecx + 0x24]
sub ecx, 4
div ecx
lea eax, [edx + ebx]
cmp eax, dword [ebp - 0x20]
cmovle ebx, eax
mov eax, dword [ebp + 0xc]
lea edx, [ebx + esi]
lea ecx, [edx + 4]
mov dword [eax], ecx
mov eax, dword [ebp - 0xc]
lea ecx, [edx + eax]
mov edx, dword [ebp - 8]
mov dword [ebp - 0xc], ecx
add eax, esi
mov dword [ebp - 0x20], eax
test edx, edx
jle 0x42779b
mov ecx, dword [ebp - 0x10]
nop dword [eax]
test ebx, ebx
jne 0x4276dd
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x28], edi
cmp byte [ecx + 0x11], bl
je 0x427606
mov ebx, dword [ecx + 0x20]
inc edi
cmp edi, 2
jae 0x4275c0
xor ecx, ecx
jmp 0x4275ee
mov eax, 0xcccccccd
lea esi, [edi - 2]
mul dword [ecx + 0x24]
mov eax, esi
mov ecx, edx
xor edx, edx
shr ecx, 2
inc ecx
div ecx
mov eax, dword [0x659880]
sub esi, edx
xor edx, edx
div ebx
add esi, 2
inc eax
cmp esi, eax
lea ecx, [esi + 1]
cmovne ecx, esi
cmp ecx, edi
mov ecx, dword [ebp - 4]
je 0x4275b6
mov eax, dword [0x659880]
xor edx, edx
div ebx
inc eax
cmp edi, eax
je 0x4275b6
mov dword [ebp - 0x1c], edi
push 0
lea eax, [ebp - 0x1c]
push edi
push eax
lea edx, [ebp - 0x24]
call fcn.00426950
mov ecx, dword [ebp - 4]
add esp, 0xc
mov ebx, dword [ebp - 0x24]
mov esi, eax
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0x20], esi
cmp byte [ecx + 0x11], 0
je 0x42767f
test esi, esi
jne 0x427752
lea eax, [ebp - 0x20]
mov edx, edi
push eax
mov eax, dword [ebp - 0x28]
test eax, eax
push eax
setne al
add al, 3
movzx eax, al
push eax
call fcn.004221f0
mov esi, dword [ebp - 0x20]
add esp, 0xc
test esi, esi
je 0x427687
test ebx, ebx
je 0x42767f
mov ecx, dword [ebx + 0x48]
test byte [ecx + 0x18], 0x20
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x28], eax
je 0x427672
call fcn.0041ca20
jmp 0x427677
call fcn.00418bf0
mov ecx, dword [ebp - 0x28]
call fcn.0041dc80
test esi, esi
jne 0x427752
mov ecx, dword [ebp - 0xc]
mov eax, edi
bswap eax
mov dword [ecx], eax
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x4276b6
mov ecx, dword [eax + 0x48]
test byte [ecx + 0x18], 0x20
mov esi, dword [ecx + 0x10]
je 0x4276aa
call fcn.0041ca20
jmp 0x4276af
call fcn.00418bf0
mov ecx, esi
call fcn.0041dc80
mov eax, dword [ebx + 0x38]
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x18], ebx
mov dword [eax], 0
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 0x38]
mov ebx, dword [ebp - 4]
add eax, 4
mov dword [ebp - 0x20], eax
mov ebx, dword [ebx + 0x24]
sub ebx, 4
cmp edx, ebx
mov esi, edx
cmovg esi, ebx
test ecx, ecx
jle 0x4276f9
cmp esi, ecx
cmovg esi, ecx
push esi
push dword [ebp - 0x14]
push eax
call fcn.005cf460
jmp 0x427702
push esi
push 0
push eax
call fcn.005cf9e0
mov edx, dword [ebp - 8]
add esp, 0xc
mov eax, dword [ebp - 0x20]
sub edx, esi
mov ecx, dword [ebp - 0x10]
add eax, esi
add dword [ebp - 0x14], esi
sub ecx, esi
sub ebx, esi
mov dword [ebp - 8], edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], ecx
test edx, edx
jg 0x4275a0
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x42779b
mov ecx, dword [ecx + 0x48]
test byte [ecx + 0x18], 0x20
mov esi, dword [ecx + 0x10]
je 0x42778f
call fcn.0041ca20
mov ecx, esi
call fcn.0041dc80
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x427786
mov ecx, dword [ecx + 0x48]
test byte [ecx + 0x18], 0x20
mov edi, dword [ecx + 0x10]
je 0x42777a
call fcn.0041ca20
mov ecx, edi
call fcn.0041dc80
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00418bf0
mov ecx, edi
call fcn.0041dc80
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00418bf0
mov ecx, esi
call fcn.0041dc80
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret