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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, dword [0x1015692c]
sub esp, 0x1d0
cmp dword [eax], 0
push esi
push edi
je 0x100aa5d1
mov esi, dword [eax]
mov ecx, 0xf412939a
call fcn.100e7b40
mov edx, dword [ebp + 0x1c]
movd xmm1, dword [0x1015c95c]
cvtdq2ps xmm1, xmm1
mov ecx, dword [edx + 0x1c]
movss xmm0, dword [eax + esi]
mulss xmm1, dword [ecx + 0x20]
comiss xmm0, xmm1
ja 0x100aa5d1
mov ecx, 0x66dc9d6d
call fcn.100e7b40
cmp byte [eax + esi], 0
jne 0x100aa5d1
mov ecx, 0x76649c6f
call fcn.100e7b40
cmp byte [eax + esi], 0
jne 0x100aa5d1
mov eax, dword [esi]
xor edx, edx
push dword [0x1015c940]
mov ecx, esi
push dword [eax + 0x430]
lea eax, [esp + 0x84]
push eax
call fcn.1009e0f0
mov esi, eax
mov eax, dword [0x1015c940]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], eax
test esi, esi
je 0x100aa5d1
mov ecx, 0xb22c092c
call fcn.100e7b40
cmp dword [eax + esi], 0
je 0x100aa5d1
mov esi, dword [0x1015692c]
mov ecx, 0x96ed4d1e
mov edi, dword [esi]
call fcn.100e7b40
cmp dword [eax + edi], 0
jle 0x100a9a21
mov ecx, dword [esp + 0x1c]
xor edx, edx
push dword [esp + 0x24]
mov eax, dword [ecx]
push dword [eax + 0x734]
lea eax, [esp + 0x84]
push eax
call fcn.1009e0f0
test eax, eax
je 0x100aa5d1
mov al, byte [eax + 0xec]
test al, al
je 0x100aa5d1
mov esi, dword [0x1015692c]
mov ecx, 0x19cdc55d
call fcn.100e7b40
mov ecx, dword [esp + 0x1c]
mov cx, word [eax + ecx]
call fcn.100a9040
mov ecx, eax
test ecx, ecx
je 0x100aa5d1
mov edi, dword [ebp + 0x18]
lea edx, [ecx + ecx*4]
cmp byte [edi + edx*8], 0
jne 0x100a9a67
mov ecx, 0x19cdc55d
call fcn.100e7b40
mov ecx, dword [esp + 0x1c]
mov cx, word [eax + ecx]
call fcn.100a9200
mov ecx, eax
xor edx, edx
lea eax, [ecx + ecx*4]
cmp byte [edi + eax*8], dl
cmovne edx, ecx
mov dword [esp + 0x30], edx
lea eax, [edx + edx*4]
cmp byte [edi + eax*8 + 0x25], 0
mov dword [esp + 0x28], eax
jne 0x100a9aba
mov ecx, 0xb439d47
call fcn.100e7b40
mov edx, dword [ebp + 0x1c]
movd xmm1, dword [0x1015c95c]
cvtdq2ps xmm1, xmm1
mov ecx, dword [edx + 0x1c]
mulss xmm1, dword [ecx + 0x20]
mov ecx, dword [esp + 0x1c]
movss xmm0, dword [eax + ecx]
comiss xmm0, xmm1
ja 0x100aa5d1
mov eax, dword [esp + 0x28]
cmp byte [edi + eax*8 + 6], 0
jne 0x100a9ae4
mov esi, dword [esi]
mov ecx, 0x346c4efc
call fcn.100e7b40
movss xmm0, dword [0x1014b2b4]
comiss xmm0, dword [eax + esi - 8]
jb 0x100aa5d1
mov eax, dword [esp + 0x28]
cmp byte [edi + 0x640], 0
je 0x100a9afa
cmp byte [0x1015693c], 0
je 0x100aa5d1
cmp byte [edi + eax*8], 0
je 0x100aa5d1
mov ecx, dword [ebp + 0x20]
test byte [ecx + 0x30], 1
jne 0x100a9b1f
cmp byte [edi + eax*8 + 8], 0
jne 0x100a9b1f
cmp byte [edi + eax*8 + 1], 0
je 0x100aa5d1
mov esi, dword [esp + 0x1c]
xor edx, edx
push dword [esp + 0x24]
mov ecx, esi
mov eax, dword [esi]
push dword [eax + 0x78c]
lea eax, [esp + 0x84]
push eax
call fcn.1009e0f0
mov eax, dword [esp + 0x30]
fstp dword [esp + 0x18]
lea eax, [eax + eax*4]
movss xmm0, dword [edi + eax*8 + 0x18]
comiss xmm0, dword [esp + 0x18]
mov dword [esp + 0x20], eax
jb 0x100aa5d1
cmp byte [edi + eax*8 + 5], 0
je 0x100a9baa
mov eax, dword [esi]
xor edx, edx
push dword [esp + 0x24]
mov ecx, esi
push dword [eax + 0x71c]
lea eax, [esp + 0x84]
push eax
call fcn.1009e0f0
cmp eax, 5
jne 0x100a9baa
mov esi, dword [0x1015692c]
mov ecx, 0x747d37fc
mov edi, dword [esi]
call fcn.100e7b40
cmp byte [eax + edi], 0
je 0x100aa5d1
mov edi, dword [ebp + 0x18]
jmp 0x100a9bb0
mov esi, dword [0x1015692c]
mov eax, dword [esp + 0x20]
xor edx, edx
mov ecx, dword [esi]
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
movss xmm0, dword [edi + eax*8 + 0xc]
lea eax, [esp + 0x70]
push eax
mov eax, dword [ecx]
push dword [0x1015c940]
movss dword [esp + 0x68], xmm0
mov dword [esp + 0x58], 0
push dword [eax + 0x474]
lea eax, [esp + 0x88]
push eax
call fcn.1009e0f0
mov ecx, dword [esp + 0x1c]
xor edx, edx
push dword [esp + 0x24]
mov eax, dword [ecx]
push dword [eax + 0x734]
lea eax, [esp + 0x84]
push eax
call fcn.1009e0f0
test eax, eax
je 0x100a9c76
movss xmm0, dword [0x1014b2a0]
comiss xmm0, dword [eax + 0x1a0]
jbe 0x100a9c76
movss xmm0, dword [eax + 0x1b8]
comiss xmm0, dword [eax + 0xdc]
jbe 0x100a9c76
mov eax, dword [0x1015692c]
xor edx, edx
mov ecx, dword [eax]
lea eax, [esp + 0x88]
push eax
push dword [0x1015c940]
mov eax, dword [ecx]
push dword [eax + 0x568]
lea eax, [esp + 0x88]
push eax
call fcn.1009e0f0
lea eax, [esp + 0x88]
jmp 0x100a9c8b
xorps xmm0, xmm0
mov dword [esp + 0x6c], 0
movq qword [esp + 0x64], xmm0
lea eax, [esp + 0x64]
mov edx, dword [ebp + 0xc]
mov esi, 1
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x5c], eax
mov ecx, dword [edx + 0x18]
push dword [edx]
xor edx, edx
movq qword [esp + 0x58], xmm0
mov dword [esp + 0x2c], esi
mov eax, dword [ecx]
push dword [eax + 0x50]
lea eax, [esp + 0x84]
push eax
call fcn.1009e0f0
cmp eax, esi
jl 0x100aa5d1
nop dword [eax]
mov edx, dword [ebp + 0x10]
push esi
mov ecx, dword [edx + 0xc]
push dword [edx]
xor edx, edx
mov eax, dword [ecx]
push dword [eax + 0xc]
lea eax, [esp + 0x138]
push eax
call fcn.1009e0f0
mov edx, dword [0x1015c940]
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], eax
test eax, eax
je 0x100aa1c4
mov ecx, dword [0x1015692c]
cmp eax, dword [ecx]
je 0x100aa1c4
lea ecx, [eax + 8]
mov eax, dword [ecx]
push edx
xor edx, edx
push dword [eax + 0x24]
lea eax, [esp + 0xe0]
push eax
call fcn.1009e0f0
test al, al
jne 0x100aa1c4
mov ecx, dword [esp + 0x38]
xor edx, edx
push dword [esp + 0x34]
mov eax, dword [ecx]
push dword [eax + 0x270]
lea eax, [esp + 0xec]
push eax
call fcn.1009e0f0
test al, al
je 0x100aa1c4
mov eax, dword [0x1015692c]
mov ecx, dword [ebp + 0x1c]
push dword [eax]
mov edx, dword [ecx + 0x30]
mov ecx, dword [esp + 0x3c]
call edx
mov esi, dword [esp + 0x20]
test al, al
jne 0x100a9d7d
cmp byte [edi + esi*8 + 3], al
je 0x100aa1c4
mov ecx, 0xe7cc7916
call fcn.100e7b40
mov ecx, dword [esp + 0x38]
cmp byte [eax + ecx], 0
jne 0x100aa1c4
movaps xmm0, xmmword [0x1014b480]
lea eax, [esp + 0xb4]
lea edx, [esp + 0xcc]
mov dword [esp + 0xc4], 6
mov ecx, eax
mov dword [esp + 0xc8], 5
mov dword [esp + 0xc], eax
mov dword [esp + 0x30], eax
movups xmmword [esp + 0xb4], xmm0
cmp ecx, edx
je 0x100aa1c4
nop word [eax + eax]
mov ecx, dword [edi + esi*8 + 0x14]
cmp ecx, 1
jle 0x100a9df2
mov eax, 0xa
sub eax, ecx
jmp 0x100a9df4
mov eax, dword [eax]
push eax
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x3c]
call fcn.1009da90
movss xmm0, dword [esp + 0x3c]
lea ecx, [esp + 0x9c]
subss xmm0, dword [esp + 0x70]
mov eax, dword [ebp + 0x20]
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [esp + 0x40]
subss xmm0, dword [esp + 0x74]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esp + 0x44]
subss xmm0, dword [esp + 0x78]
xorps xmm0, xmmword [0x1014bd10]
movss dword [esp + 0x18], xmm0
fld dword [esp + 0x18]
fld dword [esp + 0x2c]
fst dword [esp + 0x18]
fld dword [esp + 0xc]
movss xmm1, dword [esp + 0x18]
fst dword [esp + 0xc]
movss xmm0, dword [esp + 0xc]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss dword [esp + 0xc], xmm0
fld dword [esp + 0xc]
fxch st(1)
fxch st(3)
movss xmm0, dword [esp + 0x54]
fxch st(1)
fpatan
addss xmm0, dword [eax + 0xc]
fstp dword [esp + 0xc]
movss xmm1, dword [esp + 0xc]
fpatan
mulss xmm1, dword [0x1014b2a8]
fstp dword [esp + 0xc]
subss xmm1, xmm0
movss xmm0, dword [esp + 0x58]
addss xmm0, dword [eax + 0x10]
movss dword [esp + 0x9c], xmm1
movss xmm1, dword [esp + 0xc]
mulss xmm1, dword [0x1014b2a8]
subss xmm1, xmm0
movss xmm0, dword [esp + 0x5c]
addss xmm0, dword [eax + 0x14]
movss dword [esp + 0xa0], xmm1
xorps xmm0, xmmword [0x1014bd10]
movss dword [esp + 0xa4], xmm0
call fcn.100a9290
movq xmm0, qword [eax]
movq qword [esp + 0x64], xmm0
fld dword [esp + 0x64]
fstp dword [esp + 0xc]
movss xmm1, dword [esp + 0xc]
fld dword [esp + 0x68]
fstp dword [esp + 0xc]
movss xmm0, dword [esp + 0xc]
mulss xmm0, xmm0
mov eax, dword [eax + 8]
mulss xmm1, xmm1
mov dword [esp + 0x6c], eax
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss dword [esp + 0xc], xmm0
fld dword [esp + 0xc]
fstp dword [esp + 0x18]
movss xmm0, dword [esp + 0x18]
comiss xmm0, dword [esp + 0x60]
ja 0x100aa1aa
cmp byte [edi + esi*8 + 7], 0
jne 0x100a9fc0
movq xmm0, qword [esp + 0x3c]
mov eax, dword [esp + 0x44]
push 1
sub esp, 0xc
mov ecx, esp
sub esp, 0xc
movq qword [ecx], xmm0
movq xmm0, qword [esp + 0x8c]
mov dword [ecx + 8], eax
mov ecx, esp
mov eax, dword [esp + 0x94]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov eax, dword [ebp + 0x1c]
push dword [eax + 0x28]
push dword [eax + 0x2c]
lea eax, [esp + 0x114]
push eax
call fcn.1009e0c0
add esp, 0x28
test al, al
jne 0x100aa1aa
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
mov dword [esp + 0xc], eax
mov eax, dword [ecx + 0x14]
mov dword [esp + 0x2c], eax
mov eax, dword [0x1015692c]
cmp dword [eax], 0
je 0x100aa0f1
mov ecx, dword [eax]
xor edx, edx
mov dword [esp + 0x94], 0x1013fe0c
mov dword [esp + 0x98], ecx
mov ecx, dword [eax]
lea eax, [esp + 0xcc]
push eax
push dword [0x1015c940]
mov eax, dword [ecx]
push dword [eax + 0x474]
lea eax, [esp + 0x108]
push eax
call fcn.1009e0f0
movss xmm0, dword [esp + 0x3c]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100aa05e
movss xmm0, dword [esp + 0x40]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100aa05e
movss xmm0, dword [esp + 0x44]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100aa05e
push 8
lea eax, [esp + 0x10c]
push eax
lea ecx, [esp + 0x3c]
call fcn.1009da90
jmp 0x100aa07f
mov eax, dword [esp + 0x44]
movq xmm0, qword [esp + 0x3c]
mov dword [esp + 0x90], eax
lea eax, [esp + 0x88]
movq qword [esp + 0x88], xmm0
push eax
lea eax, [esp + 0xd0]
push eax
lea ecx, [esp + 0x198]
call fcn.1009d9e0
lea eax, [esp + 0x138]
xor edx, edx
push eax
lea eax, [esp + 0x98]
push eax
mov eax, ecx
mov ecx, dword [esp + 0x34]
push 0x46004009
push eax
push dword [esp + 0x1c]
mov eax, dword [ecx]
push dword [eax + 0x14]
lea eax, [esp + 0x12c]
push eax
call fcn.1009e0f0
mov ecx, dword [esp + 0x38]
cmp dword [esp + 0x184], ecx
je 0x100aa178
movss xmm0, dword [esp + 0x164]
comiss xmm0, dword [0x1014b1a4]
ja 0x100aa178
jmp 0x100aa0f5
mov ecx, dword [esp + 0x38]
cmp byte [edi + esi*8 + 4], 0
jne 0x100aa1aa
cmp byte [edi + esi*8 + 0x24], 0
mov al, byte [edi + esi*8 + 3]
mov dword [esp + 0xc], eax
je 0x100aa12c
mov eax, dword [ecx]
xor edx, edx
push dword [esp + 0x34]
push dword [eax + 0x1e8]
lea eax, [esp + 0x128]
push eax
call fcn.1009e0f0
jmp 0x100aa130
mov eax, dword [edi + esi*8 + 0x20]
mov ecx, dword [esp + 0x1c]
xor edx, edx
push dword [esp + 0x24]
mov dword [esp + 0x30], eax
mov eax, dword [ecx]
push dword [eax + 0x734]
lea eax, [esp + 0xb0]
push eax
call fcn.1009e0f0
push dword [esp + 0xc]
mov edx, dword [ebp + 0x14]
push dword [esp + 0x30]
mov ecx, dword [ebp + 0xc]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x44]
push eax
push dword [ebp + 0x1c]
call fcn.100a9350
test al, al
je 0x100aa1aa
movss xmm0, dword [esp + 0x18]
movss xmm1, dword [esp + 0x60]
comiss xmm1, xmm0
jbe 0x100aa1a3
mov eax, dword [esp + 0x44]
movss dword [esp + 0x60], xmm0
movq xmm0, qword [esp + 0x3c]
movq qword [esp + 0x48], xmm0
mov dword [esp + 0x50], eax
cmp dword [edi + esi*8 + 0x14], 0
jne 0x100aa1c4
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0xcc]
add eax, 4
mov dword [esp + 0x30], eax
cmp eax, ecx
jne 0x100a9de0
mov edx, dword [ebp + 0xc]
inc dword [esp + 0x28]
mov ecx, dword [edx + 0x18]
push dword [edx]
xor edx, edx
mov eax, dword [ecx]
push dword [eax + 0x50]
lea eax, [esp + 0x84]
push eax
call fcn.1009e0f0
mov esi, dword [esp + 0x28]
cmp esi, eax
jle 0x100a9cd0
movss xmm4, dword [esp + 0x48]
xorps xmm1, xmm1
movss xmm2, dword [esp + 0x50]
movss xmm3, dword [esp + 0x4c]
ucomiss xmm4, xmm1
lahf
test ah, 0x44
jp 0x100aa224
ucomiss xmm3, xmm1
lahf
test ah, 0x44
jp 0x100aa224
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x100aa5d1
mov eax, dword fs:[0x2c]
mov ecx, dword [0x10153418]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1015ca40]
cmp eax, dword [ecx + 4]
jle 0x100aa290
push 0x1015ca40
call fcn.100faae4
add esp, 4
cmp dword [0x1015ca40], 0xffffffff
jne 0x100aa27b
mov ecx, dword [ebp + 0x20]
push 0x1015ca40
movq xmm0, qword [ecx + 0xc]
movq qword [0x1015ca44], xmm0
mov eax, dword [ecx + 0x14]
mov dword [0x1015ca4c], eax
call fcn.100faa9a
add esp, 4
movss xmm4, dword [esp + 0x48]
xorps xmm1, xmm1
movss xmm3, dword [esp + 0x4c]
movss xmm2, dword [esp + 0x50]
mov ecx, dword [ebp + 0x20]
mov eax, dword [ecx + 4]
dec eax
cmp dword [0x10156938], eax
jne 0x100aa2f4
movss xmm0, dword [0x1015ca44]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100aa2d2
movss xmm0, dword [0x1015ca48]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100aa2d2
movss xmm0, dword [0x1015ca4c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100aa2f4
mov esi, dword [esp + 0x20]
cmp byte [edi + esi*8 + 2], 0
je 0x100aa2f8
movq xmm0, qword [0x1015ca44]
movq qword [ecx + 0xc], xmm0
mov eax, dword [0x1015ca4c]
mov dword [ecx + 0x14], eax
jmp 0x100aa2f8
mov esi, dword [esp + 0x20]
subss xmm2, dword [esp + 0x78]
subss xmm4, dword [esp + 0x70]
subss xmm3, dword [esp + 0x74]
xorps xmm2, xmmword [0x1014bd10]
movss dword [esp + 0xc], xmm2
fld dword [esp + 0xc]
movss dword [esp + 0x30], xmm4
fld dword [esp + 0x30]
fst dword [esp + 0xc]
movss xmm1, dword [esp + 0xc]
movss dword [esp + 0x18], xmm3
fld dword [esp + 0x18]
fst dword [esp + 0xc]
movss xmm0, dword [esp + 0xc]
mulss xmm0, xmm0
mulss xmm1, xmm1
movss xmm2, dword [esp + 0x54]
addss xmm2, dword [ecx + 0xc]
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss xmm1, dword [esp + 0x58]
movss dword [esp + 0xc], xmm0
fld dword [esp + 0xc]
fxch st(1)
fxch st(3)
fxch st(1)
fpatan
addss xmm1, dword [ecx + 0x10]
fstp dword [esp + 0xc]
movss xmm0, dword [esp + 0xc]
fpatan
mulss xmm0, dword [0x1014b2a8]
fstp dword [esp + 0xc]
subss xmm0, xmm2
movss dword [esp + 0x64], xmm0
movss xmm0, dword [esp + 0xc]
mulss xmm0, dword [0x1014b2a8]
subss xmm0, xmm1
movss dword [esp + 0x68], xmm0
movss xmm0, dword [esp + 0x5c]
addss xmm0, dword [ecx + 0x14]
lea ecx, [esp + 0x64]
xorps xmm0, xmmword [0x1014bd10]
movss dword [esp + 0x6c], xmm0
call fcn.100a9290
movss xmm1, dword [0x1014bce0]
movss xmm2, dword [0x1015c840]
mov byte [esp + 0x17], 0
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0x54], xmm0
movss xmm4, dword [esp + 0x54]
movss xmm3, dword [esp + 0x58]
movaps xmm0, xmm4
andps xmm0, xmm1
mov dword [esp + 0x5c], eax
comiss xmm0, xmm2
ja 0x100aa421
movaps xmm0, xmm3
andps xmm0, xmm1
comiss xmm0, xmm2
jbe 0x100aa455
comiss xmm4, xmm2
movaps xmm1, xmm2
xorps xmm1, xmmword [0x1014bd10]
jbe 0x100aa435
movaps xmm4, xmm2
jmp 0x100aa43f
movaps xmm0, xmm1
maxss xmm0, xmm4
movaps xmm4, xmm0
comiss xmm3, xmm2
jbe 0x100aa449
movaps xmm3, xmm2
jmp 0x100aa450
maxss xmm1, xmm3
movaps xmm3, xmm1
mov byte [esp + 0x17], 1
movss xmm1, dword [0x1014b1b4]
divss xmm1, dword [edi + esi*8 + 0x10]
mov eax, dword [ebp + 0x20]
add eax, 0xc
movaps xmm0, xmm1
mulss xmm0, xmm4
addss xmm0, dword [eax]
movss dword [eax], xmm0
movaps xmm0, xmm1
mulss xmm1, dword [esp + 0x5c]
mulss xmm0, xmm3
addss xmm1, dword [eax + 8]
addss xmm0, dword [eax + 4]
movss dword [eax + 8], xmm1
movss dword [eax + 4], xmm0
cmp byte [edi + esi*8 + 2], 0
jne 0x100aa4bd
mov edx, dword [ebp + 0xc]
push eax
mov ecx, dword [edx + 0x18]
push dword [edx]
xor edx, edx
mov eax, dword [ecx]
push dword [eax + 0x4c]
lea eax, [esp + 0xb4]
push eax
call fcn.1009e0f0
cmp byte [edi + esi*8 + 9], 0
je 0x100aa533
mov ecx, 0xb439d47
call fcn.100e7b40
mov ecx, dword [ebp + 0x1c]
movd xmm0, dword [0x1015c95c]
cvtdq2ps xmm0, xmm0
mov ecx, dword [ecx + 0x1c]
mulss xmm0, dword [ecx + 0x20]
mov ecx, dword [esp + 0x1c]
comiss xmm0, dword [eax + ecx]
jb 0x100aa533
mov eax, dword [ecx]
xor edx, edx
push dword [esp + 0x24]
push dword [eax + 0x71c]
lea eax, [esp + 0xb0]
push eax
call fcn.1009e0f0
cmp eax, 5
jne 0x100aa533
mov eax, dword [0x1015692c]
mov ecx, 0x747d37fc
mov esi, dword [eax]
call fcn.100e7b40
cmp byte [eax + esi], 0
mov esi, dword [esp + 0x20]
jne 0x100aa533
mov eax, dword [ebp + 0x20]
or dword [eax + 0x30], 0x800
cmp byte [edi + esi*8 + 8], 0
je 0x100aa5a1
mov ecx, 0xb439d47
call fcn.100e7b40
mov ecx, dword [ebp + 0x1c]
movd xmm0, dword [0x1015c95c]
cvtdq2ps xmm0, xmm0
mov ecx, dword [ecx + 0x1c]
mulss xmm0, dword [ecx + 0x20]
mov ecx, dword [esp + 0x1c]
comiss xmm0, dword [eax + ecx]
jb 0x100aa5a1
mov al, byte [esp + 0x17]
test al, al
jne 0x100aa5a9
mov eax, dword [ecx]
xor edx, edx
push dword [esp + 0x24]
push dword [eax + 0x78c]
lea eax, [esp + 0xb0]
push eax
call fcn.1009e0f0
movss xmm0, dword [edi + esi*8 + 0x1c]
mov ecx, dword [ebp + 0x20]
fstp dword [esp + 0xc]
comiss xmm0, dword [esp + 0xc]
jb 0x100aa5dc
or dword [ecx + 0x30], 1
jmp 0x100aa5dc
mov al, byte [esp + 0x17]
test al, al
je 0x100aa5d9
mov ecx, dword [ebp + 0x20]
and dword [ecx + 0x30], 0xfffffffe
test al, al
je 0x100aa5dc
movq xmm0, qword [ecx + 0xc]
movq qword [0x1015ca44], xmm0
mov eax, dword [ecx + 0x14]
mov dword [0x1015ca4c], eax
mov eax, dword [ecx + 4]
mov dword [0x10156938], eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x1c
mov ecx, dword [ebp + 0x20]
movss xmm0, dword [edi + esi*8 + 0x10]
comiss xmm0, dword [0x1014b1b4]
ja 0x100aa5b4
xorps xmm0, xmm0
mov dword [0x1015ca4c], 0
movq qword [0x1015ca44], xmm0
mov eax, dword [ecx + 4]
pop edi
mov dword [0x10156938], eax
pop esi
mov esp, ebp
pop ebp
ret 0x1c