Function at 0x4af7a0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x5f0969
mov eax, dword fs:[0]
push eax
sub esp, 0x1a4
push ebx
push ebp
push esi
push edi
mov eax, dword [0x615cbc]
xor eax, esp
push eax
lea eax, [esp + 0x1b8]
mov dword fs:[0], eax
mov esi, ecx
mov ecx, dword [esi + 0xc]
mov ebx, dword [esi + ecx*4]
mov eax, dword [esi + 8]
mov ebp, dword [esi + eax*4]
mov dword [esp + 0x30], ebx
add ebx, 0x130
push ebx
lea edx, [esp + 0x80]
lea edi, [ebp + 0x130]
push edx
mov ecx, edi
call fcn.004a8ae0
fldz
xorps xmm0, xmm0
sub esp, 8
fstp qword [esp]
lea ecx, [esp + 0x9c]
movsd qword [esp + 0x9c], xmm0
movsd qword [esp + 0xa4], xmm0
movsd qword [esp + 0xb4], xmm0
movsd qword [esp + 0xac], xmm0
movsd qword [esp + 0xcc], xmm0
movsd qword [esp + 0xc4], xmm0
movsd qword [esp + 0xbc], xmm0
movsd qword [esp + 0xe4], xmm0
movsd qword [esp + 0xdc], xmm0
movsd qword [esp + 0xd4], xmm0
movsd qword [esp + 0xfc], xmm0
movsd qword [esp + 0xf4], xmm0
movsd qword [esp + 0xec], xmm0
mov eax, dword [ebp]
mov eax, dword [eax + 0x80]
push ecx
lea edx, [esp + 0xb0]
push edx
mov ecx, ebp
call eax
fldz
movq xmm0, qword [esp + 0xb4]
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx]
mov edx, dword [edx + 0x80]
sub esp, 8
fstp qword [esp]
lea eax, [esp + 0x9c]
movsd qword [esp + 0x3c], xmm0
movq xmm0, qword [esp + 0xc4]
push eax
lea eax, [esp + 0xb0]
movsd qword [esp + 0x48], xmm0
movq xmm0, qword [esp + 0xd0]
push eax
movsd qword [esp + 0x54], xmm0
call edx
movq xmm0, qword [esp + 0xb4]
movsd qword [esp + 0x4c], xmm0
movq xmm0, qword [esp + 0xbc]
movsd qword [esp + 0x54], xmm0
movq xmm0, qword [esp + 0xc4]
lea ecx, [esp + 0x7c]
movsd qword [esp + 0x5c], xmm0
call fcn.004a8b50
fld qword [0x616240]
fcompi st(1)
fstp st(0)
jbe 0x4af9cf
movsd xmm1, qword [esp + 0x3c]
subsd xmm1, qword [esp + 0x54]
movsd xmm3, qword [edi + 8]
movsd xmm0, qword [esp + 0x34]
subsd xmm0, qword [esp + 0x4c]
movsd xmm2, qword [esp + 0x44]
subsd xmm2, qword [esp + 0x5c]
mulsd xmm3, xmm1
movsd xmm1, qword [edi]
mulsd xmm1, xmm0
movsd xmm0, qword [edi + 0x10]
mulsd xmm0, xmm2
addsd xmm3, xmm1
addsd xmm3, xmm0
movsd xmm0, qword [0x5fc860]
andpd xmm3, xmm0
movsd xmm0, qword [0x5ff758]
comisd xmm0, xmm3
jbe 0x4af9b3
mov eax, 1
mov ecx, dword [esp + 0x1b8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 2
mov ecx, dword [esp + 0x1b8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push ebx
push edi
lea eax, [esp + 0x84]
push eax
lea ecx, [esp + 0x148]
call fcn.004e3930
movsd xmm2, qword [esp + 0x34]
movsd xmm3, qword [esp + 0x3c]
movsd xmm0, qword [esp + 0x84]
movsd xmm4, qword [esp + 0x44]
mulsd xmm0, xmm3
movapd xmm1, xmm2
mulsd xmm1, qword [esp + 0x7c]
addsd xmm0, xmm1
movsd xmm1, qword [esp + 0x8c]
mulsd xmm1, xmm4
addsd xmm0, xmm1
movsd xmm1, qword [edi + 8]
mulsd xmm1, xmm3
movsd xmm3, qword [edi]
mulsd xmm3, xmm2
movsd xmm2, qword [edi + 0x10]
addsd xmm1, xmm3
movsd xmm3, qword [ebx]
mulsd xmm3, qword [esp + 0x4c]
mulsd xmm2, xmm4
addsd xmm1, xmm2
movsd xmm2, qword [ebx + 8]
mulsd xmm2, qword [esp + 0x54]
addsd xmm2, xmm3
movsd xmm3, qword [ebx + 0x10]
mulsd xmm3, qword [esp + 0x5c]
lea ecx, [esp + 0x124]
push ecx
lea edx, [esp + 0x140]
movsd qword [esp + 0x128], xmm0
xorps xmm0, xmm0
addsd xmm2, xmm3
push edx
lea ecx, [esp + 0x6c]
movsd qword [esp + 0x134], xmm1
movsd qword [esp + 0x13c], xmm2
movsd qword [esp + 0x7c], xmm0
movsd qword [esp + 0x74], xmm0
movsd qword [esp + 0x6c], xmm0
call fcn.004a9cb0
fstp st(0)
movq xmm0, qword [esp + 0x64]
movq qword [esp + 0x10c], xmm0
movq xmm0, qword [esp + 0x6c]
xor ebx, ebx
movq qword [esp + 0x114], xmm0
movq xmm0, qword [esp + 0x74]
mov byte [esp + 0x100], 1
mov dword [esp + 0x104], ebx
mov dword [esp + 0xfc], vtable.CGeom_Point.0
movq qword [esp + 0x11c], xmm0
mov dword [esp + 0x108], 0xa
push 0xe0
mov dword [esp + 0x1c4], ebx
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x30], eax
mov byte [esp + 0x1c0], 1
cmp eax, ebx
je 0x4afb48
lea ecx, [esp + 0x7c]
push ecx
lea edx, [esp + 0x100]
push edx
mov ecx, eax
call fcn.004edcf0
mov edi, eax
jmp 0x4afb4a
xor edi, edi
push edi
push ebx
mov ecx, esi
mov byte [esp + 0x1c8], bl
call fcn.004af430
push edi
push 1
mov ecx, esi
mov ebp, eax
call fcn.004af430
push ebx
push eax
push ebp
push edi
mov ecx, esi
call fcn.004af6e0
xor eax, eax
mov ecx, dword [esp + 0x1b8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret