Function at 0x408480
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x18
movsx eax, word [esp + 0x24]
push ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x28], eax
push ebp
fild dword [esp + 0x2c]
mov ebp, dword [esp + 0x28]
push esi
push edi
push ebp
fstp dword [esp + 0x1c]
mov esi, ecx
push ebx
call fcn.00408a50
and eax, 0xffff
mov dword [esp + 0x34], eax
fild dword [esp + 0x34]
fmul dword [esp + 0x3c]
fsubr dword [esp + 0x18]
call fcn.00408f8c
movsx ecx, word [esp + 0x38]
mov dword [esp + 0x38], ecx
push ebp
fild dword [esp + 0x3c]
push ebx
mov ecx, esi
mov dword [esp + 0x3c], eax
fstp dword [esp + 0x38]
call fcn.00408aa0
and eax, 0xffff
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
fmul dword [esp + 0x3c]
fsubr dword [esp + 0x30]
call fcn.00408f8c
cmp bx, word [esi + 0x124]
mov dword [esp + 0x38], eax
jae 0x4085cd
mov edx, dword [esi + 0x14]
mov edi, ebx
and edi, 0xffff
xor ecx, ecx
and ebp, 0xffff
lea edi, [edi + edi*2]
shl edi, 2
mov cx, word [edi + edx + 2]
lea eax, [edi + edx]
xor edx, edx
mov dx, word [eax]
sub ecx, edx
cmp ebp, ecx
jge 0x4085cd
push ebx
mov ecx, esi
call fcn.00408a30
mov eax, dword [esi + 0x14]
xor ecx, ecx
fmul dword [esp + 0x3c]
mov cx, word [edi + eax]
mov bx, word [esi + 0x12a]
mov eax, ecx
and ebx, 0xffff
add eax, ebp
movsx ebp, word [esp + 0x38]
fstp dword [esp + 0x3c]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x18]
cmp ebp, ebx
mov dword [esp + 0x18], ebp
mov di, word [eax + edx*2 + 8]
lea eax, [eax + edx*2]
jge 0x4085cd
mov cx, word [esi + 0x128]
movsx edx, word [esp + 0x34]
and ecx, 0xffff
mov dword [esp + 0x2c], edx
cmp edx, ecx
mov dword [esp + 0x1c], ecx
jge 0x4085cd
mov cx, word [eax + 4]
mov ax, word [eax + 6]
movsx edx, ax
mov dword [esp + 0x14], edx
mov dword [esp + 0x24], eax
fild dword [esp + 0x14]
mov dword [esp + 0x20], ecx
fmul dword [esp + 0x3c]
fcom dword [0x411208]
fnstsw ax
test ah, 1
je 0x4085d9
fstp st(0)
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x18
ret 0x18
test cx, cx
jle 0x4085f3
movsx eax, cx
mov dword [esp + 0x30], eax
fild dword [esp + 0x30]
fmul dword [esp + 0x3c]
fiadd dword [esp + 0x2c]
jmp 0x408608
fild dword [esp + 0x2c]
movsx ecx, cx
mov dword [esp + 0x30], ecx
fild dword [esp + 0x30]
fmul dword [esp + 0x3c]
fsubp st(1)
call fcn.00408f8c
fild dword [esp + 0x18]
mov dword [esp + 0x10], eax
fadd st(1)
call fcn.00408f8c
mov ecx, dword [esp + 0x10]
mov edx, eax
test cx, cx
fstp st(0)
jle 0x4085cd
test dx, dx
jl 0x4085cd
mov al, byte [esi + 0x10]
fld dword [esp + 0x3c]
inc al
imul byte [esp + 0x40]
fcomp qword [0x411200]
mov byte [esp + 0x40], al
fnstsw ax
test ah, 0x40
je 0x408697
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esi + 0xc]
push edx
push ebp
mov edx, dword [esi + 8]
push eax
mov ax, word [esi + 0x12a]
push ecx
push eax
mov ax, word [esi + 0x128]
and edi, 0xffff
push eax
mov eax, dword [esi + 4]
push edx
mov edx, dword [esi + 0x120]
mov ecx, dword [eax + edi*4]
add ecx, edx
push ecx
mov ecx, esi
call fcn.004018d0
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x18
ret 0x18
mov ebp, dword [esp + 0x1c]
movsx eax, cx
cmp ebp, eax
jge 0x4086af
mov ax, word [esi + 0x128]
mov dword [esp + 0x2c], eax
jmp 0x4086b3
mov dword [esp + 0x2c], ecx
cmp word [esp + 0x20], 0
jle 0x4086c5
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x10], ecx
jmp 0x4086cf
mov eax, dword [esp + 0x30]
neg eax
mov dword [esp + 0x10], eax
movsx eax, dx
cmp ebx, eax
jge 0x4086e3
mov ax, word [esi + 0x12a]
mov dword [esp + 0x30], eax
jmp 0x4086e7
mov dword [esp + 0x30], edx
movsx ecx, word [esp + 0x10]
shl ecx, 1
push ecx
call fcn.00408ed9
movsx edx, word [esp + 0x30]
shl edx, 1
push edx
mov ebx, eax
call fcn.00408ed9
mov ebp, eax
mov eax, dword [esp + 0x1c]
lea ecx, [eax + eax]
push ecx
call fcn.00408ed9
movsx edx, word [esp + 0x3c]
shl edx, 1
push edx
mov dword [esp + 0x24], eax
call fcn.00408ed9
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
fld dword [esp + 0x4c]
add esp, 0x10
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x40]
fmul dword [0x4111f8]
push eax
mov eax, dword [esi + 0xc]
push ecx
mov cx, word [esi + 0x12a]
push edx
mov dx, word [esi + 0x128]
push eax
mov eax, dword [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x38]
push edx
mov edx, dword [esp + 0x44]
push eax
mov eax, dword [esp + 0x2c]
push ecx
push edx
push eax
call fcn.00408f8c
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
push eax
mov eax, dword [esi + 8]
push ecx
mov ecx, dword [esi + 4]
push edx
push ebp
and edi, 0xffff
push ebx
push eax
mov eax, dword [esi + 0x120]
mov edx, dword [ecx + edi*4]
mov ecx, esi
add edx, eax
push edx
call fcn.00401660
push ebx
call fcn.00408ece
push ebp
call fcn.00408ece
mov eax, dword [esp + 0x1c]
push eax
call fcn.00408ece
mov ecx, dword [esp + 0x24]
push ecx
call fcn.00408ece
add esp, 0x10
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 0x18