Function at 0x64a72550
Capabilities:
Access peb ldr_data
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
mov esi, edx
push ebx
mov ebx, eax
sub esp, 0x4c
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 0x14]
cmp ecx, 2
je 0x64a725e0
cmp ecx, 3
je 0x64a725b0
cmp ecx, 1
je 0x64a72628
test eax, eax
jne 0x64a72ae0
mov eax, dword [ebp + 0x10]
test eax, eax
jne 0x64a729c0
jmp 0x64a725a4
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x64a725a4
fstp st(0)
fstp st(0)
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
fld dword [edx + 4]
fld dword [ebx + 4]
fld dword [edx]
fld dword [ebx]
test eax, eax
jne 0x64a729f0
mov eax, dword [ebp + 0x10]
test eax, eax
jne 0x64a72ac0
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
fld dword [edx + 4]
fld dword [ebx + 4]
fld dword [edx]
fld dword [ebx]
test eax, eax
jne 0x64a726d8
mov edx, dword [ebp + 0x10]
test edx, edx
je 0x64a72590
fld dword [ebp + 8]
fstp dword [esp + 0x10]
fxch st(3)
fstp dword [esp + 0xc]
fstp dword [esp + 8]
fstp dword [esp + 4]
mov edx, edi
xor eax, eax
fstp dword [esp]
call sym._add_bevel_point.isra.0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
fld dword [ebx + 4]
fld dword [edx + 4]
fsub st(1)
fld dword [ebx]
fld dword [edx]
fsub st(1)
fld st(2)
fmul st(3)
fld st(1)
fmul st(2)
faddp st(1)
fsqrt
fld dword [ebp + 8]
fmul dword [0x64abb53c]
fmul st(2), st(0)
fxch st(2)
fdiv st(1)
fxch st(4)
fmulp st(2)
fdivp st(1)
test eax, eax
jne 0x64a72b18
fstp st(3)
fstp st(0)
fxch st(1)
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x64a725a0
fld dword [ebx + 4]
mov eax, dword fs:[0x18]
fadd st(1)
fadd st(2)
fstp dword [ebp - 0x1c]
fxch st(1)
fadd dword [ebx]
mov ebx, dword [edi]
fsubrp st(1)
fstp dword [ebp - 0x20]
mov dword [esp + 8], 0x10
mov dword [esp + 4], 8
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
sub esp, 0xc
test eax, eax
je 0x64a726c9
fld dword [ebp - 0x20]
mov byte [eax + 8], 1
fstp dword [eax]
fld dword [ebp - 0x1c]
fstp dword [eax + 4]
mov edx, dword [ebx + 0xc]
mov dword [eax + 0xc], edx
mov dword [ebx + 0xc], eax
mov dword [edi], eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
fxch st(3)
fsub st(2)
fxch st(1)
mov edx, dword [edi]
mov esi, dword [sym.imp.kernel32.dll_HeapAlloc]
mov eax, dword fs:[0x18]
mov dword [ebp - 0x34], edx
fsub st(3)
fld st(1)
fmul st(2)
fld st(1)
fmul st(2)
faddp st(1)
fsqrt
fld dword [ebp + 8]
fmul dword [0x64abb53c]
fmul st(2), st(0)
fxch st(2)
fdiv st(1)
fst dword [ebp - 0x1c]
fxch st(3)
fmulp st(2)
fdivp st(1)
fst dword [ebp - 0x20]
fld dword [0x64abb538]
fld st(2)
fmul st(1)
fstp dword [ebp - 0x24]
fmul st(1)
fstp dword [ebp - 0x28]
fxch st(2)
fsubrp st(1)
fstp dword [ebp - 0x2c]
faddp st(1)
fstp dword [ebp - 0x30]
mov dword [esp + 8], 0x10
mov dword [esp + 4], 8
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call esi
sub esp, 0xc
mov ecx, eax
test eax, eax
je 0x64a72775
fld dword [ebp - 0x30]
mov edx, dword [ebp - 0x34]
mov byte [eax + 8], 1
fstp dword [eax]
fld dword [ebp - 0x2c]
fstp dword [eax + 4]
mov eax, dword [edx + 0xc]
mov dword [ecx + 0xc], eax
mov dword [edx + 0xc], ecx
mov dword [edi], ecx
fld dword [ebp - 0x1c]
fsubr dword [ebx + 4]
mov dword [ebp - 0x34], ecx
mov eax, dword fs:[0x18]
fadd dword [ebp - 0x28]
fstp dword [ebp - 0x2c]
fld dword [ebp - 0x20]
fadd dword [ebx]
fld dword [ebp - 0x24]
faddp st(1)
fstp dword [ebp - 0x30]
mov dword [esp + 8], 0x10
mov dword [esp + 4], 8
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call esi
sub esp, 0xc
mov edx, eax
test eax, eax
je 0x64a727d8
fld dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
mov byte [eax + 8], 3
fstp dword [eax]
fld dword [ebp - 0x2c]
fstp dword [eax + 4]
mov eax, dword [ecx + 0xc]
mov dword [edx + 0xc], eax
mov dword [ecx + 0xc], edx
mov dword [edi], edx
fld dword [ebp - 0x20]
fadd dword [ebx + 4]
mov dword [ebp - 0x34], edx
mov eax, dword fs:[0x18]
fsub dword [ebp - 0x24]
fstp dword [ebp - 0x2c]
fld dword [ebp - 0x1c]
fadd dword [ebx]
fld dword [ebp - 0x28]
faddp st(1)
fstp dword [ebp - 0x30]
mov dword [esp + 8], 0x10
mov dword [esp + 4], 8
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call esi
sub esp, 0xc
mov ecx, eax
test eax, eax
je 0x64a7283b
fld dword [ebp - 0x30]
mov edx, dword [ebp - 0x34]
mov byte [eax + 8], 3
fstp dword [eax]
fld dword [ebp - 0x2c]
fstp dword [eax + 4]
mov eax, dword [edx + 0xc]
mov dword [ecx + 0xc], eax
mov dword [edx + 0xc], ecx
mov dword [edi], ecx
fld dword [ebp - 0x20]
fadd dword [ebx + 4]
mov dword [ebp - 0x34], ecx
mov eax, dword fs:[0x18]
fstp dword [ebp - 0x2c]
fld dword [ebp - 0x1c]
fadd dword [ebx]
fstp dword [ebp - 0x30]
mov dword [esp + 8], 0x10
mov dword [esp + 4], 8
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call esi
sub esp, 0xc
mov edx, eax
test eax, eax
je 0x64a72896
fld dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
mov byte [eax + 8], 3
fstp dword [eax]
fld dword [ebp - 0x2c]
fstp dword [eax + 4]
mov eax, dword [ecx + 0xc]
mov dword [edx + 0xc], eax
mov dword [ecx + 0xc], edx
mov dword [edi], edx
fld dword [ebp - 0x20]
fadd dword [ebx + 4]
mov dword [ebp - 0x34], edx
mov eax, dword fs:[0x18]
fadd dword [ebp - 0x24]
fstp dword [ebp - 0x2c]
fld dword [ebp - 0x1c]
fadd dword [ebx]
fld dword [ebp - 0x28]
fsubp st(1)
fstp dword [ebp - 0x30]
mov dword [esp + 8], 0x10
mov dword [esp + 4], 8
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call esi
sub esp, 0xc
mov ecx, eax
test eax, eax
je 0x64a728f9
fld dword [ebp - 0x30]
mov edx, dword [ebp - 0x34]
mov byte [eax + 8], 3
fstp dword [eax]
fld dword [ebp - 0x2c]
fstp dword [eax + 4]
mov eax, dword [edx + 0xc]
mov dword [ecx + 0xc], eax
mov dword [edx + 0xc], ecx
mov dword [edi], ecx
fld dword [ebp - 0x1c]
fadd dword [ebx + 4]
mov dword [ebp - 0x2c], ecx
mov eax, dword fs:[0x18]
fadd dword [ebp - 0x28]
fstp dword [ebp - 0x28]
fld dword [ebp - 0x20]
fsubr dword [ebx]
fld dword [ebp - 0x24]
faddp st(1)
fstp dword [ebp - 0x24]
mov dword [esp + 8], 0x10
mov dword [esp + 4], 8
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call esi
sub esp, 0xc
mov edx, eax
test eax, eax
je 0x64a7295c
fld dword [ebp - 0x24]
mov ecx, dword [ebp - 0x2c]
mov byte [eax + 8], 3
fstp dword [eax]
fld dword [ebp - 0x28]
fstp dword [eax + 4]
mov eax, dword [ecx + 0xc]
mov dword [edx + 0xc], eax
mov dword [ecx + 0xc], edx
mov dword [edi], edx
fld dword [ebp - 0x1c]
fadd dword [ebx + 4]
mov dword [ebp - 0x24], edx
mov eax, dword fs:[0x18]
fstp dword [ebp - 0x1c]
fld dword [ebp - 0x20]
fsubr dword [ebx]
fstp dword [ebp - 0x20]
mov dword [esp + 8], 0x10
mov dword [esp + 4], 8
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call esi
sub esp, 0xc
test eax, eax
je 0x64a726c9
fld dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
mov byte [eax + 8], 3
fstp dword [eax]
fld dword [ebp - 0x1c]
fstp dword [eax + 4]
mov ecx, dword [edx + 0xc]
mov dword [eax + 0xc], ecx
mov dword [edx + 0xc], eax
mov dword [edi], eax
jmp 0x64a726cb
fld dword [ebp + 8]
mov edx, edi
xor eax, eax
fstp dword [esp + 0x10]
fld dword [esi + 4]
fstp dword [esp + 0xc]
fld dword [esi]
fstp dword [esp + 8]
fld dword [ebx + 4]
fstp dword [esp + 4]
fld dword [ebx]
fstp dword [esp]
call sym._add_bevel_point.isra.0
jmp 0x64a725a4
fld st(3)
mov edx, edi
mov eax, 1
fsub st(3)
fld st(2)
fsub st(2)
fld st(1)
fmul st(2)
fxch st(2)
fstp dword [ebp - 0x28]
fld st(0)
fmul st(1)
fxch st(1)
fstp dword [ebp - 0x24]
faddp st(1)
fsqrt
fstp dword [ebp - 0x20]
fld dword [ebp + 8]
fmul dword [0x64abb52c]
fstp dword [ebp - 0x1c]
fld dword [ebp + 8]
fstp dword [esp + 0x10]
fxch st(3)
fstp dword [esp + 0xc]
fstp dword [esp + 8]
fstp dword [esp + 4]
fstp dword [esp]
call sym._add_bevel_point.isra.0
fld dword [ebp - 0x1c]
fld dword [ebp - 0x28]
mov edx, dword [edi]
mov eax, dword fs:[0x18]
fmul st(1)
fld dword [ebp - 0x20]
fdiv st(1), st(0)
fxch st(1)
fsubr dword [ebx + 4]
fstp dword [ebp - 0x1c]
fld dword [ebp - 0x24]
mov dword [ebp - 0x24], edx
fmulp st(2)
fdivp st(1)
fsubr dword [ebx]
fstp dword [ebp - 0x20]
mov dword [esp + 8], 0x10
mov dword [esp + 4], 8
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
sub esp, 0xc
test eax, eax
je 0x64a72aae
fld dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
mov byte [eax + 8], 1
fstp dword [eax]
fld dword [ebp - 0x1c]
fstp dword [eax + 4]
mov ecx, dword [edx + 0xc]
mov dword [eax + 0xc], ecx
mov dword [edx + 0xc], eax
mov dword [edi], eax
fld dword [ebx]
fld dword [ebx + 4]
fld dword [esi]
fld dword [esi + 4]
jmp 0x64a72ac8
fxch st(3)
lea esi, [esi]
fld dword [ebp + 8]
fstp dword [esp + 0x10]
fstp dword [esp + 0xc]
fstp dword [esp + 8]
jmp 0x64a7260a
fld dword [ebp + 8]
mov eax, 1
fstp dword [esp + 0x10]
fld dword [edx + 4]
fstp dword [esp + 0xc]
fld dword [edx]
mov edx, edi
fstp dword [esp + 8]
fld dword [ebx + 4]
fstp dword [esp + 4]
fld dword [ebx]
fstp dword [esp]
call sym._add_bevel_point.isra.0
jmp 0x64a7257e
fadd st(3), st(0)
fxch st(3)
mov esi, dword [edi]
mov eax, dword fs:[0x18]
fsub st(2)
fstp dword [ebp - 0x24]
fadd st(1)
fxch st(1)
fstp dword [ebp - 0x20]
fadd st(1)
fxch st(1)
fstp dword [ebp - 0x1c]
fstp dword [ebp - 0x28]
mov dword [esp + 8], 0x10
mov dword [esp + 4], 8
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
fld dword [ebp - 0x1c]
fld dword [ebp - 0x20]
sub esp, 0xc
test eax, eax
je 0x64a72b7e
fld dword [ebp - 0x28]
mov byte [eax + 8], 1
fstp dword [eax]
fld dword [ebp - 0x24]
fstp dword [eax + 4]
mov edx, dword [esi + 0xc]
mov dword [eax + 0xc], edx
mov dword [esi + 0xc], eax
fxch st(1)
mov dword [edi], eax
jmp 0x64a72665