Function at 0x4ab720
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x34
push ebx
push esi
push edi
mov edi, eax
mov eax, dword [ebp + 0xc]
mov ebx, dword [eax + 0x34]
mov esi, dword [ebx + 4]
movzx ecx, byte [ebx + 7]
mov edx, dword [ebx + 0x14]
and esi, 0xff
test edi, edi
mov dword [esp + 0x28], esi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0x24], edx
jne 0x4ab761
lea edi, [ebx + 8]
jmp 0x4ab769
mov dword [esp + 0x14], 1
mov cl, byte [ebx + 6]
test cl, cl
mov eax, edi
je 0x4ab794
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x4ab794
mov ecx, dword [edi + 4]
mov edx, dword [edi]
lea eax, [esp + 0x38]
push eax
push 1
push ecx
push edx
call fcn.004d0e30
add esp, 0x10
lea eax, [esp + 0x38]
mov edx, dword [eax + 4]
mov eax, dword [eax]
lea ecx, [esp + 0x38]
push ecx
push 3
push edx
push eax
call fcn.004d0e30
mov ecx, dword [esp + 0x48]
and ecx, 0xf0
add esp, 0x10
cmp cl, 0x50
jne 0x4aba76
mov esi, dword [ebp + 8]
cmp dword [esi], 0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x10], ecx
jge 0x4ab7d5
mov dword [esi], 0
jmp 0x4ab826
mov cl, byte [ebx + 6]
test cl, cl
mov eax, edi
je 0x4ab800
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x4ab800
mov eax, dword [edi + 4]
mov ecx, dword [edi]
lea edx, [esp + 0x30]
push edx
push 1
push eax
push ecx
call fcn.004d0e30
add esp, 0x10
lea eax, [esp + 0x30]
mov ecx, dword [eax + 4]
lea edx, [esp + 0x30]
push edx
mov edx, dword [eax]
push 2
push ecx
push edx
call fcn.004d0e30
mov ecx, dword [esi]
mov eax, dword [esp + 0x44]
add esp, 0x10
cmp ecx, eax
mov ecx, dword [esp + 0x10]
jle 0x4ab826
mov dword [esi], eax
mov eax, dword [esp + 0x28]
test eax, eax
je 0x4ab896
mov eax, dword [esp + 0x14]
push eax
push 3
lea esi, [esp + 0x38]
mov eax, edi
mov ecx, ebx
call fcn.004ab080
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov eax, dword [esp + 0x18]
movzx ecx, byte [edx + eax]
mov dword [esp + 0x30], ecx
lea edx, [esp + 0x30]
fild dword [esp + 0x30]
push edx
fstp qword [esp + 0x34]
fld qword [esp + 0x34]
fdiv qword [0x66cb40]
fstp dword [esp + 0x34]
call fcn.00466780
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.0047add0
add esp, 0x14
test eax, eax
je 0x4ab9db
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4ab96b
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x2c]
mov eax, dword [esi]
imul eax, ecx
xor esi, esi
test ecx, ecx
jle 0x4ab8fa
mov ecx, dword [esp + 0x10]
add eax, ecx
mov dword [esp + 0x28], eax
lea ecx, [ecx]
mov edx, dword [esp + 0x28]
movzx eax, byte [edx + esi]
mov dword [esp + 0x18], eax
lea ecx, [esp + 0x18]
fild dword [esp + 0x18]
push ecx
fstp qword [esp + 0x1c]
fld qword [esp + 0x1c]
fdiv qword [0x66cb40]
fstp dword [esp + 0x1c]
call fcn.00466780
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x2c]
add esp, 4
inc esi
cmp esi, eax
jl 0x4ab8c0
mov al, byte [ebx + 6]
test al, al
je 0x4ab923
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4ab923
mov ecx, dword [edi + 4]
mov edx, dword [edi]
lea eax, [esp + 0x30]
push eax
push 1
push ecx
push edx
call fcn.004d0e30
add esp, 0x10
lea edi, [esp + 0x30]
mov ecx, dword [edi + 4]
mov edx, dword [edi]
lea eax, [esp + 0x28]
push eax
push 1
push ecx
push edx
call fcn.004d0e30
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
lea eax, [esp + 0x40]
push eax
push 3
push ecx
push edx
call fcn.004d0e30
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
push eax
push ecx
call fcn.0047add0
add esp, 0x28
test eax, eax
je 0x4ab9db
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x24]
test eax, eax
jg 0x4aba6a
cmp eax, 0xffffffff
je 0x4aba6a
cmp eax, 0xfffffffa
je 0x4aba6a
cmp eax, 0xfffffffe
je 0x4aba41
cmp eax, 0xfffffffb
je 0x4aba41
cmp eax, 0xfffffff9
je 0x4aba41
cmp eax, 0xfffffffd
je 0x4aba0f
cmp eax, 0xfffffff8
je 0x4aba0f
cmp eax, 0xfffffffc
jne 0x4ab9de
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x2c]
mov esi, dword [esi]
imul esi, eax
xor edi, edi
test eax, eax
jle 0x4ab9db
mov ecx, dword [esp + 0x10]
lea eax, [edi + esi]
call fcn.004ab2f0
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x2c]
inc edi
cmp edi, ecx
jl 0x4ab9c4
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
add edi, 0x1c
push edi
push ebx
call fcn.004f87f0
mov ecx, dword [esp + 0x2c]
mov edx, dword [esi]
mov eax, dword [ebp + 0xc]
add esp, 8
test ecx, ecx
mov dword [eax + 0xc], edx
jle 0x4aba03
mov ecx, dword [edi]
mov dword [eax + 0x10], ecx
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [esi]
shl edi, 2
mov eax, edi
call fcn.004ab2f0
mov ecx, dword [esp + 0x10]
lea eax, [edi + 1]
call fcn.004ab2f0
mov ecx, dword [esp + 0x10]
lea eax, [edi + 2]
call fcn.004ab2f0
mov ecx, dword [esp + 0x10]
lea eax, [edi + 3]
call fcn.004ab2f0
jmp 0x4ab9de
mov edi, dword [esi]
lea edi, [edi + edi*2]
mov eax, edi
call fcn.004ab2f0
mov ecx, dword [esp + 0x10]
lea eax, [edi + 1]
call fcn.004ab2f0
mov ecx, dword [esp + 0x10]
lea eax, [edi + 2]
call fcn.004ab2f0
jmp 0x4ab9de
mov eax, dword [esi]
call fcn.004ab2f0
jmp 0x4ab9de
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
push edx
call fcn.00466610
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.0047add0
add esp, 0xc
test eax, eax
jne 0x4abad5
test esi, esi
jne 0x4abaa7
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4ab9db
mov edx, dword [esp + 0x14]
push edx
push 3
lea esi, [esp + 0x38]
mov eax, edi
mov ecx, ebx
call fcn.004ab080
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
push eax
push ecx
call fcn.0047add0
add esp, 0x10
test eax, eax
je 0x4ab9db
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret