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

Disassembly:
mov ecx, dword [0x100b9cac]
sub esp, 0x68
mov eax, dword [ecx + 0x3fec]
push ebp
mov byte [eax + 0xbc], 1
mov ebp, dword [ecx + 0x3fec]
cmp byte [ebp + 0xbf], 0
je 0x10085d8d
xor al, al
pop ebp
add esp, 0x68
ret
push ebx
mov ebx, dword [esp + 0x78]
mov eax, ebx
shr eax, 1
push esi
mov esi, dword [0x100b9cac]
and al, 1
push edi
mov dword [esp + 0x38], eax
jne 0x10085dd0
test ebx, 0x400
jne 0x10085dd0
movss xmm1, dword [esi + 0x38ec]
lea edi, [esi + 0x38f0]
movss xmm0, dword [ebp + 0x138]
minss xmm0, dword [edi]
movss dword [esp + 0x20], xmm1
jmp 0x10085dec
movss xmm0, dword [esi + 0x38ec]
lea edi, [esi + 0x38f0]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [esi + 0x38f0]
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x84]
movss dword [esp + 0x40], xmm0
test eax, eax
jne 0x10085e1d
push 0
push ecx
call fcn.10013ae0
mov ecx, dword [esp + 0x8c]
add esp, 8
mov dword [esp + 0x88], eax
push ecx
mov dword [esp], 0xbf800000
push 0
push eax
push ecx
lea eax, [esp + 0x60]
push eax
call fcn.1000cf20
mov eax, dword [esp + 0x4c]
add esp, 0x14
movss xmm2, dword [0x1009b490]
movss xmm0, dword [esp + 0x20]
test al, al
je 0x10085e56
mulss xmm0, dword [0x1009b498]
jmp 0x10085e5a
mulss xmm0, xmm2
movss xmm1, dword [esi + 0x3d38]
movss xmm3, dword [esp + 0x40]
movaps xmm7, xmm1
movss xmm5, dword [ebp + 0x12c]
addss xmm7, xmm0
movss xmm0, dword [esp + 0x20]
movaps xmm4, xmm1
mulss xmm0, xmm2
movaps xmm6, xmm3
addss xmm4, dword [esp + 0x50]
movss dword [esp + 0x24], xmm7
movss dword [esp + 0x1c], xmm0
maxss xmm6, dword [ebp + 0x138]
addss xmm4, xmm0
movss xmm0, dword [edi]
addss xmm0, xmm0
movss dword [esp + 0x30], xmm4
addss xmm0, xmm1
minss xmm5, xmm0
movaps xmm0, xmm3
mulss xmm0, xmm2
addss xmm0, dword [esp + 0x54]
maxss xmm5, xmm0
test ebx, 0x4000
je 0x10085f18
cmp dword [esi + 0x4d64], 0
je 0x10085f18
mov dword [esp + 0x58], 0
mov dword [esp + 0x60], 0
movss xmm2, dword [ebp + 0x214]
movss dword [esp + 0x58], xmm2
movss xmm0, dword [ebp + 0x104]
movss dword [esp + 0x5c], xmm0
movss xmm1, dword [ebp + 0x21c]
mov byte [esp + 0x12], 1
jmp 0x10085f83
xor cl, cl
mov dword [esp + 0x58], 0
mov byte [esp + 0x12], cl
mov dword [esp + 0x60], 0
test ebx, 0x1000
je 0x10085f40
movss xmm2, dword [ebp + 0x204]
jmp 0x10085f4c
movss xmm2, dword [ebp + 0x100]
mov byte [esp + 0x12], cl
movss dword [esp + 0x58], xmm2
movss xmm0, dword [ebp + 0x104]
movss dword [esp + 0x5c], xmm0
test ebx, 0x2000
je 0x10085f7b
movaps xmm1, xmm4
addss xmm1, dword [ebp + 0x100]
addss xmm1, dword [esp + 0x20]
jmp 0x10085f83
movss xmm1, dword [ebp + 0x20c]
movss dword [esp + 0x60], xmm1
movaps xmm0, xmm5
addss xmm0, dword [ebp + 0x104]
movss dword [esp + 0x64], xmm0
test al, al
je 0x10085fca
movss xmm0, dword [ebp + 0x48]
mulss xmm0, dword [0x1009b440]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm2, xmm0
addss xmm0, xmm1
movss dword [esp + 0x58], xmm2
movss dword [esp + 0x60], xmm0
addss xmm6, dword [ebp + 0x104]
movaps xmm0, xmm7
movss dword [esp + 0x40], xmm4
addss xmm0, dword [ebp + 0x100]
push ecx
lea eax, [esp + 0x44]
movss dword [esp], xmm3
push eax
movss dword [esp + 0x54], xmm6
movss dword [esp + 0x50], xmm0
movss dword [esp + 0x4c], xmm5
call fcn.100195b0
movups xmm0, xmmword [esp + 0x60]
add esp, 8
movups xmmword [esp + 0x68], xmm0
test ebx, 0x7802
jne 0x1008604d
movss xmm0, dword [esp + 0x50]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x10086037
movss xmm0, dword [esi + 0x38fc]
addss xmm0, xmm0
movaps xmm1, xmm0
movss xmm0, dword [esp + 0x58]
addss xmm0, dword [esp + 0x30]
addss xmm0, xmm1
movss dword [esp + 0x70], xmm0
test byte [esi + 0x4948], 0x10
je 0x1008605e
mov ecx, dword [esi + 0x4978]
jmp 0x10086062
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x28], ecx
test ebx, 0x100
je 0x10086078
mov byte [esp + 0x18], 1
jmp 0x10086143
mov edi, dword [0x100b9cac]
test byte [edi + 0x4948], 2
mov eax, dword [edi + 0x3fec]
mov dword [esp + 0x30], eax
mov edx, dword [eax + 0x19c]
je 0x100860f6
test byte [edi + 0x496d], 1
je 0x100860c3
mov cl, byte [edi + 0x496c]
xor eax, eax
test cl, cl
mov dword [esp + 0x18], ecx
mov ecx, edx
setne al
push eax
push dword [esp + 0x2c]
call fcn.10023880
mov ecx, dword [esp + 0x18]
jmp 0x10086110
push 0xffffffffffffffff
push ecx
mov ecx, edx
call fcn.10014930
cmp eax, 0xffffffff
jne 0x10086107
mov al, byte [edi + 0x496c]
mov byte [esp + 0x40], al
push dword [esp + 0x40]
mov dword [esp + 0x1c], eax
push dword [esp + 0x2c]
call fcn.10086a70
mov ecx, dword [esp + 0x20]
add esp, 8
jmp 0x10086110
mov eax, ebx
shr eax, 5
and eax, 1
push eax
push ecx
mov ecx, edx
call fcn.10014930
test eax, eax
setne cl
mov dword [esp + 0x18], ecx
cmp byte [edi + 0x5f48], 0
je 0x10086143
test bl, 0x10
jne 0x10086143
mov eax, dword [esp + 0x30]
movzx ecx, cl
mov eax, dword [eax + 0x188]
sub eax, dword [edi + 0x5f70]
cmp eax, dword [edi + 0x5f74]
mov eax, 1
cmovl ecx, eax
mov dword [esp + 0x18], ecx
cmp byte [esp + 0x12], 0
mov edi, dword [esp + 0x7c]
push 0
push 0
push edi
je 0x100861af
movss xmm0, dword [ebp + 0x224]
mov eax, dword [ebp + 0x214]
mov dword [ebp + 0x224], eax
mov eax, dword [ebp + 0x21c]
movss dword [esp + 0x4c], xmm0
movss xmm0, dword [ebp + 0x22c]
mov dword [ebp + 0x22c], eax
lea eax, [esp + 0x74]
push eax
movss dword [esp + 0x40], xmm0
call fcn.10019060
movss xmm0, dword [esp + 0x50]
movss dword [ebp + 0x224], xmm0
movss xmm0, dword [esp + 0x40]
movss dword [ebp + 0x22c], xmm0
jmp 0x100861b9
lea eax, [esp + 0x74]
push eax
call fcn.10019060
or dword [esi + 0x4988], 2
xor cl, cl
movups xmm0, xmmword [esp + 0x68]
mov byte [esp + 0x24], al
add esp, 0x10
mov eax, ebx
mov dword [esp + 0x40], ecx
and eax, 0x8008
cmp eax, 0x8000
mov eax, dword [esp + 0x18]
movups xmmword [esi + 0x49ac], xmm0
jne 0x10086226
test al, al
je 0x10086226
cmp byte [esi + 0x4b00], cl
jne 0x10086226
cmp dword [esi + 0x4b50], 0
jne 0x10086226
cmp dword [esi + 0x4ab8], ebp
jne 0x10086226
call fcn.1001ab80
mov ecx, dword [esp + 0x40]
test al, al
mov eax, 1
movzx ecx, cl
cmovne ecx, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x40], ecx
mov edx, ebx
shr edx, 8
and edx, 0xffffff01
cmp byte [esp + 0x14], 0
mov dword [esp + 0x2c], edx
jne 0x1008626f
test al, al
je 0x100868e7
test cl, cl
je 0x10086251
push ebx
call fcn.10086aa0
add esp, 4
test bl, 8
jne 0x100868e7
push edi
call fcn.10086c50
mov al, byte [esp + 0x1c]
add esp, 4
pop edi
pop esi
pop ebx
pop ebp
add esp, 0x68
ret
cmp byte [esp + 0x12], 0
je 0x10086297
call fcn.100900d0
or dword [esi + 0x4988], 0x200
movups xmm0, xmmword [ebp + 0x224]
mov edx, dword [esp + 0x2c]
movups xmmword [esi + 0x49bc], xmm0
xor ecx, ecx
test bl, 4
jne 0x100862ac
xor eax, eax
test dword [esi + 0x4984], 0x4000
je 0x100862b3
mov ecx, 0x1000
mov eax, ecx
test dl, dl
jne 0x100862bf
mov ecx, eax
or ecx, 0x200
movss xmm1, dword [esp + 0x48]
subss xmm1, dword [esp + 0x24]
movss xmm2, dword [esi + 0x3914]
movss xmm3, dword [esi + 0xc8]
movaps xmm0, xmm1
subss xmm0, xmm2
comiss xmm3, xmm0
jb 0x10086309
movss xmm0, dword [esp + 0x1c]
addss xmm0, dword [esi + 0x3d38]
addss xmm0, xmm1
addss xmm0, xmm2
comiss xmm0, xmm3
jbe 0x10086309
mov dl, 1
or ecx, 0x10
jmp 0x1008631b
mov eax, ecx
xor dl, dl
or eax, 0x120
or ecx, 0x20
test bl, 0x40
cmovne ecx, eax
mov al, bl
mov byte [esp + 0x13], dl
and al, 1
mov dword [esp + 0x1c], ecx
mov byte [esp + 0x17], al
mov byte [esp + 0x11], al
mov eax, dword [esi + 0x4984]
shr eax, 0x16
and al, 1
mov dword [esp + 0x30], eax
je 0x1008636c
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x15]
push eax
push edi
call fcn.1007e9c0
mov ecx, dword [esp + 0x28]
add esp, 0xc
cmp byte [esp + 0x13], 0
je 0x10086364
and ecx, 0xffffffdf
or ecx, 0x10
or ebx, 0x80
jmp 0x1008637e
cmp ebp, dword [esi + 0x3ff0]
jne 0x10086378
test dl, dl
jne 0x1008637e
or ecx, 0x10000
push ecx
lea eax, [esp + 0x1a]
push eax
lea eax, [esp + 0x1d]
push eax
lea eax, [esp + 0x74]
push edi
push eax
call fcn.10070c10
xor cl, cl
mov byte [esp + 0x28], al
add esp, 0x14
mov dword [esp + 0x1c], ecx
cmp byte [esp + 0x2c], cl
jne 0x100864bb
test al, al
je 0x10086425
cmp dword [esi + 0x4d34], edi
je 0x1008640e
test bl, 0xc0
je 0x100863ca
cmp dword [esi + 0x4ac8], edi
jne 0x100863d3
cmp byte [esp + 0x30], cl
jne 0x100863d3
mov ecx, 1
mov dword [esp + 0x1c], ecx
test bl, bl
jns 0x100863f3
cmp byte [esp + 0x13], 0
je 0x100863eb
cmp byte [esi + 0x4b03], 0
jne 0x100863eb
mov al, 1
jmp 0x100863ed
xor al, al
or cl, al
mov dword [esp + 0x1c], ecx
test bl, 0x40
je 0x10086425
cmp word [esi + 0x2af2], 2
mov eax, dword [esp + 0x18]
jne 0x10086429
mov cl, 1
mov dword [esp + 0x1c], ecx
jmp 0x10086429
mov eax, dword [esp + 0x18]
mov edx, 1
test al, al
movzx ecx, cl
cmove ecx, edx
mov dword [esp + 0x1c], ecx
jmp 0x10086429
mov eax, dword [esp + 0x18]
cmp dword [esi + 0x4abc], edi
jne 0x10086489
cmp dword [esi + 0x4b50], 0
jne 0x10086457
test al, al
je 0x10086457
mov al, 1
push 0
mov dword [esp + 0x20], eax
call fcn.1001a5f0
add esp, 4
call fcn.1001abb0
mov ecx, dword [esp + 0x1c]
cmp dword [esi + 0x4abc], edi
jne 0x10086489
cmp dword [esi + 0x4b50], 1
jne 0x10086489
cmp byte [esp + 0x18], 0
jne 0x10086489
mov eax, 1
push 0
mov dword [esp + 0x20], eax
call fcn.1001a5f0
add esp, 4
call fcn.1001abb0
jmp 0x1008648d
test cl, cl
je 0x100864b7
cmp byte [esp + 0x18], 0
mov ecx, dword [ebp + 0x19c]
sete al
mov dword [esp + 0x18], eax
movzx eax, al
push eax
push dword [esp + 0x2c]
call fcn.10023880
or dword [esi + 0x4988], 0x10
mov ecx, dword [esp + 0x1c]
mov al, byte [esp + 0x14]
cmp byte [esp + 0x30], 0
je 0x1008651d
test al, al
je 0x100864e4
test cl, cl
jne 0x100864e4
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 1
push eax
lea eax, [esp + 0x15]
push eax
push edi
call fcn.1007e4d0
add esp, 0xc
jmp 0x10086503
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 0
push eax
lea eax, [esp + 0x15]
push eax
push edi
call fcn.1007e4d0
add esp, 0xc
cmp byte [esp + 0x14], 0
je 0x1008651d
lea eax, [esp + 0x68]
push eax
push dword [esi + 0x493c]
push dword [ebp + 0x158]
push edi
call fcn.10023f10
add esp, 0x10
mov al, byte [esp + 0x17]
cmp byte [esp + 0x11], al
je 0x1008652e
or dword [esi + 0x4988], 8
push ecx
mov dword [esp], 0x3f800000
push 0
call fcn.10014360
mov edi, eax
add esp, 8
cmp byte [esp + 0x38], 0
mov eax, dword [esp + 0x30]
movzx ecx, al
lea eax, [ecx*4 + 2]
mov cl, byte [esp + 0x15]
mov dword [esp + 0x30], eax
je 0x100866f3
cmp byte [esp + 0x16], 0
je 0x10086575
test cl, cl
je 0x10086575
mov eax, 0x1a
jmp 0x1008657f
xor eax, eax
test cl, cl
setne al
add eax, 0x18
push ecx
mov dword [esp], 0x3f800000
push eax
call fcn.10014360
movss xmm0, dword [esi + 0x38f4]
add esp, 4
movss dword [esp], xmm0
push 1
push eax
push dword [esp + 0x70]
push dword [esp + 0x70]
push dword [esp + 0x70]
push dword [esp + 0x70]
call fcn.10020c70
push dword [esp + 0x4c]
lea eax, [esp + 0x78]
push dword [esp + 0x9c]
push eax
call fcn.10021250
add esp, 0x28
test ebx, 0x200
je 0x1008662b
movss xmm1, dword [esp + 0x24]
mulss xmm1, dword [0x1009b444]
push edi
movss xmm0, dword [esp + 0x4c]
subss xmm0, xmm1
movss dword [esp + 0x34], xmm0
movss xmm0, dword [esi + 0x3d38]
mulss xmm0, dword [0x1009b440]
addss xmm0, dword [esp + 0x50]
movss dword [esp + 0x38], xmm0
push dword [esp + 0x38]
push dword [esp + 0x38]
push dword [ebp + 0x278]
call fcn.10039120
add esp, 0x10
jmp 0x100866af
cmp byte [esp + 0x2c], 0
jne 0x10086693
cmp byte [esp + 0x18], 0
je 0x10086648
mov eax, ebx
shr eax, 0x1d
not eax
and eax, 1
or eax, 2
jmp 0x1008664d
mov eax, 1
movss xmm0, dword [esp + 0x48]
subss xmm0, dword [esp + 0x24]
push ecx
mov dword [esp], 0x3f800000
push eax
push edi
addss xmm0, dword [esp + 0x2c]
movss dword [esp + 0x3c], xmm0
movss xmm0, dword [esp + 0x58]
movss dword [esp + 0x40], xmm0
push dword [esp + 0x40]
push dword [esp + 0x40]
push dword [ebp + 0x278]
call fcn.10038e10
add esp, 0x18
jmp 0x100866af
movss xmm1, dword [esp + 0x24]
subss xmm1, dword [esp + 0x20]
movss xmm0, dword [esp + 0x48]
subss xmm0, xmm1
movss dword [esp + 0x48], xmm0
test ebx, 0x10000000
je 0x100866d7
movss xmm1, dword [esi + 0x3d38]
addss xmm1, dword [esi + 0x38ec]
movss xmm0, dword [esp + 0x60]
subss xmm0, xmm1
movss dword [esp + 0x60], xmm0
cmp byte [esi + 0x5f48], 0
je 0x1008684e
push 0x10099130
push 0x10099130
jmp 0x10086846
test cl, cl
jne 0x100866fd
cmp byte [esp + 0x11], cl
je 0x10086750
cmp byte [esp + 0x16], 0
je 0x1008670f
test cl, cl
je 0x1008670f
mov eax, 0x1a
jmp 0x10086719
xor eax, eax
test cl, cl
setne al
add eax, 0x18
push ecx
mov dword [esp], 0x3f800000
push eax
call fcn.10014360
add esp, 4
mov dword [esp], 0
push 0
push eax
push dword [esp + 0x70]
push dword [esp + 0x70]
push dword [esp + 0x70]
push dword [esp + 0x70]
call fcn.10020c70
mov eax, dword [esp + 0x4c]
add esp, 0x1c
push eax
push dword [esp + 0x80]
lea eax, [esp + 0x60]
push eax
call fcn.10021250
add esp, 0xc
test ebx, 0x200
je 0x100867c0
movss xmm1, dword [esp + 0x24]
mulss xmm1, dword [0x1009b440]
push edi
movss xmm0, dword [esp + 0x4c]
subss xmm0, xmm1
movss dword [esp + 0x34], xmm0
movss xmm0, dword [esi + 0x3d38]
mulss xmm0, dword [0x1009b440]
addss xmm0, dword [esp + 0x50]
movss dword [esp + 0x38], xmm0
push dword [esp + 0x38]
push dword [esp + 0x38]
push dword [ebp + 0x278]
call fcn.10039120
add esp, 0x10
jmp 0x10086836
cmp byte [esp + 0x2c], 0
jne 0x10086836
cmp byte [esp + 0x18], 0
je 0x100867dd
mov eax, ebx
shr eax, 0x1d
not eax
and eax, 1
or eax, 2
jmp 0x100867e2
mov eax, 1
movss xmm0, dword [esp + 0x48]
subss xmm0, dword [esp + 0x24]
push ecx
mov dword [esp], 0x3f333333
push eax
push edi
addss xmm0, dword [esp + 0x2c]
movss dword [esp + 0x3c], xmm0
movss xmm0, dword [esi + 0x3d38]
mulss xmm0, dword [0x1009b41c]
addss xmm0, dword [esp + 0x58]
movss dword [esp + 0x40], xmm0
push dword [esp + 0x40]
push dword [esp + 0x40]
push dword [ebp + 0x278]
call fcn.10038e10
add esp, 0x18
cmp byte [esi + 0x5f48], 0
je 0x1008684e
push 0
push 0x1009aad4
call fcn.10019f60
add esp, 8
cmp byte [esp + 0x12], 0
je 0x1008685a
call fcn.10090010
cmp byte [esp + 0x38], 0
push 0
je 0x100868a0
lea eax, [esp + 0x3c]
mov dword [esp + 0x3c], 0
push eax
lea eax, [esp + 0x58]
mov dword [esp + 0x44], 0
push eax
push dword [esp + 0x94]
mov eax, dword [esp + 0x94]
push eax
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0x60]
push eax
call fcn.10021530
add esp, 0x1c
jmp 0x100868bf
push dword [esp + 0x8c]
mov eax, dword [esp + 0x8c]
push eax
push dword [esp + 0x58]
push dword [esp + 0x58]
call fcn.10021450
add esp, 0x14
cmp byte [esp + 0x18], 0
je 0x100868e7
cmp byte [esp + 0x40], 0
je 0x100868d6
push ebx
call fcn.10086aa0
add esp, 4
test bl, 8
jne 0x100868e7
push dword [esp + 0x7c]
call fcn.10086c50
add esp, 4
mov al, byte [esp + 0x18]
pop edi
pop esi
pop ebx
pop ebp
add esp, 0x68
ret