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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
mov ebx, dword [0x1008694c]
push esi
mov esi, dword [fcn.1003d258]
mov dword [ebp - 0xc], esi
push edi
test ebx, ebx
jne 0x10007c16
push 0xc0b
push 0x1007ea70
push 0x1007ebe8
call esi
mov ebx, dword [0x1008694c]
add esp, 0xc
cmp byte [ebx], 0
jne 0x10007c2f
push 0xc10
push 0x1007ea70
push 0x1007ed14
call esi
add esp, 0xc
movss xmm0, dword [ebx + 0x18]
xorps xmm1, xmm1
comiss xmm0, xmm1
jae 0x10007c53
push 0xc11
push 0x1007ea70
push 0x1007ed30
call esi
add esp, 0xc
xorps xmm1, xmm1
movss xmm0, dword [ebx + 0x10]
comiss xmm0, xmm1
jb 0x10007c67
movss xmm0, dword [ebx + 0x14]
comiss xmm0, xmm1
jae 0x10007c7b
push 0xc12
push 0x1007ea70
push 0x1007ee08
call esi
add esp, 0xc
mov eax, dword [ebx + 0x94]
cmp dword [eax + 0x34], 0
jg 0x10007c9b
push 0xc13
push 0x1007ea70
push 0x1007eeb8
call esi
add esp, 0xc
mov edi, dword [ebx + 0x94]
cmp dword [edi + 0x34], 0
jg 0x10007cbb
push 0x4ef
push 0x1007e9f0
push 0x10080da8
call esi
add esp, 0xc
mov eax, dword [edi + 0x3c]
mov eax, dword [eax]
cmp dword [eax + 0x44], 0
jne 0x10007cda
push 0xc14
push 0x1007ea70
push 0x1007efb0
call esi
add esp, 0xc
movss xmm0, dword [ebx + 0x15a4]
comiss xmm0, dword [0x10082c9c]
ja 0x10007cff
push 0xc15
push 0x1007ea70
push 0x1007f0b8
call esi
add esp, 0xc
movss xmm0, dword [ebx + 0x1510]
comiss xmm0, dword [0x10082c9c]
movss xmm1, dword [0x10082d18]
jb 0x10007d1d
comiss xmm1, xmm0
jae 0x10007d31
push 0xc16
push 0x1007ea70
push 0x1007f138
call esi
add esp, 0xc
mov eax, dword [ebx + 0x18f0]
test eax, eax
je 0x10007d57
cmp dword [ebx + 0x18f4], eax
je 0x10007d57
push 0xc17
push 0x1007ea70
push 0x1007f270
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 0x10007d70
cmp eax, 0x200
jl 0x10007d87
push 0xc19
push 0x1007ea70
push 0x1007f380
call esi
mov ecx, dword [ebp - 4]
add esp, 0xc
add edi, 4
sub ecx, 1
mov dword [ebp - 4], ecx
jne 0x10007d62
test byte [ebx + 8], 1
je 0x10007db2
cmp dword [ebx + 0x64], 0xffffffff
jne 0x10007db2
push 0xc1d
push 0x1007ea70
push 0x1007f4f8
call esi
add esp, 0xc
cmp byte [ebx + 0xbf], 0
je 0x10007dc8
test byte [ebx + 0xc], 2
jne 0x10007dc8
mov byte [ebx + 0xbf], 0
cmp byte [ebx + 0x2b7c], 0
jne 0x10007e3a
cmp dword [ebx + 0x2b9c], 0
je 0x10007dee
push 0xc26
push 0x1007ea70
push 0x1007f5c8
call esi
add esp, 0xc
mov ecx, dword [ebx + 0x20]
test ecx, ecx
je 0x10007e33
push ecx
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
call fcn.10004090
mov edi, eax
add esp, 8
test edi, edi
je 0x10007e33
mov edx, dword [ebp - 4]
mov ecx, edi
call fcn.10014ce0
mov ecx, dword [0x1008694c]
test ecx, ecx
je 0x10007e29
dec dword [ecx + 0x388]
push edi
call dword [fcn.1003d214]
add esp, 4
mov byte [ebx + 0x2b7c], 1
movss xmm1, dword [ebx + 0x2b80]
xorps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x10007e7b
subss xmm1, dword [ebx + 0x18]
comiss xmm0, xmm1
movss dword [ebx + 0x2b80], xmm1
jb 0x10007e7b
mov ecx, dword [ebx + 0x20]
test ecx, ecx
je 0x10007e6a
call fcn.10014f70
jmp 0x10007e71
mov byte [ebx + 0x370], 1
mov dword [ebx + 0x2b80], 0
movss xmm0, dword [ebx + 0x18]
mov eax, dword [ebx + 0x94]
mov ecx, dword [0x1008694c]
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 0x10007ecf
mov dword [ebp - 8], ecx
jmp 0x10007f01
mov edi, dword [ecx + 0x94]
cmp dword [edi + 0x34], 0
jg 0x10007ef5
push 0x4ef
push 0x1007e9f0
push 0x10080da8
call esi
mov ecx, dword [0x1008694c]
add esp, 0xc
mov eax, dword [edi + 0x3c]
mov dword [ebp - 8], ecx
mov edi, dword [eax]
test edi, edi
je 0x10007f0f
cmp dword [edi + 0x44], 0
lea eax, [edi + 0x44]
mov dword [ebp - 4], eax
jne 0x10007f35
jmp 0x10007f15
lea eax, [edi + 0x44]
mov dword [ebp - 4], eax
push 0x147c
push 0x1007ea70
push 0x100803e0
call esi
mov eax, dword [ebp - 4]
add esp, 0xc
mov ecx, dword [0x1008694c]
mov dword [ebp - 4], eax
movss xmm0, dword [edi + 4]
xorps xmm1, xmm1
comiss xmm0, xmm1
ja 0x10007f5f
push 0x147d
push 0x1007ea70
push 0x10080414
call esi
mov ecx, dword [0x1008694c]
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 0x10007f9b
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 0x10007fe8
push 0xc43
push 0x1007ea70
push 0x1007f5fc
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.1001d350
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 0x1000806a
inc ecx
test esi, esi
je 0x10008058
mov eax, esi
cdq
sub eax, edx
sar eax, 1
add eax, esi
jmp 0x1000805d
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, edi
call fcn.10015b10
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.1001d660
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 0x100080b9
movss dword [ebp - 0x14], xmm2
comiss xmm1, xmm3
jb 0x100080c3
movss dword [ebp - 0x10], xmm1
mov edi, dword [esi + 0x3c]
mov ecx, dword [esi + 0x40]
cmp edi, ecx
jne 0x100080f0
inc edi
test ecx, ecx
je 0x100080dd
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x100080e2
mov eax, 8
cmp eax, edi
lea ecx, [esi + 0x3c]
cmovg edi, eax
push edi
call fcn.10023250
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.1001d530
mov edx, dword [0x1008694c]
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 0x100081c2
mov eax, dword [ebx + 0x1bfc]
cmp eax, dword [ebx + 0x194c]
jne 0x100081c2
cmp dword [edx + 0x194c], eax
jne 0x100081b3
mov dword [edx + 0x1954], eax
cmp dword [edx + 0x1950], eax
jne 0x100081c2
mov byte [edx + 0x195f], 1
cmp dword [ebx + 0x1944], 0
jne 0x100081d5
mov dword [ebx + 0x1948], 0
mov eax, dword [ebx + 0x193c]
test eax, eax
je 0x100081f4
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 0x10008270
cmp dword [ebx + 0x1950], eax
jne 0x10008270
test eax, eax
je 0x10008270
mov ecx, dword [edx + 0x194c]
test ecx, ecx
setne al
mov byte [edx + 0x195c], al
test ecx, ecx
je 0x1000824b
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 0x1000828f
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 0x100082f2
cmp ecx, eax
je 0x100082f2
mov dword [ebx + 0x2b30], 0
mov eax, dword [ebx + 0x1c48]
lea edi, [ebx + 0xc68]
movss xmm2, dword [0x10082e60]
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 0x10008362
movss xmm0, dword [eax]
xorps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x1000835b
xorps xmm0, xmm0
jmp 0x10008365
addss xmm0, dword [ebx + 0x18]
jmp 0x10008365
movaps xmm0, xmm2
movss dword [eax], xmm0
inc ecx
add eax, 4
cmp ecx, 0x200
jl 0x10008340
call fcn.100117f0
call fcn.10007380
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 [0x10082c9c]
mov dword [ebx + 0x2da4], edx
jbe 0x100083eb
divss xmm0, dword [0x10082e10]
movss xmm1, dword [0x10082d18]
divss xmm1, xmm0
jmp 0x100083f3
movss xmm1, dword [0x10082e50]
movss dword [ebx + 0x374], xmm1
call fcn.100070e0
call fcn.10007920
mov esi, dword [0x1008694c]
mov edx, dword [esi + 0x19ac]
sub edx, 1
js 0x1000843c
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 0x10008434
test dword [ecx + 8], 0x8000000
jne 0x10008456
sub eax, 0x24
sub edx, 1
jns 0x10008425
cmp dword [ebx + 0x1a6c], 0
je 0x10008475
movss xmm0, dword [ebx + 0x1a7c]
comiss xmm0, dword [0x10082c9c]
jbe 0x10008475
movss xmm1, dword [ebx + 0x18]
mulss xmm1, dword [0x10082dd4]
addss xmm1, dword [ebx + 0x1b68]
minss xmm1, dword [0x10082d18]
jmp 0x10008496
movss xmm0, dword [ebx + 0x18]
mulss xmm0, dword [0x10082de4]
movss xmm1, dword [ebx + 0x1b68]
subss xmm1, xmm0
maxss xmm1, dword [0x10082c9c]
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.100076e0
cmp dword [ebx + 0x194c], 0
jne 0x1000855d
mov eax, dword [ebx + 0x1a30]
test eax, eax
je 0x1000855d
cmp byte [eax + 0x76], 0
je 0x1000855d
test dword [eax + 8], 0x40000
jne 0x1000855d
cmp byte [ebx + 0xf0], 0
jne 0x1000855d
mov ecx, dword [esi + 0x34]
test ecx, ecx
js 0x1000855d
xor dl, dl
call fcn.100094b0
test al, al
je 0x1000855d
cmp dword [ebx + 0x1a34], 0
je 0x10008546
mov eax, dword [ebx + 0x1a88]
cmp eax, 0x7fffffff
je 0x10008546
xor edx, edx
mov ecx, 2
cmp byte [ebx + 0xf1], dl
cmovne ecx, edx
add ecx, eax
jmp 0x10008551
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 0x100085b0
mov esi, dword [ebp - 0xc]
cmp edi, eax
jl 0x1000858e
push 0x4ef
push 0x1007e9f0
push 0x10080da8
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 0x10008578
mov eax, dword [ebx + 0x1a30]
test eax, eax
je 0x100085c5
cmp byte [eax + 0x77], 0
jne 0x100085c5
call fcn.1000eb60
mov ecx, dword [ebx + 0x1918]
test ecx, ecx
jns 0x100085eb
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.10015b10
push 0
lea ecx, [ebx + 0x19b8]
mov dword [ebx + 0x1914], 0
call fcn.100158e0
mov ecx, dword [ebx + 0x1a30]
call fcn.1000fd40
mov eax, dword [0x1008694c]
xor edx, edx
movss xmm0, dword [0x10082e2c]
mov ecx, 0x1007f624
push 0
movss dword [eax + 0x19f0], xmm0
movss dword [eax + 0x19f4], xmm0
mov dword [eax + 0x19c8], 4
call fcn.1000b080
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret