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

Disassembly:
sub esp, 0x6c
mov eax, dword [0x10103040]
xor eax, esp
mov dword [esp + 0x64], eax
push ebx
push ebp
push esi
mov ebx, ecx
mov byte [esp + 0x11], dl
push edi
mov ecx, 0x10175a17
mov dword [esp + 0x28], ebx
call fcn.100b6430
mov edi, dword [0x1010713c]
mov eax, dword [edi + 0x199c]
mov byte [eax + 0x7c], 1
mov esi, dword [edi + 0x199c]
cmp byte [esi + 0x7f], 0
jne 0x1008a050
mov eax, dword [esp + 0x80]
and eax, 2
mov dword [esp + 0x1c], eax
je 0x10089db4
cmp dword [esi + 0x1bc], 0
je 0x10089db4
call fcn.10044600
cmp dword [esi + 0x1c0], 0
mov ebp, dword [sym.imp.ucrtbased.dll__wassert]
jg 0x10089dd7
push 0x4b7
push 0x100c0510
push str.Size___0
call ebp
add esp, 0xc
mov ecx, dword [esi + 0x1c0]
xor edx, edx
mov eax, dword [esi + 0x1c8]
push dword [eax + ecx*4 - 4]
mov ecx, ebx
call fcn.1003cbb0
mov ecx, dword [0x1010713c]
mov ebx, eax
add esp, 4
cmp dword [ecx + 0x19bc], ebx
jne 0x10089e09
mov dword [ecx + 0x19c4], ebx
cmp dword [ecx + 0x19c0], ebx
jne 0x10089e18
mov byte [ecx + 0x19d0], 1
mov edx, dword [esp + 0x28]
push ecx
mov dword [esp], 0xbf800000
lea ecx, [esp + 0x30]
push 1
push 0
call fcn.10044fa0
mov ecx, dword [esp + 0x90]
add esp, 0xc
xorps xmm2, xmm2
movss xmm3, dword [ecx + 4]
ucomiss xmm3, xmm2
movss dword [esp + 0x24], xmm3
lahf
test ah, 0x44
jp 0x10089e5e
movss xmm3, dword [esp + 0x30]
movss dword [esp + 0x24], xmm3
movss xmm1, dword [ecx]
ucomiss xmm1, xmm2
lahf
test ah, 0x44
jp 0x10089e71
movss xmm1, dword [esp + 0x2c]
movss xmm5, dword [esi + 0xcc]
lea ecx, [esp + 0x38]
addss xmm5, dword [esi + 0xf0]
movss xmm4, dword [esi + 0xc8]
movaps xmm0, xmm4
movss dword [esp + 0x40], xmm4
addss xmm0, xmm1
movss dword [esp + 0x64], xmm4
movaps xmm1, xmm5
movss dword [esp + 0x18], xmm5
addss xmm1, xmm3
movss dword [esp + 0x68], xmm5
movss dword [esp + 0x6c], xmm0
subss xmm0, xmm4
movss dword [esp + 0x70], xmm1
subss xmm1, xmm5
movss dword [esp + 0x38], xmm0
movss dword [esp + 0x3c], xmm1
xorps xmm1, xmm1
call fcn.10041230
cmp dword [esp + 0x1c], 0
mov eax, dword [0x1010713c]
movss xmm4, dword [esi + 0x3c]
movss dword [esp + 0x38], xmm4
mov eax, dword [eax + 0x199c]
movss xmm0, dword [eax + 0x214]
subss xmm0, dword [eax + 0xc]
movss dword [esp + 0x20], xmm0
jne 0x10089f37
mov ecx, dword [eax + 0x1bc]
mov dword [esp + 0x34], eax
test ecx, ecx
je 0x10089f37
mov ecx, dword [ecx + 0xc]
inc ecx
call fcn.10054220
mov eax, dword [esp + 0x34]
movss xmm4, dword [esp + 0x38]
subss xmm0, dword [eax + 0x3c]
movss dword [esp + 0x20], xmm0
addss xmm0, dword [esi + 0xc]
movss xmm7, dword [esp + 0x40]
mov ecx, dword [esp + 0x84]
movss xmm1, dword [esp + 0x2c]
subss xmm0, xmm4
movss xmm3, dword [ecx + 4]
subss xmm0, xmm7
maxss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm3, xmm0
lahf
test ah, 0x44
jp 0x10089f72
movss xmm3, dword [esp + 0x24]
movss xmm2, dword [ecx]
mov ecx, dword [esp + 0x80]
and ecx, 0x2000
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jnp 0x10089f93
test ecx, ecx
jne 0x10089f93
movaps xmm1, xmm2
movss xmm6, dword [esp + 0x18]
movaps xmm5, xmm7
ucomiss xmm2, xmm0
addss xmm5, xmm1
addss xmm6, xmm3
lahf
test ah, 0x44
jnp 0x10089fb1
test ecx, ecx
je 0x10089fb5
addss xmm5, xmm4
movss xmm4, dword [edi + 0x1544]
lea ecx, [esp + 0x54]
movss xmm3, dword [edi + 0x1548]
movaps xmm0, xmm4
mulss xmm0, dword [0x100fabb8]
mov edx, ebx
push 0
movss xmm1, dword [esp + 0x1c]
cvttss2si eax, xmm0
movaps xmm0, xmm3
mulss xmm0, dword [0x100fabb8]
movd xmm2, eax
cvttss2si eax, xmm0
cvtdq2ps xmm2, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm4, xmm2
subss xmm3, xmm0
subss xmm7, xmm2
subss xmm1, xmm0
addss xmm4, xmm5
addss xmm3, xmm6
movss dword [esp + 0x58], xmm7
movss dword [esp + 0x5c], xmm1
movss dword [esp + 0x60], xmm4
movss dword [esp + 0x64], xmm3
call fcn.100413b0
add esp, 4
test al, al
jne 0x1008a065
cmp dword [esp + 0x1c], 0
je 0x1008a050
cmp dword [esi + 0x1bc], 0
je 0x1008a050
call fcn.10054740
xor al, al
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x64]
xor ecx, esp
call fcn.100b3fd0
add esp, 0x6c
ret
mov ecx, dword [esp + 0x80]
and ecx, 0x400
mov eax, dword [esp + 0x80]
add ecx, ecx
mov edx, ecx
or edx, 4
test dword [esp + 0x80], 0x800
cmove edx, ecx
mov ecx, edx
or ecx, 8
test dword [esp + 0x80], 0x1000
cmove ecx, edx
and eax, 8
mov edx, ecx
mov dword [esp + 0x18], eax
or edx, 0x100
test eax, eax
movzx eax, byte [esp + 0x15]
cmove edx, ecx
xor ecx, ecx
cmp dword [esp + 0x18], ecx
cmove ecx, eax
lea eax, [esp + 0x17]
mov dword [esp + 0x40], ecx
mov ecx, edx
or ecx, 0x12
test byte [esp + 0x80], 4
cmove ecx, edx
mov edx, ebx
push ecx
push eax
lea eax, [esp + 0x1d]
push eax
lea ecx, [esp + 0x60]
call fcn.10076220
add esp, 0xc
mov byte [esp + 0x16], al
test al, al
jne 0x1008a100
mov al, byte [esp + 0x15]
test al, al
je 0x1008a149
cmp byte [edi + 0x1b0f], 0
jne 0x1008a133
cmp dword [edi + 0x1aac], esi
jne 0x1008a133
mov eax, dword [edi + 0x1b04]
cmp eax, dword [esi + 0x134]
jne 0x1008a133
mov byte [edi + 0x1b0e], 1
mov ecx, ebx
mov edx, dword [esi + 0x134]
call fcn.10040dd0
cmp byte [esp + 0x16], 0
je 0x1008a141
mov ecx, ebx
call fcn.10041170
mov al, byte [esp + 0x15]
test al, al
jne 0x1008a154
cmp byte [esp + 0x40], 0
je 0x1008a1fb
cmp byte [esp + 0x17], 0
je 0x1008a166
test al, al
je 0x1008a166
mov ecx, 0x1b
jmp 0x1008a170
xor ecx, ecx
test al, al
setne cl
add ecx, 0x19
mov eax, dword [0x1010713c]
add ecx, ecx
movups xmm0, xmmword [eax + ecx*8 + 0x15a8]
lea ecx, [esp + 0x40]
movups xmmword [esp + 0x40], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [eax + 0x1500]
movss dword [esp + 0x4c], xmm0
call fcn.1003d8c0
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x38], ecx
mov ecx, dword [0x1010713c]
push 0xf
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x5c]
mov ecx, dword [ecx + 0x199c]
push ecx
mov dword [esp], 0
push eax
mov ecx, dword [ecx + 0x274]
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x48]
mov dword [esp + 0x4c], edx
push eax
call fcn.10069d40
push 0xa
mov edx, ebx
lea ecx, [esp + 0x58]
call fcn.1003fd40
add esp, 4
cmp dword [esp + 0x1c], 0
je 0x1008a233
cmp dword [esi + 0x1bc], 0
je 0x1008a233
call fcn.10054740
lea ecx, [esp + 0x40]
call fcn.1004d800
movss xmm0, dword [esp + 0x5c]
movss xmm1, dword [eax]
subss xmm1, dword [esp + 0x20]
subss xmm0, xmm1
movss dword [esp + 0x5c], xmm0
mov ebx, dword [esp + 0x18]
test ebx, ebx
je 0x1008a248
lea edx, [edi + 0x15b8]
xor ecx, ecx
call fcn.1004c890
lea eax, [esp + 0x54]
push eax
lea eax, [edi + 0x1584]
push eax
lea eax, [esp + 0x34]
push eax
push 0
push dword [esp + 0x38]
lea edx, [esp + 0x80]
lea ecx, [esp + 0x78]
call fcn.1003f4a0
add esp, 0x14
test ebx, ebx
je 0x1008a280
mov ecx, 1
call fcn.1004c8e0
cmp byte [esp + 0x16], 0
je 0x1008a3c4
test dword [esi + 8], 0x4000000
je 0x1008a3c4
test byte [esp + 0x80], 1
jne 0x1008a3c4
test byte [esi + 0x168], 0x20
jne 0x1008a3c4
mov edi, dword [0x1010713c]
mov ecx, dword [edi + 0x1a34]
lea esi, [ecx - 1]
test esi, esi
js 0x1008a3c4
cmp esi, dword [edi + 0x1a28]
jge 0x1008a3c4
mov eax, dword [edi + 0x1a30]
lea ebx, [esi + esi*8]
shl ebx, 2
add eax, ebx
mov dword [esp + 0x40], eax
cmp esi, ecx
jl 0x1008a300
push 0x4ad
push 0x100c0510
push str.i___Size
call ebp
add esp, 0xc
mov eax, dword [edi + 0x1a3c]
mov ecx, dword [esp + 0x40]
mov eax, dword [ebx + eax]
cmp eax, dword [ecx]
jne 0x1008a3c4
test esi, esi
jle 0x1008a3aa
nop dword [eax]
cmp esi, dword [edi + 0x1a28]
jl 0x1008a33c
push 0x4ad
push 0x100c0510
push str.i___Size
call ebp
add esp, 0xc
mov eax, dword [edi + 0x1a30]
lea edx, [esi - 1]
mov dword [esp + 0x40], edx
mov ebp, dword [ebx + eax + 4]
cmp edx, dword [edi + 0x1a28]
jl 0x1008a371
push 0x4ad
push 0x100c0510
push str.i___Size
call dword [sym.imp.ucrtbased.dll__wassert]
mov edx, dword [esp + 0x4c]
add esp, 0xc
mov eax, dword [edi + 0x1a30]
lea ecx, [ebx - 0x24]
mov ebx, ecx
mov eax, dword [ecx + eax + 4]
test ebp, ebp
je 0x1008a3aa
test dword [ebp + 8], 0x10000000
je 0x1008a3aa
test eax, eax
je 0x1008a39a
test dword [eax + 8], 0x8000000
jne 0x1008a3aa
mov ebp, dword [sym.imp.ucrtbased.dll__wassert]
mov esi, edx
test esi, esi
jg 0x1008a320
mov dl, 1
mov ecx, esi
call fcn.1004f6f0
mov eax, dword [edi + 0x1aac]
test eax, eax
je 0x1008a3c4
mov byte [eax + 0x144], 1
mov ecx, dword [esp + 0x74]
mov al, byte [esp + 0x16]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.100b3fd0
add esp, 0x6c
ret