Function at 0x43c300
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x54
push ebx
push esi
mov esi, dword [ebp + 0x1c]
push edi
mov edi, dword [ebp + 0xc]
lea eax, [esi + 1]
imul eax, edi
xor ecx, ecx
mov edx, 0x10
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00452d7b
fld1
fld qword [0x4853e8]
add esp, 4
test esi, esi
mov dword [esp + 0x18], eax
jle 0x43c75d
mov ecx, edi
xor ebx, ebx
shl ecx, 4
add eax, 8
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x30], esi
xor eax, eax
test edi, edi
mov dword [esp + 0x14], eax
jle 0x43c747
fild dword [ebp + 0x18]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x28], ecx
fstp dword [esp + 0x34]
fild dword [ebp + 0xc]
fstp dword [esp + 0x38]
fild dword [esp + 0x14]
add eax, 1
fld dword [esp + 0x34]
mov dword [esp + 0x20], eax
fld st(0)
fmulp st(2)
fld dword [esp + 0x38]
fld st(0)
fdivp st(3)
fxch st(2)
fstp dword [esp + 0x24]
fimul dword [esp + 0x20]
fdivrp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x24]
fld st(0)
call fcn.00453610
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x3c], eax
fisub dword [esp + 0x3c]
add eax, ebx
movzx ecx, byte [edx + eax*4 + 3]
lea eax, [edx + eax*4]
mov dword [esp + 0x3c], ecx
movzx edx, byte [eax + 2]
fsubr st(2)
movzx ecx, byte [eax + 1]
fld st(0)
fldz
fadd st(1), st(0)
fild dword [esp + 0x3c]
mov dword [esp + 0x3c], edx
movzx edx, byte [eax]
fmulp st(3)
fld st(2)
fadd st(1)
fxch st(3)
fdiv st(4)
fld st(0)
fadd st(2)
fild dword [esp + 0x3c]
mov dword [esp + 0x3c], ecx
fmul st(2)
fadd st(3)
fstp qword [esp + 0x40]
fild dword [esp + 0x3c]
mov dword [esp + 0x3c], edx
fmul st(2)
faddp st(3)
fild dword [esp + 0x3c]
fmulp st(2)
fxch st(1)
fadd qword [0x486000]
fstp qword [esp + 0x48]
fld dword [esp + 0x24]
fadd st(6)
call fcn.00453610
fld dword [esp + 0x14]
mov esi, eax
call fcn.00453610
mov edx, eax
sub eax, esi
cmp eax, 4
mov dword [esp + 0x24], edx
jl 0x43c5de
mov ecx, dword [ebp + 0x14]
add ebx, esi
lea eax, [ecx + ebx*4 + 7]
mov ecx, edx
sub ecx, esi
sub ecx, 4
shr ecx, 2
add ecx, 1
lea esi, [esi + ecx*4]
jmp 0x43c46f
fxch st(1)
fxch st(2)
movzx ebx, byte [eax - 4]
mov dword [esp + 0x3c], ebx
movzx ebx, byte [eax - 5]
fild dword [esp + 0x3c]
mov dword [esp + 0x3c], ebx
movzx ebx, byte [eax - 6]
fld st(0)
faddp st(5)
fdiv st(5)
fld st(0)
faddp st(2)
fild dword [esp + 0x3c]
mov dword [esp + 0x3c], ebx
movzx ebx, byte [eax - 7]
fmul st(1)
fadd qword [esp + 0x40]
fstp qword [esp + 0x40]
fild dword [esp + 0x3c]
mov dword [esp + 0x3c], ebx
movzx ebx, byte [eax]
fmul st(1)
faddp st(3)
fild dword [esp + 0x3c]
mov dword [esp + 0x3c], ebx
movzx ebx, byte [eax - 1]
fmulp st(1)
fadd qword [esp + 0x48]
fstp qword [esp + 0x48]
fild dword [esp + 0x3c]
mov dword [esp + 0x3c], ebx
movzx ebx, byte [eax - 2]
fld st(0)
faddp st(5)
fdiv st(5)
fld st(0)
faddp st(2)
fild dword [esp + 0x3c]
mov dword [esp + 0x3c], ebx
movzx ebx, byte [eax - 3]
fmul st(1)
fadd qword [esp + 0x40]
fstp qword [esp + 0x40]
fild dword [esp + 0x3c]
mov dword [esp + 0x3c], ebx
movzx ebx, byte [eax + 4]
fmul st(1)
faddp st(3)
fild dword [esp + 0x3c]
mov dword [esp + 0x3c], ebx
movzx ebx, byte [eax + 3]
fmulp st(1)
fadd qword [esp + 0x48]
fstp qword [esp + 0x48]
fild dword [esp + 0x3c]
mov dword [esp + 0x3c], ebx
movzx ebx, byte [eax + 2]
fld st(0)
faddp st(5)
fdiv st(5)
fld st(0)
faddp st(2)
fild dword [esp + 0x3c]
mov dword [esp + 0x3c], ebx
movzx ebx, byte [eax + 1]
fmul st(1)
fadd qword [esp + 0x40]
fstp qword [esp + 0x40]
fild dword [esp + 0x3c]
mov dword [esp + 0x3c], ebx
fmul st(1)
faddp st(3)
fxch st(2)
fstp qword [esp + 0x58]
fild dword [esp + 0x3c]
fmulp st(2)
fxch st(1)
fadd qword [esp + 0x48]
fstp qword [esp + 0x48]
fxch st(1)
fadd st(4)
fadd st(4)
movzx ebx, byte [eax + 8]
fadd st(4)
mov dword [esp + 0x3c], ebx
movzx ebx, byte [eax + 7]
fadd st(4)
fild dword [esp + 0x3c]
mov dword [esp + 0x3c], ebx
movzx ebx, byte [eax + 6]
fld st(0)
faddp st(4)
add eax, 0x10
sub ecx, 1
fdiv st(4)
fld st(0)
faddp st(3)
fild dword [esp + 0x3c]
mov dword [esp + 0x3c], ebx
movzx ebx, byte [eax - 0xb]
fmul st(1)
fadd qword [esp + 0x40]
fstp qword [esp + 0x40]
fild dword [esp + 0x3c]
mov dword [esp + 0x3c], ebx
fmul st(1)
fadd qword [esp + 0x58]
fild dword [esp + 0x3c]
fmulp st(2)
fxch st(1)
fadd qword [esp + 0x48]
fstp qword [esp + 0x48]
jne 0x43c46b
mov ebx, dword [esp + 0x2c]
jmp 0x43c5e2
fxch st(2)
fxch st(1)
cmp esi, edx
jge 0x43c65d
mov ecx, dword [ebp + 0x14]
lea eax, [ebx + esi]
lea eax, [ecx + eax*4 + 3]
mov ecx, edx
sub ecx, esi
movzx esi, byte [eax]
fxch st(1)
fadd st(5)
mov dword [esp + 0x3c], esi
movzx esi, byte [eax - 1]
fild dword [esp + 0x3c]
mov dword [esp + 0x3c], esi
movzx esi, byte [eax - 2]
fld st(0)
faddp st(5)
add eax, 4
sub ecx, 1
fdiv st(5)
fst qword [esp + 0x50]
fld st(0)
faddp st(4)
fild dword [esp + 0x3c]
mov dword [esp + 0x3c], esi
movzx esi, byte [eax - 7]
fmulp st(1)
fadd qword [esp + 0x40]
fstp qword [esp + 0x40]
fild dword [esp + 0x3c]
mov dword [esp + 0x3c], esi
fld qword [esp + 0x50]
fmul st(1), st(0)
fxch st(1)
faddp st(3)
fild dword [esp + 0x3c]
fmulp st(1)
fadd qword [esp + 0x48]
fstp qword [esp + 0x48]
fxch st(1)
jne 0x43c5f4
fild dword [esp + 0x24]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fld dword [esp + 0x14]
fcompp
fnstsw ax
test ah, 0x41
jne 0x43c6e6
mov eax, dword [ebp + 0x14]
fld dword [esp + 0x14]
fsub dword [esp + 0x24]
add edx, ebx
movzx ecx, byte [eax + edx*4 + 3]
lea eax, [eax + edx*4]
fld st(0)
mov dword [esp + 0x3c], ecx
faddp st(3)
movzx edx, byte [eax + 2]
fild dword [esp + 0x3c]
movzx ecx, byte [eax + 1]
fmulp st(1)
mov dword [esp + 0x3c], edx
movzx edx, byte [eax]
fld st(0)
faddp st(5)
fdiv st(5)
fst qword [esp + 0x50]
fld st(0)
faddp st(4)
fild dword [esp + 0x3c]
mov dword [esp + 0x3c], ecx
fmulp st(1)
fadd qword [esp + 0x40]
fstp qword [esp + 0x40]
fild dword [esp + 0x3c]
mov dword [esp + 0x3c], edx
fld qword [esp + 0x50]
fmul st(1), st(0)
fxch st(1)
faddp st(2)
fild dword [esp + 0x3c]
fmulp st(1)
fadd qword [esp + 0x48]
jmp 0x43c6ea
fld qword [esp + 0x48]
fldz
fucomp st(3)
fnstsw ax
test ah, 0x44
jp 0x43c6fb
fstp st(2)
fld st(5)
fxch st(2)
fldz
fucomp st(4)
fnstsw ax
test ah, 0x44
jp 0x43c70c
fstp st(3)
fld st(5)
fxch st(3)
fxch st(4)
mov ecx, dword [esp + 0x28]
fdivrp st(2)
mov eax, dword [esp + 0x20]
add ecx, 0x10
cmp eax, edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x28], ecx
fxch st(1)
fstp dword [ecx - 0xc]
fld qword [esp + 0x40]
fdiv st(2)
fstp dword [ecx - 0x10]
fdiv st(1)
fstp dword [ecx - 0x14]
fdivp st(1)
fstp dword [ecx - 0x18]
jl 0x43c383
mov ecx, dword [esp + 0x1c]
add ebx, dword [ebp + 0x18]
add dword [esp + 0x10], ecx
sub dword [esp + 0x30], 1
mov dword [esp + 0x2c], ebx
jne 0x43c35f
xor ebx, ebx
test edi, edi
mov dword [esp + 0x14], ebx
jle 0x43cb83
mov eax, dword [ebp + 8]
add eax, 2
mov dword [esp + 0x24], eax
xor eax, eax
cmp dword [ebp + 0x10], eax
mov dword [esp + 0x30], eax
jle 0x43cb6f
fild dword [ebp + 0x1c]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x34], ecx
fstp dword [esp + 0x3c]
fild dword [ebp + 0x10]
fstp dword [esp + 0x38]
fild dword [esp + 0x30]
add eax, 1
fld dword [esp + 0x3c]
mov dword [esp + 0x28], eax
fld st(0)
fmulp st(2)
fld dword [esp + 0x38]
fld st(0)
fdivp st(3)
fxch st(2)
fstp dword [esp + 0x30]
fimul dword [esp + 0x28]
fdivrp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x30]
fld st(0)
call fcn.00453610
mov dword [esp + 0x2c], eax
imul eax, edi
fisub dword [esp + 0x2c]
fsubr st(2)
add eax, ebx
shl eax, 4
add eax, dword [esp + 0x18]
fld st(0)
fldz
fadd st(1), st(0)
fld dword [eax + 0xc]
fmulp st(3)
fld st(2)
fadd st(1)
fxch st(3)
fdiv st(4)
fld st(0)
fadd st(2)
fld dword [eax + 8]
fmul st(2)
fadd st(3)
fstp qword [esp + 0x40]
fld dword [eax + 4]
fmul st(2)
faddp st(3)
fld dword [eax]
fmulp st(2)
fxch st(1)
fadd qword [0x486000]
fstp qword [esp + 0x48]
fld dword [esp + 0x30]
fadd st(6)
call fcn.00453610
fld dword [esp + 0x20]
mov esi, eax
call fcn.00453610
mov ecx, eax
mov edx, eax
sub edx, esi
cmp edx, 4
mov dword [esp + 0x10], ecx
jl 0x43c9b1
mov ecx, esi
imul ecx, edi
lea edx, [esi + 3]
imul edx, edi
mov eax, edi
shl eax, 6
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x18]
add edx, ebx
add ecx, ebx
shl edx, 4
lea ebx, [edx + eax + 0xc]
mov edx, dword [esp + 0x18]
shl ecx, 4
lea ecx, [ecx + eax + 0xc]
lea eax, [esi + 2]
imul eax, edi
add eax, dword [esp + 0x14]
mov dword [esp + 0x2c], ebx
shl eax, 4
lea edi, [eax + edx + 0xc]
lea eax, [esi + 1]
imul eax, dword [ebp + 0xc]
add eax, dword [esp + 0x14]
shl eax, 4
lea edx, [eax + edx + 0xc]
mov eax, dword [esp + 0x10]
sub eax, esi
sub eax, 4
shr eax, 2
add eax, 1
lea esi, [esi + eax*4]
jmp 0x43c8b9
mov edi, dword [esp + 0x1c]
fxch st(1)
fxch st(3)
fld dword [ecx]
faddp st(4)
fld dword [ecx]
fdiv st(5)
fld st(0)
faddp st(2)
fld dword [ecx - 4]
fmul st(1)
fadd qword [esp + 0x40]
fstp qword [esp + 0x40]
fld dword [ecx - 8]
fmul st(1)
faddp st(3)
fmul dword [ecx - 0xc]
fadd qword [esp + 0x48]
fld dword [edx]
faddp st(5)
fxch st(4)
fstp qword [esp + 0x50]
fld dword [edx]
fdiv st(5)
fld st(0)
faddp st(2)
fld dword [edx - 4]
fmul st(1)
fadd qword [esp + 0x40]
fstp qword [esp + 0x40]
fld dword [edx - 8]
fmul st(1)
faddp st(3)
fmul dword [edx - 0xc]
faddp st(4)
fld dword [edi]
fadd qword [esp + 0x50]
fstp qword [esp + 0x50]
fld dword [edi]
fdiv st(5)
fld st(0)
faddp st(2)
fld dword [edi - 4]
fmul st(1)
fadd qword [esp + 0x40]
fstp qword [esp + 0x40]
fld dword [edi - 8]
fmul st(1)
faddp st(3)
fxch st(2)
fstp qword [esp + 0x58]
fld dword [edi - 0xc]
fmulp st(2)
fxch st(1)
faddp st(3)
fxch st(2)
fstp qword [esp + 0x48]
fadd st(3)
fadd st(3)
fadd st(3)
fadd st(3)
fld dword [ebx]
fadd qword [esp + 0x50]
fld dword [ebx]
fdiv st(4)
fld st(0)
faddp st(4)
fld dword [ebx - 4]
fmul st(1)
fadd qword [esp + 0x40]
fstp qword [esp + 0x40]
fld dword [ebx - 8]
fmul st(1)
fadd qword [esp + 0x58]
fld dword [ebx - 0xc]
mov ebx, dword [esp + 0x30]
fmulp st(2)
add ecx, ebx
fxch st(1)
add edx, ebx
add edi, ebx
fadd qword [esp + 0x48]
mov dword [esp + 0x1c], edi
fstp qword [esp + 0x48]
mov ebx, dword [esp + 0x2c]
add ebx, dword [esp + 0x30]
sub eax, 1
mov dword [esp + 0x2c], ebx
jne 0x43c8b1
mov edi, dword [ebp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
jmp 0x43c9b5
fxch st(3)
fxch st(1)
cmp esi, ecx
jge 0x43ca1c
mov edx, dword [esp + 0x18]
mov eax, edi
shl eax, 4
mov dword [esp + 0x1c], eax
mov eax, esi
imul eax, edi
add eax, ebx
shl eax, 4
lea eax, [eax + edx + 0xc]
mov edx, ecx
sub edx, esi
mov esi, dword [esp + 0x1c]
fxch st(2)
fadd st(5)
fld dword [eax]
faddp st(2)
fld dword [eax]
fdiv st(5)
fst qword [esp + 0x50]
fld st(0)
faddp st(5)
fmul dword [eax - 4]
fadd qword [esp + 0x40]
fstp qword [esp + 0x40]
fld dword [eax - 8]
fld qword [esp + 0x50]
fmul st(1), st(0)
fxch st(1)
faddp st(4)
fmul dword [eax - 0xc]
add eax, esi
sub edx, 1
fadd qword [esp + 0x48]
fstp qword [esp + 0x48]
fxch st(2)
jne 0x43c9dc
fild dword [esp + 0x10]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fld dword [esp + 0x20]
fcompp
fnstsw ax
test ah, 0x41
jne 0x43ca7e
fld dword [esp + 0x20]
imul ecx, edi
fsub dword [esp + 0x30]
fld st(0)
faddp st(4)
add ecx, ebx
shl ecx, 4
add ecx, dword [esp + 0x18]
fmul dword [ecx + 0xc]
fld st(0)
faddp st(3)
fdiv st(5)
fst qword [esp + 0x50]
fld st(0)
faddp st(5)
fmul dword [ecx + 8]
fadd qword [esp + 0x40]
fstp qword [esp + 0x40]
fld dword [ecx + 4]
fld qword [esp + 0x50]
fmul st(1), st(0)
fxch st(1)
faddp st(2)
fmul dword [ecx]
fadd qword [esp + 0x48]
jmp 0x43ca82
fld qword [esp + 0x48]
fldz
fucomp st(4)
fnstsw ax
test ah, 0x44
jp 0x43ca93
fstp st(3)
fld st(5)
fxch st(3)
fldz
fucomp st(5)
fnstsw ax
test ah, 0x44
jp 0x43caa4
fstp st(4)
fld st(5)
fxch st(4)
fxch st(2)
mov ecx, dword [esp + 0x34]
fdivrp st(3)
fnstcw word [esp + 0x10]
fxch st(2)
movzx eax, word [esp + 0x10]
or eax, 0xc00
mov dword [esp + 0x30], eax
fldcw word [esp + 0x30]
fistp dword [esp + 0x30]
movzx eax, byte [esp + 0x30]
mov byte [ecx + 1], al
fldcw word [esp + 0x10]
fld qword [esp + 0x40]
fdiv st(3)
fnstcw word [esp + 0x10]
movzx eax, word [esp + 0x10]
or eax, 0xc00
mov dword [esp + 0x34], eax
fldcw word [esp + 0x34]
fistp dword [esp + 0x34]
movzx edx, byte [esp + 0x34]
mov byte [ecx], dl
fldcw word [esp + 0x10]
fxch st(1)
fdiv st(2)
fnstcw word [esp + 0x10]
movzx eax, word [esp + 0x10]
or eax, 0xc00
mov dword [esp + 0x34], eax
fldcw word [esp + 0x34]
fistp dword [esp + 0x34]
movzx eax, byte [esp + 0x34]
mov byte [ecx - 1], al
fldcw word [esp + 0x10]
fdivrp st(1)
fnstcw word [esp + 0x10]
movzx eax, word [esp + 0x10]
or eax, 0xc00
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x30], eax
fldcw word [esp + 0x34]
fistp dword [esp + 0x34]
movzx edx, byte [esp + 0x34]
mov byte [ecx - 2], dl
lea edx, [edi*4]
fldcw word [esp + 0x10]
add ecx, edx
cmp eax, dword [ebp + 0x10]
mov dword [esp + 0x34], ecx
jl 0x43c79a
add dword [esp + 0x24], 4
add ebx, 1
cmp ebx, edi
mov dword [esp + 0x14], ebx
jl 0x43c775
mov eax, dword [esp + 0x18]
fstp st(1)
push eax
fstp st(0)
call fcn.00452d18
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x18