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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x128
mov eax, dword [0x102a000c]
xor eax, esp
mov dword [esp + 0x124], eax
movss xmm1, dword [0x102932ec]
xorps xmm0, xmm0
mov dword [esp + 0x78], edx
mov edx, dword [ebp + 8]
push esi
mov dword [esp + 0x54], ecx
mov ecx, dword [ebp + 0xc]
mov al, byte [edx + 2]
mov dword [esp + 0x24], edx
mov dword [esp + 0x10], ecx
push edi
test al, al
jne 0x100a6c89
xorps xmm2, xmm2
jmp 0x100a6c97
movzx eax, al
movd xmm2, eax
cvtdq2ps xmm2, xmm2
divss xmm2, xmm1
mov al, byte [edx + 1]
movss dword [esp + 0xd8], xmm2
movss dword [esp + 0x4c], xmm2
test al, al
jne 0x100a6cb2
xorps xmm2, xmm2
jmp 0x100a6cc0
movzx eax, al
movd xmm2, eax
cvtdq2ps xmm2, xmm2
divss xmm2, xmm1
mov al, byte [edx]
movss dword [esp + 0xdc], xmm2
movss dword [esp + 0x50], xmm2
test al, al
jne 0x100a6cda
xorps xmm2, xmm2
jmp 0x100a6ce8
movzx eax, al
movd xmm2, eax
cvtdq2ps xmm2, xmm2
divss xmm2, xmm1
mov al, byte [edx + 3]
movss dword [esp + 0xe0], xmm2
movss dword [esp + 0x54], xmm2
test al, al
jne 0x100a6d12
xorps xmm1, xmm1
movss dword [esp + 0x48], xmm1
movss dword [esp + 0xe4], xmm1
jmp 0x100a6d2f
movzx eax, al
movd xmm2, eax
cvtdq2ps xmm2, xmm2
divss xmm2, xmm1
movss dword [esp + 0x48], xmm2
movss dword [esp + 0xe4], xmm2
mov edx, dword [0x102a0b70]
mov dword [esp + 0x24], edx
mov eax, dword [edx + 0x17fc]
mov byte [eax + 0x8e], 1
mov eax, dword [edx + 0x17fc]
mov dword [esp + 0x38], eax
cmp byte [eax + 0x90], 0
je 0x100a6d6f
xor al, al
pop edi
pop esi
mov ecx, dword [esp + 0x124]
xor ecx, esp
call fcn.1001e883
mov esp, ebp
pop ebp
ret
movss xmm1, dword [edx + 0x141c]
addss xmm1, xmm1
addss xmm1, dword [edx + 0x172c]
movss dword [esp + 0x84], xmm1
test cl, 0x10
je 0x100a6d96
xorps xmm3, xmm3
jmp 0x100a6da1
movaps xmm3, xmm1
addss xmm3, dword [edx + 0x1430]
mov esi, eax
movss xmm2, dword [esi + 0x144]
comiss xmm0, xmm2
jbe 0x100a6e14
movss xmm4, dword [esi + 0xd8]
mov edi, dword [esi + 0x1a0]
movss xmm1, dword [esi + 0x4c]
subss xmm4, dword [esi + 0x14]
test edi, edi
je 0x100a6e00
mov edx, dword [edi + 0xc]
movss xmm1, dword [edi + 0x18]
subss xmm1, dword [edi + 0x14]
lea eax, [edx + 1]
test eax, eax
cmovns edx, eax
mov eax, dword [edi + 0x34]
lea ecx, [edx*8]
sub ecx, edx
mulss xmm1, dword [eax + ecx*4]
mov ecx, dword [esp + 0x14]
addss xmm1, dword [edi + 0x14]
subss xmm1, dword [esi + 0x54]
subss xmm1, xmm4
addss xmm1, xmm2
movss xmm2, dword [0x102931d8]
maxss xmm2, xmm1
mov esi, dword [esp + 0x58]
mov edi, esi
mov dword [esp + 0x78], esi
cvttss2si eax, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm0, xmm3
movss dword [esp + 0x68], xmm0
cmp esi, 0xffffffff
jae 0x100a6e51
mov al, byte [edi]
test al, al
je 0x100a6e4d
cmp al, 0x23
jne 0x100a6e47
cmp byte [edi + 1], al
je 0x100a6e4d
inc edi
cmp edi, 0xffffffff
jb 0x100a6e38
mov dword [esp + 0x78], edi
mov edx, ecx
mov dword [esp + 0x3c], ecx
shr edx, 1
mov eax, ecx
shr eax, 0xc
not dl
and eax, 0xffffff01
and edx, 0xffffff01
mov dword [esp + 0x74], eax
movzx eax, dl
add eax, 3
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
call fcn.10049610
mov ecx, esi
call fcn.1005aae0
mov ecx, dword [esp + 0x14]
test cl, 0x20
je 0x100a6ea2
and ecx, 0xffff3fff
or ecx, 0x2008
mov dword [esp + 0x14], ecx
test cl, 8
jne 0x100a6ef7
mov edx, ecx
lea ecx, [esp + 0xd8]
call fcn.1004d180
movss xmm1, dword [esp + 0xe4]
movss xmm7, dword [esp + 0xe0]
movss xmm2, dword [esp + 0xdc]
movss xmm0, dword [esp + 0xd8]
mov ecx, dword [esp + 0x14]
movss dword [esp + 0x48], xmm1
movss dword [esp + 0x54], xmm7
movss dword [esp + 0x50], xmm2
movss dword [esp + 0x4c], xmm0
jmp 0x100a6f0f
movss xmm0, dword [esp + 0x4c]
movss xmm1, dword [esp + 0x48]
movss xmm2, dword [esp + 0x50]
movss xmm7, dword [esp + 0x54]
mov esi, dword [esp + 0x24]
mov edx, dword [esi + 0x2880]
test ecx, 0xe000
jne 0x100a6f2a
mov eax, edx
and eax, 0xe000
or ecx, eax
test ecx, 0x30000
jne 0x100a6f3b
mov eax, edx
and eax, 0x30000
or ecx, eax
test ecx, 0xc0000
jne 0x100a6f4c
mov eax, edx
and eax, 0xc0000
or ecx, eax
and edx, 0xfff01fff
movaps xmm3, xmm0
or ecx, edx
movss dword [esp + 0x64], xmm3
cmp byte [esp + 0x30], 0
movaps xmm4, xmm2
movaps xmm5, xmm7
mov dword [esp + 0x14], ecx
movss dword [esp + 0xd8], xmm3
movss dword [esp + 0x2c], xmm4
movss dword [esp + 0xdc], xmm4
movss dword [esp + 0x5c], xmm5
movss dword [esp + 0xe0], xmm5
je 0x100a6f9a
movaps xmm6, xmm1
jmp 0x100a6fa2
movss xmm6, dword [0x102931d8]
mov eax, ecx
movss dword [esp + 0xe4], xmm6
and eax, 0x4000
movss dword [esp + 0xbc], xmm6
mov dword [esp + 0x70], eax
je 0x100a707f
movaps xmm5, xmm0
movaps xmm3, xmm2
movaps xmm1, xmm7
movss dword [esp + 0x5c], xmm5
movaps xmm0, xmm3
movaps xmm4, xmm5
comiss xmm1, xmm0
xorps xmm2, xmm2
xorps xmm7, xmm7
jbe 0x100a6ff3
movss xmm7, dword [0x10293344]
movaps xmm3, xmm1
movaps xmm1, xmm0
comiss xmm3, xmm4
jbe 0x100a7013
movss xmm0, dword [0x10293330]
movaps xmm5, xmm3
subss xmm0, xmm7
movss dword [esp + 0x5c], xmm5
movaps xmm3, xmm4
movaps xmm7, xmm0
movaps xmm0, xmm3
movss dword [esp + 0xe0], xmm5
minss xmm0, xmm1
movaps xmm4, xmm5
subss xmm3, xmm1
subss xmm4, xmm0
movaps xmm0, xmm4
mulss xmm0, dword [0x1029323c]
addss xmm0, dword [0x10293134]
divss xmm3, xmm0
movaps xmm0, xmm5
addss xmm0, dword [0x10293134]
addss xmm3, xmm7
divss xmm4, xmm0
andps xmm3, xmmword [0x10294890]
movss dword [esp + 0x64], xmm3
movss dword [esp + 0xd8], xmm3
movss dword [esp + 0x2c], xmm4
movss dword [esp + 0xdc], xmm4
jmp 0x100a7082
xorps xmm2, xmm2
comiss xmm3, xmm2
movss xmm7, dword [0x10293334]
movss xmm1, dword [0x1029319c]
jb 0x100a709f
movss dword [esp + 0x1c], xmm1
jmp 0x100a70a5
movss dword [esp + 0x1c], xmm7
comiss xmm4, xmm2
movaps xmm0, xmm3
movss xmm3, dword [0x102932ec]
mulss xmm0, xmm3
addss xmm0, dword [esp + 0x1c]
cvttss2si eax, xmm0
mov dword [esp + 0x60], eax
mov byte [esp + 0xb8], al
jb 0x100a70d6
movss dword [esp + 0x1c], xmm1
jmp 0x100a70dc
movss dword [esp + 0x1c], xmm7
comiss xmm5, xmm2
movaps xmm0, xmm4
mulss xmm0, xmm3
addss xmm0, dword [esp + 0x1c]
cvttss2si eax, xmm0
mov dword [esp + 0x1c], eax
mov byte [esp + 0xb9], al
jb 0x100a7102
movaps xmm4, xmm1
jmp 0x100a7105
movaps xmm4, xmm7
comiss xmm6, xmm2
movaps xmm0, xmm5
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si edx, xmm0
mov byte [esp + 0xba], dl
jb 0x100a7123
movaps xmm7, xmm1
mov byte [esp + 0x13], 0
movaps xmm0, xmm6
mulss xmm0, xmm3
mov byte [esp + 0x1b], 0
addss xmm0, xmm7
cvttss2si eax, xmm0
mov dword [esp + 0x40], eax
mov byte [esp + 0xbb], al
test ecx, 0x6000
je 0x100a760b
test cl, 0x20
jne 0x100a760b
mov edx, dword [esp + 0x34]
movss xmm2, dword [esi + 0x1430]
movss xmm4, dword [esp + 0x68]
movaps xmm1, xmm4
lea eax, [edx - 1]
movd xmm3, eax
cvtdq2ps xmm3, xmm3
movaps xmm0, xmm3
mulss xmm0, xmm2
subss xmm1, xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
cvttss2si eax, xmm1
movss xmm1, dword [0x102931d8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
maxss xmm1, xmm0
movaps xmm0, xmm1
movss dword [esp + 0x60], xmm1
addss xmm0, xmm2
movss xmm1, dword [0x102931d8]
mulss xmm0, xmm3
movss xmm3, dword [0x10293328]
subss xmm4, xmm0
cvttss2si eax, xmm4
movd xmm0, eax
mov eax, ecx
and eax, 0x20000
mov ecx, str.M:0.000
mov dword [esp + 0x40], eax
mov eax, str.M:000
cmove ecx, eax
mov eax, dword [0x102a0b70]
cvtdq2ps xmm0, xmm0
push ecx
push 0
mov esi, dword [eax + 0x1728]
push ecx
push ecx
maxss xmm1, xmm0
mov dword [esp], 0xbf800000
movss xmm0, dword [eax + 0x172c]
mov ecx, esi
lea eax, [esp + 0x2c]
movss dword [esp + 0x78], xmm0
push eax
movaps xmm2, xmm0
movss dword [esp + 0x90], xmm1
call fcn.10086e70
movss xmm0, dword [esp + 0x1c]
comiss xmm0, dword [0x10293130]
jbe 0x100a724e
movss xmm1, dword [esp + 0x68]
divss xmm1, dword [esi]
subss xmm0, xmm1
addss xmm0, dword [0x102931cc]
mov dword [esp + 0xc0], 0x100d8190
mov dword [esp + 0xc4], 0x100d8194
mov dword [esp + 0xc8], 0x100d8198
mov dword [esp + 0xcc], 0x100d819c
cvttss2si eax, xmm0
mov dword [esp + 0xe8], str._3.0f
mov dword [esp + 0xec], str._3.0f
mov dword [esp + 0xf0], str._3.0f
mov dword [esp + 0xf4], str._3.0f
mov dword [esp + 0xf8], str.R:_3.0f
mov dword [esp + 0xfc], str.G:_3.0f
movss xmm0, dword [esp + 0x60]
mov dword [esp + 0x100], str.B:_3.0f
mov dword [esp + 0x104], str.A:_3.0f
mov dword [esp + 0x108], str.H:_3.0f
movd xmm1, eax
xor eax, eax
cvtdq2ps xmm1, xmm1
mov dword [esp + 0x10c], str.S:_3.0f
mov dword [esp + 0x110], str.V:_3.0f
mov dword [esp + 0x114], str.A:_3.0f
mov dword [esp + 0x88], str._0.3f
mov dword [esp + 0x8c], str._0.3f
comiss xmm1, xmm0
mov dword [esp + 0x90], str._0.3f
mov dword [esp + 0x94], str._0.3f
mov dword [esp + 0x98], str.R:_0.3f
mov dword [esp + 0x9c], str.G:_0.3f
mov dword [esp + 0xa0], str.B:_0.3f
mov dword [esp + 0xa4], str.A:_0.3f
mov dword [esp + 0xa8], str.H:_0.3f
mov dword [esp + 0xac], str.S:_0.3f
mov dword [esp + 0xb0], str.V:_0.3f
mov dword [esp + 0xb4], str.A:_0.3f
jae 0x100a73aa
cmp dword [esp + 0x70], eax
setne al
inc eax
mov dword [esp + 0x1c], eax
call fcn.1005f330
xor esi, esi
cmp dword [esp + 0x34], esi
jbe 0x100a7571
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xb8]
shl dword [esp + 0x1c], 4
and eax, 8
mov edi, dword [esp + 0x24]
mov dword [esp + 0x68], eax
mov eax, 1
sub eax, ecx
mov dword [esp + 0x2c], eax
test esi, esi
je 0x100a73fd
movss xmm1, dword [edi + 0x1430]
xorps xmm0, xmm0
call fcn.100493c0
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0xb8]
add edx, esi
add eax, edx
cmp eax, dword [esp + 0x34]
jne 0x100a7422
movss xmm0, dword [esp + 0x7c]
call fcn.1005f330
lea edx, [esp + 0xb8]
add edx, esi
cmp dword [esp + 0x40], 0
je 0x100a748b
cmp byte [esp + 0x74], 0
je 0x100a7435
xorps xmm1, xmm1
jmp 0x100a743d
movss xmm1, dword [0x102931d8]
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0xd8]
movss xmm2, dword [0x10293150]
lea edx, [edx + esi*4]
push ecx
mov dword [esp], 0x3f800000
xorps xmm3, xmm3
push dword [esp + eax + 0x8c]
push ecx
mov ecx, dword [esp + esi*4 + 0xcc]
movss dword [esp], xmm1
call fcn.10058220
add esp, 0xc
or al, byte [esp + 0x13]
mov byte [esp + 0x1b], al
mov byte [esp + 0x13], al
jmp 0x100a750e
mov eax, dword [esp + 0x1c]
mov ecx, str._.0f
movss xmm2, dword [0x102931d8]
xorps xmm3, xmm3
mov eax, dword [esp + eax + 0xe8]
test eax, eax
cmovne ecx, eax
movzx eax, byte [edx]
push ecx
mov dword [esp], 0x3f800000
lea edx, [esp + 0xc0]
push ecx
xor ecx, ecx
movd xmm0, eax
cmp byte [esp + 0x7c], cl
mov eax, 0xff
cvtdq2ps xmm0, xmm0
cmovne eax, ecx
push ecx
mov ecx, dword [esp + esi*4 + 0xcc]
movss dword [esp + 0xc8], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.10058220
mov cl, al
add esp, 0xc
cvttss2si eax, dword [esp + 0xbc]
or byte [esp + 0x13], cl
mov byte [esp + esi + 0xb8], al
cmp dword [esp + 0x68], 0
jne 0x100a751a
call fcn.100647a0
add dword [esp + 0x1c], 4
inc esi
mov eax, dword [esp + 0x2c]
cmp esi, dword [esp + 0x34]
jl 0x100a73e5
movss xmm0, dword [esp + 0xe0]
movss xmm6, dword [esp + 0xe4]
mov edi, dword [esp + 0x78]
movss dword [esp + 0x5c], xmm0
movss xmm0, dword [esp + 0xdc]
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [esp + 0xd8]
movss dword [esp + 0xbc], xmm6
movss dword [esp + 0x64], xmm0
mov edx, dword [0x102a0b70]
mov eax, dword [edx + 0x17fc]
mov byte [eax + 0x8e], 1
mov ecx, dword [edx + 0x17fc]
mov esi, dword [ecx + 0x158]
sub esi, 1
mov dword [ecx + 0x158], esi
jne 0x100a75a5
movss xmm0, dword [ecx + 0x1e4]
jmp 0x100a75b1
mov eax, dword [ecx + 0x160]
movss xmm0, dword [eax + esi*4 - 4]
movss dword [ecx + 0x144], xmm0
mov eax, dword [edx + 0x17fc]
mov byte [eax + 0x8e], 1
mov ecx, dword [edx + 0x17fc]
mov edx, dword [ecx + 0x158]
sub edx, 1
mov dword [ecx + 0x158], edx
jne 0x100a75f2
movss xmm0, dword [ecx + 0x1e4]
movss dword [ecx + 0x144], xmm0
jmp 0x100a775e
mov eax, dword [ecx + 0x160]
movss xmm0, dword [eax + edx*4 - 4]
movss dword [ecx + 0x144], xmm0
jmp 0x100a775e
mov eax, ecx
and eax, 0x8020
cmp eax, 0x8000
jne 0x100a7762
cmp byte [esp + 0x30], 0
je 0x100a7659
mov eax, dword [esp + 0x40]
movzx eax, al
push eax
movzx eax, dl
push eax
mov eax, dword [esp + 0x24]
movzx eax, al
push eax
mov eax, dword [esp + 0x6c]
movzx eax, al
push eax
push 0x100d8220
lea eax, [esp + 0xfc]
push 0x40
push eax
call fcn.1006ca20
add esp, 0x1c
jmp 0x100a7684
movzx eax, dl
push eax
mov eax, dword [esp + 0x20]
movzx eax, al
push eax
mov eax, dword [esp + 0x68]
movzx eax, al
push eax
push 0x100d8234
lea eax, [esp + 0xf8]
push 0x40
push eax
call fcn.1006ca20
add esp, 0x18
movss xmm0, dword [esp + 0x68]
call fcn.1005f330
push 0
push 0
push 6
lea eax, [esp + 0x4c]
mov dword [esp + 0x4c], 0
push eax
push 0x40
lea edx, [esp + 0xfc]
mov dword [esp + 0x58], 0
mov ecx, str.Text
call fcn.10051150
add esp, 0x14
test al, al
je 0x100a774d
mov byte [esp + 0x13], 1
lea ecx, [esp + 0xe8]
mov al, byte [ecx]
cmp al, 0x23
je 0x100a76e2
cmp al, 0x20
je 0x100a76e2
cmp al, 9
jne 0x100a76e5
inc ecx
jmp 0x100a76d4
cmp byte [esp + 0x30], 0
mov dword [esp + 0xb8], 0
je 0x100a7727
lea eax, [esp + 0xbb]
push eax
lea eax, [esp + 0xbe]
push eax
lea eax, [esp + 0xc1]
push eax
lea eax, [esp + 0xc4]
push eax
push str._02X_02X_02X_02X
push ecx
call fcn.10004890
add esp, 0x18
jmp 0x100a774d
lea eax, [esp + 0xba]
push eax
lea eax, [esp + 0xbd]
push eax
lea eax, [esp + 0xc0]
push eax
push str._02X_02X_02X
push ecx
call fcn.10004890
add esp, 0x14
test byte [esp + 0x14], 8
jne 0x100a7759
call fcn.100647a0
call fcn.1005f110
mov ecx, dword [esp + 0x14]
xor eax, eax
mov dword [esp + 0x1c], eax
test cl, 0x10
jne 0x100a7911
mov esi, dword [esp + 0x24]
test cl, 0x20
jne 0x100a778e
movss xmm1, dword [esi + 0x1430]
xorps xmm0, xmm0
call fcn.100493c0
mov ecx, dword [esp + 0x14]
cmp byte [esp + 0x30], 0
je 0x100a779d
movss xmm1, dword [esp + 0x48]
jmp 0x100a77a5
movss xmm1, dword [0x102931d8]
movss xmm2, dword [esp + 0x4c]
lea eax, [esp + 0xc0]
mov edx, dword [esp + 0x80]
mov dword [esp + 0x44], 0
push dword [esp + 0x44]
movss dword [esp + 0xc4], xmm2
movss xmm2, dword [esp + 0x54]
mov dword [esp + 0x44], 0
push dword [esp + 0x44]
movss dword [esp + 0xcc], xmm2
movss xmm2, dword [esp + 0x5c]
push ecx
push eax
movss dword [esp + 0xd8], xmm2
movss dword [esp + 0xdc], xmm1
call fcn.100a81f0
add esp, 0x10
test al, al
mov eax, dword [esp + 0x14]
je 0x100a788b
test al, 4
jne 0x100a788b
movups xmm0, xmmword [esp + 0xc0]
mov ecx, 0x100d8280
movups xmmword [esi + 0x2884], xmm0
call fcn.10064e60
mov eax, dword [esp + 0x38]
movss xmm0, dword [esi + 0x142c]
movss xmm1, dword [eax + 0x114]
addss xmm0, dword [eax + 0x120]
mov eax, dword [0x102a0b70]
subss xmm1, dword [0x102931d8]
movss dword [eax + 0x1880], xmm0
mov dword [eax + 0x1884], 0
movss dword [eax + 0x187c], xmm1
mov dword [eax + 0x1888], 0
mov dword [eax + 0x18a0], 1
mov eax, dword [esp + 0x14]
test al, 8
jne 0x100a7894
call fcn.100647a0
mov ecx, 0x100d8280
call fcn.10064a40
test al, al
je 0x100a790d
mov eax, dword [esi + 0x17fc]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x58]
cmp eax, edi
je 0x100a78c2
mov edx, edi
mov ecx, eax
call fcn.1005d0b0
call fcn.10049910
movss xmm0, dword [esp + 0x84]
mulss xmm0, dword [0x10293258]
call fcn.1005f330
mov edx, dword [esp + 0x28]
lea eax, [esi + 0x2884]
push eax
mov eax, dword [esp + 0x40]
mov ecx, str.picker
and eax, 0xf1202
or eax, 0xe880
push eax
call fcn.100a45a0
or byte [esp + 0x1b], al
add esp, 8
call fcn.1005f110
call fcn.1005fca0
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x24]
cmp dword [esp + 0x58], edi
je 0x100a793a
test cl, cl
js 0x100a793a
movss xmm1, dword [esi + 0x1430]
xorps xmm0, xmm0
call fcn.100493c0
mov ecx, dword [esp + 0x58]
mov edx, edi
call fcn.1005d0b0
mov edi, dword [esp + 0x1c]
test edi, edi
jne 0x100a7ab7
cmp byte [esp + 0x1b], 0
jne 0x100a79a0
movd xmm1, dword [esp + 0xb8]
xorps xmm0, xmm0
punpcklbw xmm1, xmm0
punpcklwd xmm1, xmm0
cvtdq2ps xmm0, xmm1
divps xmm0, xmmword [0x10294800]
movups xmmword [esp + 0xd8], xmm0
movss xmm4, dword [esp + 0xe4]
movss xmm2, dword [esp + 0xe0]
movss xmm1, dword [esp + 0xdc]
movss xmm3, dword [esp + 0xd8]
jmp 0x100a79bb
movss xmm3, dword [esp + 0x64]
movss xmm1, dword [esp + 0x2c]
movss xmm2, dword [esp + 0x5c]
movss xmm4, dword [esp + 0xbc]
cmp dword [esp + 0x70], 0
je 0x100a7a07
lea eax, [esp + 0xe0]
movaps xmm0, xmm3
push eax
lea edx, [esp + 0xe0]
lea ecx, [esp + 0xdc]
call fcn.1006bac0
movss xmm4, dword [esp + 0xe8]
add esp, 4
movss xmm2, dword [esp + 0xe0]
movss xmm1, dword [esp + 0xdc]
movss xmm3, dword [esp + 0xd8]
cmp byte [esp + 0x13], 0
je 0x100a7ab7
movss xmm5, dword [0x1029319c]
xorps xmm0, xmm0
comiss xmm2, xmm0
jb 0x100a7a27
movaps xmm7, xmm5
jmp 0x100a7a2f
movss xmm7, dword [0x10293334]
comiss xmm1, xmm0
movss xmm6, dword [0x102932ec]
mulss xmm2, xmm6
addss xmm2, xmm7
movss xmm7, dword [0x10293334]
cvttss2si eax, xmm2
mov dword [esp + 0x3c], eax
jb 0x100a7a59
movaps xmm2, xmm5
jmp 0x100a7a5c
movaps xmm2, xmm7
comiss xmm3, xmm0
mulss xmm1, xmm6
addss xmm1, xmm2
cvttss2si edx, xmm1
jb 0x100a7a72
movaps xmm1, xmm5
jmp 0x100a7a75
movaps xmm1, xmm7
comiss xmm4, xmm0
mulss xmm3, xmm6
addss xmm3, xmm1
jae 0x100a7a85
movaps xmm5, xmm7
cmp byte [esp + 0x30], 0
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x3c]
mulss xmm4, xmm6
mov byte [esi], cl
mov ecx, esi
addss xmm4, xmm5
mov byte [ecx + 1], dl
mov edx, esi
mov esi, dword [esp + 0x24]
cvttss2si ecx, xmm3
cvttss2si eax, xmm4
mov byte [edx + 2], cl
je 0x100a7ab7
mov byte [edx + 3], al
mov eax, dword [0x102a0b70]
mov eax, dword [eax + 0x17fc]
dec dword [eax + 0x1a4]
call fcn.10049470
mov edx, dword [esp + 0x38]
cmp byte [edx + 0x124], 0
je 0x100a7c98
call fcn.10047cf0
test al, al
je 0x100a7c9e
mov ecx, str._COL3F
call fcn.10047b00
test eax, eax
je 0x100a7ba9
mov eax, dword [eax]
movss xmm2, dword [0x1029319c]
movss xmm5, dword [0x10293334]
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0xd8], xmm0
xorps xmm0, xmm0
mov dword [esp + 0xe0], eax
movss xmm1, dword [esp + 0xe0]
comiss xmm1, xmm0
jb 0x100a7b3c
movaps xmm3, xmm2
jmp 0x100a7b3f
movaps xmm3, xmm5
movss xmm4, dword [0x102932ec]
mulss xmm1, xmm4
addss xmm1, xmm3
cvttss2si edx, xmm1
movss xmm1, dword [esp + 0xdc]
comiss xmm1, xmm0
jb 0x100a7b66
movaps xmm3, xmm2
jmp 0x100a7b69
movaps xmm3, xmm5
mulss xmm1, xmm4
addss xmm1, xmm3
cvttss2si ecx, xmm1
movss xmm1, dword [esp + 0xd8]
comiss xmm1, xmm0
jae 0x100a7b86
movaps xmm2, xmm5
mov edi, dword [esp + 0x28]
mulss xmm1, xmm4
mov byte [esp + 0x13], 1
mov byte [edi], dl
mov edx, edi
mov edi, dword [esp + 0x1c]
addss xmm1, xmm2
mov byte [edx + 1], cl
cvttss2si eax, xmm1
mov byte [edx + 2], al
mov ecx, str._COL4F
call fcn.10047b00
mov ecx, eax
test ecx, ecx
je 0x100a7c9e
mov eax, dword [esp + 0x34]
shl eax, 2
push eax
push dword [ecx]
lea eax, [esp + 0xe0]
push eax
call fcn.10022040
movss xmm1, dword [esp + 0xec]
xorps xmm0, xmm0
movss xmm2, dword [0x1029319c]
add esp, 0xc
comiss xmm1, xmm0
movss xmm5, dword [0x10293334]
jb 0x100a7bfd
movaps xmm3, xmm2
jmp 0x100a7c00
movaps xmm3, xmm5
movss xmm4, dword [0x102932ec]
mulss xmm1, xmm4
addss xmm1, xmm3
cvttss2si eax, xmm1
movss xmm1, dword [esp + 0xdc]
comiss xmm1, xmm0
mov dword [esp + 0x3c], eax
jb 0x100a7c2b
movaps xmm3, xmm2
jmp 0x100a7c2e
movaps xmm3, xmm5
mulss xmm1, xmm4
addss xmm1, xmm3
cvttss2si edx, xmm1
movss xmm1, dword [esp + 0xd8]
comiss xmm1, xmm0
jb 0x100a7c4d
movaps xmm3, xmm2
jmp 0x100a7c50
movaps xmm3, xmm5
mulss xmm1, xmm4
addss xmm1, xmm3
cvttss2si ecx, xmm1
movss xmm1, dword [esp + 0xe4]
comiss xmm1, xmm0
jae 0x100a7c6d
movaps xmm2, xmm5
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x3c]
mulss xmm1, xmm4
mov byte [esi], al
mov eax, esi
addss xmm1, xmm2
mov byte [eax + 2], cl
mov ecx, esi
mov esi, dword [esp + 0x24]
mov byte [eax + 1], dl
cvttss2si eax, xmm1
mov byte [ecx + 3], al
mov al, 1
jmp 0x100a7ca2
mov al, byte [esp + 0x13]
jmp 0x100a7ca6
mov al, byte [esp + 0x13]
mov edx, dword [esp + 0x38]
test edi, edi
je 0x100a7cc2
mov ecx, dword [esi + 0x181c]
test ecx, ecx
je 0x100a7cc2
cmp dword [esi + 0x1834], edi
jne 0x100a7cc2
mov dword [edx + 0x110], ecx
mov ecx, dword [esp + 0x12c]
pop edi
pop esi
xor ecx, esp
call fcn.1001e883
mov esp, ebp
pop ebp
ret