Function at 0x1000cd50
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x9a0
mov ecx, dword [ebp + 0x14]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0x20]
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
lea eax, [esp + 0x140]
push edi
push eax
call fcn.1000aba0
add esp, 8
movzx ebx, byte [esp + 0x140]
cmp bl, 2
jne 0x1000cda6
mov eax, dword [esp + 0x144]
mov dword [esi], eax
mov dword [esi + 8], 0
jmp 0x1000d027
movzx eax, byte [esp + 0x143]
mov esi, edi
mov edi, dword [esp + 0x144]
lea ecx, [esp + 0x578]
mov byte [esp + 0x573], al
movzx eax, word [esp + 0x141]
mov word [esp + 0x571], ax
lea eax, [esp + 0x148]
push 0x424
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov byte [esp + 0x570], bl
mov dword [esp + 0x574], edi
mov edi, dword [esi]
cmp edi, 0x100
jbe 0x1000ce33
mov esi, dword [ebp + 8]
mov dword [esi], 0x6a
mov dword [esi + 8], 0
test bl, bl
je 0x1000d00f
push 4
push 0x60
push dword [esp + 0x580]
call fcn.10004680
add esp, 0xc
jmp 0x1000d027
mov eax, dword [ebp + 0xc]
xorps xmm0, xmm0
lea ebx, [esp + 0xc0]
mov dword [esp + 0x78], edi
movaps xmmword [esp + 0x130], xmm0
movaps xmmword [esp + 0x120], xmm0
movaps xmmword [esp + 0x110], xmm0
movaps xmmword [esp + 0x100], xmm0
movaps xmmword [esp + 0xf0], xmm0
movaps xmmword [esp + 0xe0], xmm0
movaps xmmword [esp + 0xd0], xmm0
movaps xmmword [esp + 0xc0], xmm0
mov eax, dword [eax + 0x30]
mov dword [esp + 0x54], eax
mov dword [esp + 0x7c], eax
push eax
push edi
push ebx
lea eax, [esp + 0x14c]
push eax
call fcn.10025ad0
add esp, 0x10
cmp dword [esp + 0x140], 0
mov eax, dword [esp + 0x144]
mov esi, dword [ebp + 8]
je 0x1000cec4
mov dword [esi], eax
mov dword [esi + 8], 0
jmp 0x1000cff6
cmp dword [eax], 0
jne 0x1000d5a2
mov dword [eax], 0xffffffff
push 1
push dword [eax + 0xc]
mov dword [esp + 0x10], eax
push dword [eax + 8]
mov ebx, dword [ebp + 0xc]
push ebx
call fcn.10011c00
add esp, 0x10
cmp eax, 0x6b
jne 0x1000cfe0
cmp dword [ebx + 0x20], 0
je 0x1000cefe
xor ecx, ecx
jmp 0x1000cf27
push dword [ebx + 0x30]
lea eax, [esp + 0x144]
push eax
call fcn.10012210
add esp, 8
mov ecx, dword [esp + 0x140]
mov eax, dword [esp + 0x144]
test ecx, ecx
je 0x1000cfe0
cmp dword [ebp + 0x10], 0
mov dword [esp + 0x24], ebx
lea ebx, [esp + 0xc0]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
je 0x1000d0d2
mov eax, dword [esp + 0x598]
xorps xmm2, xmm2
movaps xmmword [esp + 0x140], xmm2
cmp dword [eax], 0
je 0x1000d031
movss xmm3, dword [eax + 4]
movsd xmm4, qword [eax + 8]
xorps xmm0, xmm0
subss xmm0, dword [eax + 0x10]
movaps xmm1, xmm3
subps xmm2, xmm4
shufps xmm3, xmm3, 0
addps xmm3, xmm2
mulps xmm2, xmm2
addss xmm1, xmm0
mulss xmm0, xmm0
movaps xmm4, xmm2
mulps xmm3, xmm3
mulss xmm1, xmm1
movaps xmm5, xmm3
cmpunordps xmm4, xmm2
maxps xmm3, xmm2
movaps xmm2, xmm0
andps xmm5, xmm4
andnps xmm4, xmm3
cmpunordss xmm2, xmm0
orps xmm4, xmm5
movaps xmm5, xmm2
andps xmm5, xmm1
maxss xmm1, xmm0
pshufd xmm3, xmm4, 0x55
andnps xmm2, xmm1
movss xmm1, dword [esp + 0x59c]
addss xmm3, xmm4
orps xmm2, xmm5
addss xmm2, xmm3
ucomiss xmm1, xmm2
jbe 0x1000d03e
xor eax, eax
jmp 0x1000d07a
mov edx, dword [esp + 8]
mov dword [esi], eax
mov dword [esi + 8], 0
lea ebx, [esp + 0xc0]
inc dword [edx]
push ebx
call fcn.10026790
add esp, 4
movzx ebx, byte [esp + 0x570]
test bl, bl
jne 0x1000ce1b
lea ecx, [esp + 0x57c]
call fcn.1000c4b0
lea ecx, [esp + 0x580]
call fcn.1000c4b0
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
movss xmm0, dword [0x100d5e70]
movaps xmm2, xmm0
jmp 0x1000d045
xorps xmm0, xmm0
sqrtss xmm0, xmm2
lea eax, [esp + 0x30]
movss dword [esp + 0x30], xmm0
movss dword [esp + 0x34], xmm2
mov word [esp + 0x38], 0
lea ecx, [esp + 0x570]
push eax
lea eax, [esp + 0x144]
push eax
push ecx
call fcn.1000b3c0
add esp, 0xc
movzx eax, byte [esp + 0x38]
movzx ecx, al
cmp edi, ecx
jbe 0x1000d580
mov edx, dword [ebp + 0x20]
movss xmm0, dword [0x100d5e74]
shl ecx, 4
add edx, 4
ucomiss xmm0, dword [edx + ecx]
jbe 0x1000d0d2
mov byte [esp + 7], al
push 1
mov eax, dword [esp + 0xc]
push dword [eax + 0xc]
push dword [eax + 8]
mov edi, dword [ebp + 0x10]
push edi
call fcn.10011c00
add esp, 0x10
cmp eax, 0x6b
jne 0x1000d53a
cmp dword [edi + 0x20], 0
je 0x1000d4b5
xor ecx, ecx
jmp 0x1000d4da
mov edx, dword [esp + 8]
mov byte [esp + 7], 0
mov dword [esp + 0x18], 0
mov eax, dword [ebp + 0x1c]
inc dword [edx]
mov edi, dword [eax + 4]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [esp + 0x10], eax
lea eax, [edi + eax*4]
mov dword [esp + 0x140], edi
mov dword [esp + 0xc], edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x144], eax
lea eax, [esp + 0x78]
mov dword [esp + 0x148], ecx
mov dword [esp + 0x14c], 0
mov dword [esp + 0x150], ebx
lea ecx, [esp + 0x30]
mov dword [esp + 0x154], eax
lea eax, [esp + 0x54]
mov dword [esp + 0x158], eax
lea eax, [esp + 0x70]
mov dword [esp + 0x15c], eax
lea eax, [esp + 0x24]
mov dword [esp + 0x160], eax
lea eax, [esp + 0x18]
mov dword [esp + 0x164], eax
lea eax, [esp + 0x570]
mov dword [esp + 0x168], eax
lea eax, [esp + 7]
mov dword [esp + 0x16c], eax
lea eax, [esp + 0x150]
movsd xmm0, qword [esp + 0x148]
movsd xmm1, qword [esp + 0x140]
movsd qword [esp + 0x38], xmm0
movsd qword [esp + 0x30], xmm1
push eax
push ecx
mov edi, edx
call fcn.10014f70
add esp, 8
fstp qword [esp + 0xa0]
movsd xmm2, qword [esp + 0xa0]
ucomisd xmm2, xmm2
jp 0x1000d5b1
movaps xmm1, xmmword [esp + 0x120]
movaps xmm3, xmmword [esp + 0x110]
movaps xmm0, xmmword [esp + 0x130]
movsd qword [esp + 0x98], xmm2
movaps xmmword [esp + 0x1a0], xmm1
movaps xmm1, xmmword [esp + 0x100]
movaps xmmword [esp + 0x190], xmm3
movaps xmm3, xmmword [esp + 0xf0]
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x180], xmm1
movaps xmm1, xmmword [esp + 0xe0]
movaps xmmword [esp + 0x170], xmm3
movaps xmm3, xmmword [esp + 0xc0]
movaps xmmword [esp + 0x160], xmm1
movaps xmm1, xmmword [esp + 0xd0]
movaps xmmword [esp + 0x140], xmm3
movaps xmmword [esp + 0x150], xmm1
movaps xmm1, xmmword [0x100d5e80]
movaps xmmword [esp + 0x1c0], xmm1
cmp dword [esp + 0x1bc], 0
je 0x1000d409
xor eax, eax
mov ecx, 1
jmp 0x1000d278
add ecx, ecx
inc eax
mov edx, dword [esp + eax*4 + 0x140]
test edx, edx
je 0x1000d275
add edx, 0xffffff08
xor ebx, ebx
nop dword [eax + eax]
cmp ecx, ebx
je 0x1000d275
inc ebx
cmp byte [edx + 0x178], 0
lea edi, [edx + 0x100]
mov edx, edi
je 0x1000d290
mov dword [esp + 0x1c8], ecx
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1cc], ebx
mov dword [esp + 0x1c0], 1
mov byte [edi + 0x78], 0
mov edx, dword [edi + 8]
movsd xmm0, qword [edi + 0x10]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov ebx, dword [edi + 0xc]
mov dword [esp + 0x4c], edx
mov edx, dword [edi + 0x18]
movsd qword [esp + 0x90], xmm0
test ecx, ecx
mov dword [esp + 8], edx
mov edx, dword [edi + 0x24]
mov dword [esp + 0x60], edx
movsd xmm0, qword [edi + 0x1c]
movsd qword [esp + 0x58], xmm0
mov edx, dword [edi + 0x28]
mov edi, dword [edi + 0x2c]
mov dword [esp + 0x50], edx
je 0x1000d31d
shl ecx, 2
push 1
push ecx
push eax
call fcn.10004680
add esp, 0xc
test ebx, ebx
je 0x1000d333
shl ebx, 4
push 4
push ebx
push dword [esp + 0x54]
call fcn.10004680
add esp, 0xc
test edi, edi
je 0x1000d349
shl edi, 4
push 4
push edi
push dword [esp + 0x58]
call fcn.10004680
add esp, 0xc
mov edx, dword [esp + 8]
mov eax, dword [esp + 0x60]
movsd xmm0, qword [esp + 0x58]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
lea ecx, [esp + 0x140]
test edx, edx
mov dword [esp + 0x88], eax
movsd qword [esp + 0x80], xmm0
je 0x1000d418
mov eax, dword [esp + 0x88]
movsd xmm0, qword [esp + 0x80]
movsd xmm1, qword [esp + 0x90]
mov dword [esp + 0x44], eax
movsd qword [esp + 0x3c], xmm0
movsd qword [esp + 0x30], xmm1
mov dword [esp + 0x38], edx
lea edx, [esp + 0x30]
lea eax, [esp + 0x58]
push edx
push ecx
push eax
call fcn.10022620
add esp, 0xc
cmp dword [esp + 0x60], 0
je 0x1000d421
movsd xmm0, qword [esp + 0x68]
movsd xmm2, qword [esp + 0x58]
movsd xmm1, qword [esp + 0x60]
lea eax, [esp + 0xa8]
movsd qword [esp + 0xb8], xmm0
movsd qword [esp + 0xb0], xmm1
movsd qword [esp + 0xa8], xmm2
push dword [ebp + 0x20]
push eax
call fcn.1000a250
fstp st(0)
add esp, 8
jmp 0x1000d421
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
lea ecx, [esp + 0x140]
push ecx
call fcn.10026790
add esp, 4
mov ecx, dword [ebp + 0xc]
movsd xmm1, qword [esp + 0x98]
mov eax, dword [ecx + 0x34]
imul eax, dword [ecx + 0x30]
cmp dword [esp + 0x18], 0
movd xmm0, eax
mov eax, dword [esp + 0xc]
por xmm0, xmmword [0x100d5e90]
subsd xmm0, qword [0x100d5ea0]
divsd xmm1, xmm0
movsd qword [esi], xmm1
mov dword [esi + 8], eax
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], edi
je 0x1000d483
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x1000d483
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x1000d483
shl ecx, 4
push 4
push ecx
push eax
call fcn.10004680
add esp, 0xc
mov eax, dword [esp + 0x28]
test eax, eax
je 0x1000d4a2
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x1000d4a2
shl ecx, 4
push 4
push ecx
push eax
call fcn.10004680
add esp, 0xc
cmp byte [esp + 0x570], 0
jne 0x1000ce1b
jmp 0x1000d00f
push dword [edi + 0x30]
lea eax, [esp + 0x144]
push eax
call fcn.10012210
add esp, 8
mov ecx, dword [esp + 0x140]
mov eax, dword [esp + 0x144]
test ecx, ecx
je 0x1000d53a
mov edx, dword [esp + 8]
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
movzx ecx, byte [esp + 7]
mov eax, dword [edx + 0x28]
cmp eax, ecx
jbe 0x1000d591
mov eax, dword [edx + 0x20]
lea ecx, [ecx + ecx*4]
xorps xmm0, xmm0
movupd xmm1, xmmword [eax + ecx*8]
movupd xmm2, xmmword [eax + ecx*8 + 0x10]
addpd xmm1, xmm0
addpd xmm2, xmm0
movupd xmmword [eax + ecx*8], xmm1
movupd xmmword [eax + ecx*8 + 0x10], xmm2
movsd xmm0, qword [eax + ecx*8 + 0x20]
addsd xmm0, qword [0x100d5e78]
movsd qword [eax + ecx*8 + 0x20], xmm0
jmp 0x1000d0e3
mov edx, dword [esp + 8]
mov dword [esi], eax
mov al, 1
mov dword [esi + 8], 0
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x28]
test eax, eax
je 0x1000d570
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x1000d570
shl ecx, 4
push 4
push ecx
push eax
call fcn.10004680
mov edx, dword [esp + 0x14]
add esp, 0xc
cmp byte [esp + 0xc], 0
jne 0x1000cff4
jmp 0x1000cff6
push 0x100d5fd4
push edi
push ecx
call fcn.100b0f30
add esp, 0xc
ud2
push 0x100d5fa8
push eax
push ecx
call fcn.100b0f30
add esp, 0xc
ud2
push 0x100d5fc4
call fcn.100adb70
add esp, 4
ud2
lea ecx, [esp + 0x18]
mov dword [esi], 0x65
mov dword [esi + 8], 0
call fcn.1000c4f0
mov dword [esp + 0xc], 0
mov edx, edi
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x1000d555
jmp 0x1000d570