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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
mov ebx, dword [0x1008794c]
push esi
mov esi, dword [fcn.1003e26c]
mov dword [ebp - 0xc], esi
push edi
test ebx, ebx
jne 0x10007cd6
push 0xc0b
push 0x1007fa98
push 0x1007fc18
call esi
mov ebx, dword [0x1008794c]
add esp, 0xc
cmp byte [ebx], 0
jne 0x10007cef
push 0xc10
push 0x1007fa98
push 0x1007fd44
call esi
add esp, 0xc
movss xmm0, dword [ebx + 0x18]
xorps xmm1, xmm1
comiss xmm0, xmm1
jae 0x10007d13
push 0xc11
push 0x1007fa98
push 0x1007fd60
call esi
add esp, 0xc
xorps xmm1, xmm1
movss xmm0, dword [ebx + 0x10]
comiss xmm0, xmm1
jb 0x10007d27
movss xmm0, dword [ebx + 0x14]
comiss xmm0, xmm1
jae 0x10007d3b
push 0xc12
push 0x1007fa98
push 0x1007fe38
call esi
add esp, 0xc
mov eax, dword [ebx + 0x94]
cmp dword [eax + 0x34], 0
jg 0x10007d5b
push 0xc13
push 0x1007fa98
push 0x1007fee8
call esi
add esp, 0xc
mov edi, dword [ebx + 0x94]
cmp dword [edi + 0x34], 0
jg 0x10007d7b
push 0x4ef
push 0x1007fa10
push 0x10081dd8
call esi
add esp, 0xc
mov eax, dword [edi + 0x3c]
mov eax, dword [eax]
cmp dword [eax + 0x44], 0
jne 0x10007d9a
push 0xc14
push 0x1007fa98
push 0x1007ffe0
call esi
add esp, 0xc
movss xmm0, dword [ebx + 0x15a4]
comiss xmm0, dword [0x10083cf8]
ja 0x10007dbf
push 0xc15
push 0x1007fa98
push 0x100800e8
call esi
add esp, 0xc
movss xmm0, dword [ebx + 0x1510]
comiss xmm0, dword [0x10083cf8]
movss xmm1, dword [0x10083d78]
jb 0x10007ddd
comiss xmm1, xmm0
jae 0x10007df1
push 0xc16
push 0x1007fa98
push 0x10080168
call esi
add esp, 0xc
mov eax, dword [ebx + 0x18f0]
test eax, eax
je 0x10007e17
cmp dword [ebx + 0x18f4], eax
je 0x10007e17
push 0xc17
push 0x1007fa98
push 0x100802a0
call esi
add esp, 0xc
mov ecx, 0x15
lea edi, [ebx + 0x34]
mov dword [ebp - 4], ecx
mov eax, dword [edi]
cmp eax, 0xffffffff
jl 0x10007e30
cmp eax, 0x200
jl 0x10007e47
push 0xc19
push 0x1007fa98
push 0x100803b0
call esi
mov ecx, dword [ebp - 4]
add esp, 0xc
add edi, 4
sub ecx, 1
mov dword [ebp - 4], ecx
jne 0x10007e22
test byte [ebx + 8], 1
je 0x10007e72
cmp dword [ebx + 0x64], 0xffffffff
jne 0x10007e72
push 0xc1d
push 0x1007fa98
push 0x10080528
call esi
add esp, 0xc
cmp byte [ebx + 0xbf], 0
je 0x10007e88
test byte [ebx + 0xc], 2
jne 0x10007e88
mov byte [ebx + 0xbf], 0
cmp byte [ebx + 0x2b7c], 0
jne 0x10007efa
cmp dword [ebx + 0x2b9c], 0
je 0x10007eae
push 0xc26
push 0x1007fa98
push 0x100805f8
call esi
add esp, 0xc
mov ecx, dword [ebx + 0x20]
test ecx, ecx
je 0x10007ef3
push ecx
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
call fcn.10004150
mov edi, eax
add esp, 8
test edi, edi
je 0x10007ef3
mov edx, dword [ebp - 4]
mov ecx, edi
call fcn.10014da0
mov ecx, dword [0x1008794c]
test ecx, ecx
je 0x10007ee9
dec dword [ecx + 0x388]
push edi
call dword [fcn.1003e228]
add esp, 4
mov byte [ebx + 0x2b7c], 1
movss xmm1, dword [ebx + 0x2b80]
xorps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x10007f3b
subss xmm1, dword [ebx + 0x18]
comiss xmm0, xmm1
movss dword [ebx + 0x2b80], xmm1
jb 0x10007f3b
mov ecx, dword [ebx + 0x20]
test ecx, ecx
je 0x10007f2a
call fcn.10015030
jmp 0x10007f31
mov byte [ebx + 0x370], 1
mov dword [ebx + 0x2b80], 0
movss xmm0, dword [ebx + 0x18]
mov eax, dword [ebx + 0x94]
mov ecx, dword [0x1008794c]
inc dword [ebx + 0x18f0]
cvtps2pd xmm0, xmm0
mov byte [ebx + 1], 1
mov dword [ebx + 0x2b5c], 0
mov dword [ebx + 0x192c], 0
addsd xmm0, qword [ebx + 0x18e8]
movsd qword [ebx + 0x18e8], xmm0
mov byte [eax], 1
mov edi, dword [ecx + 0xa0]
test edi, edi
je 0x10007f8f
mov dword [ebp - 8], ecx
jmp 0x10007fc1
mov edi, dword [ecx + 0x94]
cmp dword [edi + 0x34], 0
jg 0x10007fb5
push 0x4ef
push 0x1007fa10
push 0x10081dd8
call esi
mov ecx, dword [0x1008794c]
add esp, 0xc
mov eax, dword [edi + 0x3c]
mov dword [ebp - 8], ecx
mov edi, dword [eax]
test edi, edi
je 0x10007fcf
cmp dword [edi + 0x44], 0
lea eax, [edi + 0x44]
mov dword [ebp - 4], eax
jne 0x10007ff5
jmp 0x10007fd5
lea eax, [edi + 0x44]
mov dword [ebp - 4], eax
push 0x147c
push 0x1007fa98
push 0x10081410
call esi
mov eax, dword [ebp - 4]
add esp, 0xc
mov ecx, dword [0x1008794c]
mov dword [ebp - 4], eax
movss xmm0, dword [edi + 4]
xorps xmm1, xmm1
comiss xmm0, xmm1
ja 0x1000801f
push 0x147d
push 0x1007fa98
push 0x10081444
call esi
mov ecx, dword [0x1008794c]
add esp, 0xc
xorps xmm1, xmm1
mov edx, dword [ebp - 8]
movss xmm0, dword [edx + 0x98]
mov eax, dword [edx + 0x1930]
mov dword [edx + 0x1858], edi
mulss xmm0, dword [edi]
mulss xmm0, dword [edi + 4]
movss dword [edx + 0x1860], xmm0
test eax, eax
je 0x1000805b
movss xmm1, dword [eax + 0x27c]
mulss xmm1, dword [ecx + 0x1860]
mov eax, dword [ebp - 4]
movss dword [edx + 0x185c], xmm1
mov eax, dword [eax]
mov ecx, dword [eax + 0x2c]
mov eax, dword [eax + 0x30]
mov dword [edx + 0x1864], ecx
mov dword [edx + 0x1868], eax
mov dword [edx + 0x186c], edi
movss dword [edx + 0x1870], xmm1
mov eax, dword [ebx + 0x1858]
cmp dword [eax + 0x44], 0
jne 0x100080a8
push 0xc43
push 0x1007fa98
push 0x1008062c
call esi
add esp, 0xc
movss xmm0, dword [ebx + 0x10]
lea ecx, [ebx + 0x1b6c]
movss xmm1, dword [ebx + 0x14]
mov dword [ebx + 0x1878], 0
mov dword [ebx + 0x187c], 0
movss dword [ebx + 0x1880], xmm0
movss dword [ebx + 0x1884], xmm1
mov eax, dword [ebx + 0x15a4]
mov dword [ebx + 0x1874], eax
call fcn.1001d410
mov eax, dword [ebx + 0x94]
lea edi, [ebx + 0x1bb4]
mov ecx, dword [edi]
mov esi, dword [edi + 4]
mov eax, dword [eax + 8]
mov dword [ebp - 8], eax
cmp ecx, esi
jne 0x1000812a
inc ecx
test esi, esi
je 0x10008118
mov eax, esi
cdq
sub eax, edx
sar eax, 1
add eax, esi
jmp 0x1000811d
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, edi
call fcn.10015bd0
mov ecx, dword [edi]
lea esi, [ebx + 0x1b6c]
mov eax, dword [edi + 8]
mov edx, dword [ebp - 8]
mov dword [eax + ecx*4], edx
mov ecx, esi
inc dword [edi]
call fcn.1001d720
mov eax, dword [esi + 0x28]
movss xmm0, dword [eax + 0x1c]
movss xmm2, dword [eax + 0x14]
comiss xmm2, xmm0
movss xmm3, dword [eax + 0x20]
movss xmm1, dword [eax + 0x18]
movss dword [ebp - 0x1c], xmm2
movss dword [ebp - 0x18], xmm1
movss dword [ebp - 0x14], xmm0
movss dword [ebp - 0x10], xmm3
jb 0x10008179
movss dword [ebp - 0x14], xmm2
comiss xmm1, xmm3
jb 0x10008183
movss dword [ebp - 0x10], xmm1
mov edi, dword [esi + 0x3c]
mov ecx, dword [esi + 0x40]
cmp edi, ecx
jne 0x100081b0
inc edi
test ecx, ecx
je 0x1000819d
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x100081a2
mov eax, 8
cmp eax, edi
lea ecx, [esi + 0x3c]
cmovg edi, eax
push edi
call fcn.10023170
mov eax, dword [esi + 0x3c]
lea ecx, [ebx + 0x1b6c]
mov edx, dword [esi + 0x44]
add eax, eax
movups xmm0, xmmword [ebp - 0x1c]
movups xmmword [edx + eax*8], xmm0
inc dword [esi + 0x3c]
call fcn.1001d5f0
mov edx, dword [0x1008794c]
xor ecx, ecx
cmp byte [ebx + 0x15a1], cl
mov eax, 2
mov byte [ebx + 0x1b2c], 0
cmovne ecx, eax
mov dword [ebx + 0x1b30], 0
xor eax, eax
mov dword [ebx + 0x1b38], 0
cmp byte [ebx + 0x15a0], al
mov dword [ebx + 0x1b3c], 0
setne al
mov dword [ebx + 0x1b34], 0
or ecx, eax
mov dword [ebx + 0x1b90], ecx
mov dword [ebx + 0x1b48], 0
mov dword [ebx + 0x1b4c], 0
mov dword [ebx + 0x1b40], 0
mov dword [ebx + 0x1b44], 0
cmp byte [ebx + 0x1be4], 0
je 0x10008282
mov eax, dword [ebx + 0x1bfc]
cmp eax, dword [ebx + 0x194c]
jne 0x10008282
cmp dword [edx + 0x194c], eax
jne 0x10008273
mov dword [edx + 0x1954], eax
cmp dword [edx + 0x1950], eax
jne 0x10008282
mov byte [edx + 0x195f], 1
cmp dword [ebx + 0x1944], 0
jne 0x10008295
mov dword [ebx + 0x1948], 0
mov eax, dword [ebx + 0x193c]
test eax, eax
je 0x100082b4
movss xmm0, dword [ebx + 0x18]
addss xmm0, dword [ebx + 0x1948]
movss dword [ebx + 0x1948], xmm0
mov dword [ebx + 0x1944], eax
mov eax, dword [ebx + 0x194c]
mov dword [ebx + 0x193c], 0
mov byte [ebx + 0x1940], 0
cmp dword [ebx + 0x1954], eax
je 0x10008330
cmp dword [ebx + 0x1950], eax
jne 0x10008330
test eax, eax
je 0x10008330
mov ecx, dword [edx + 0x194c]
test ecx, ecx
setne al
mov byte [edx + 0x195c], al
test ecx, ecx
je 0x1000830b
mov dword [edx + 0x1958], 0
mov byte [edx + 0x195e], 0
mov dword [edx + 0x194c], 0
mov dword [edx + 0x1964], 0
mov byte [edx + 0x195d], 0
mov dword [edx + 0x1970], 0
mov ecx, dword [ebx + 0x194c]
test ecx, ecx
je 0x1000834f
movss xmm0, dword [ebx + 0x18]
addss xmm0, dword [ebx + 0x1958]
movss dword [ebx + 0x1958], xmm0
mov eax, dword [ebx + 0x1970]
movss xmm0, dword [ebx + 0x18]
addss xmm0, dword [ebx + 0x1980]
mov dword [ebx + 0x1974], eax
mov al, byte [ebx + 0x195e]
mov byte [ebx + 0x1960], al
mov eax, dword [ebx + 0x2b30]
movss dword [ebx + 0x1980], xmm0
mov dword [ebx + 0x1950], ecx
mov dword [ebx + 0x1954], 0
mov byte [ebx + 0x195f], 0
mov byte [ebx + 0x195c], 0
test eax, eax
je 0x100083b2
cmp ecx, eax
je 0x100083b2
mov dword [ebx + 0x2b30], 0
mov eax, dword [ebx + 0x1c48]
lea edi, [ebx + 0xc68]
movss xmm2, dword [0x10083ec8]
mov ecx, 0x200
mov dword [ebx + 0x1c4c], eax
lea eax, [ebx + 0x468]
mov esi, eax
mov dword [ebx + 0x1c48], 0
rep movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x1c44], 0x7f7fffff
xor ecx, ecx
mov byte [ebx + 0x1be5], 0
nop dword [eax + eax]
cmp byte [ebx + ecx + 0xf4], 0
je 0x10008422
movss xmm0, dword [eax]
xorps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x1000841b
xorps xmm0, xmm0
jmp 0x10008425
addss xmm0, dword [ebx + 0x18]
jmp 0x10008425
movaps xmm0, xmm2
movss dword [eax], xmm0
inc ecx
add eax, 4
cmp ecx, 0x200
jl 0x10008400
call fcn.100118b0
call fcn.10007440
mov eax, dword [ebx + 0x2da4]
mov ecx, 0x78
movss xmm1, dword [ebx + 0x18]
movaps xmm0, xmm1
subss xmm0, dword [ebx + eax*4 + 0x2bc4]
addss xmm0, dword [ebx + 0x2da8]
movss dword [ebx + 0x2da8], xmm0
movss dword [ebx + eax*4 + 0x2bc4], xmm1
mov eax, dword [ebx + 0x2da4]
inc eax
movss xmm0, dword [ebx + 0x2da8]
cdq
idiv ecx
comiss xmm0, dword [0x10083cf8]
mov dword [ebx + 0x2da4], edx
jbe 0x100084ab
divss xmm0, dword [0x10083e78]
movss xmm1, dword [0x10083d78]
divss xmm1, xmm0
jmp 0x100084b3
movss xmm1, dword [0x10083eb8]
movss dword [ebx + 0x374], xmm1
call fcn.100071a0
call fcn.100079e0
mov esi, dword [0x1008794c]
mov edx, dword [esi + 0x19ac]
sub edx, 1
js 0x100084fc
mov eax, dword [esi + 0x19b4]
lea ecx, [edx + edx*8]
lea eax, [eax + ecx*4]
add eax, 4
mov ecx, dword [eax]
test ecx, ecx
je 0x100084f4
test dword [ecx + 8], 0x8000000
jne 0x10008516
sub eax, 0x24
sub edx, 1
jns 0x100084e5
cmp dword [ebx + 0x1a6c], 0
je 0x10008535
movss xmm0, dword [ebx + 0x1a7c]
comiss xmm0, dword [0x10083cf8]
jbe 0x10008535
movss xmm1, dword [ebx + 0x18]
mulss xmm1, dword [0x10083e40]
addss xmm1, dword [ebx + 0x1b68]
minss xmm1, dword [0x10083d78]
jmp 0x10008556
movss xmm0, dword [ebx + 0x18]
mulss xmm0, dword [0x10083e50]
movss xmm1, dword [ebx + 0x1b68]
subss xmm1, xmm0
maxss xmm1, dword [0x10083cf8]
movss dword [ebx + 0x1b68], xmm1
mov dword [ebx + 0x1be0], 0
mov dword [ebx + 0x2db4], 0xffffffff
mov dword [ebx + 0x2db0], 0xffffffff
mov dword [ebx + 0x2dac], 0xffffffff
mov dword [ebx + 0x2b6c], 0x3f800000
mov dword [ebx + 0x2b70], 0x3f800000
call fcn.100077a0
cmp dword [ebx + 0x194c], 0
jne 0x1000861d
mov eax, dword [ebx + 0x1a30]
test eax, eax
je 0x1000861d
cmp byte [eax + 0x76], 0
je 0x1000861d
test dword [eax + 8], 0x40000
jne 0x1000861d
cmp byte [ebx + 0xf0], 0
jne 0x1000861d
mov ecx, dword [esi + 0x34]
test ecx, ecx
js 0x1000861d
xor dl, dl
call fcn.10009570
test al, al
je 0x1000861d
cmp dword [ebx + 0x1a34], 0
je 0x10008606
mov eax, dword [ebx + 0x1a88]
cmp eax, 0x7fffffff
je 0x10008606
xor edx, edx
mov ecx, 2
cmp byte [ebx + 0xf1], dl
cmovne ecx, edx
add ecx, eax
jmp 0x10008611
movzx ecx, byte [ebx + 0xf1]
neg ecx
sbb ecx, ecx
mov eax, dword [ebx + 0x1a30]
mov dword [eax + 0x34c], ecx
mov eax, dword [ebx + 0x18fc]
xor edi, edi
mov dword [ebx + 0x1a88], 0x7fffffff
test eax, eax
je 0x10008670
mov esi, dword [ebp - 0xc]
cmp edi, eax
jl 0x1000864e
push 0x4ef
push 0x1007fa10
push 0x10081dd8
call esi
add esp, 0xc
mov eax, dword [ebx + 0x1904]
mov ecx, dword [eax + edi*4]
inc edi
mov al, byte [ecx + 0x76]
mov byte [ecx + 0x77], al
mov byte [ecx + 0x76], 0
mov byte [ecx + 0x78], 0
mov eax, dword [ebx + 0x18fc]
cmp edi, eax
jne 0x10008638
mov eax, dword [ebx + 0x1a30]
test eax, eax
je 0x10008685
cmp byte [eax + 0x77], 0
jne 0x10008685
call fcn.1000ec20
mov ecx, dword [ebx + 0x1918]
test ecx, ecx
jns 0x100086ab
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [ebx + 0x1914]
call fcn.10015bd0
push 0
lea ecx, [ebx + 0x19b8]
mov dword [ebx + 0x1914], 0
call fcn.100159a0
mov ecx, dword [ebx + 0x1a30]
call fcn.1000fe00
mov eax, dword [0x1008794c]
xor edx, edx
movss xmm0, dword [0x10083e94]
mov ecx, 0x10080654
push 0
movss dword [eax + 0x19f0], xmm0
movss dword [eax + 0x19f4], xmm0
mov dword [eax + 0x19c8], 4
call fcn.1000b140
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret