Function at 0x10074b10
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x3f84
call fcn.1011ce80
mov eax, dword [0x1018a32c]
push ebx
push esi
push edi
mov edi, ecx
mov dword [esp + 0x1c], eax
mov ecx, dword fs:[0x2c]
mov dword [esp + 0x20], ecx
mov edx, dword [ecx + eax*4]
mov eax, dword [0x1035196c]
cmp eax, dword [edx + 4]
jle 0x10074bd1
push 0x1035196c
call fcn.1011c323
add esp, 4
cmp dword [0x1035196c], 0xffffffff
jne 0x10074bd1
mov eax, dword [0x10189820]
xor ebx, ebx
movq xmm0, qword [str.AEkRDVNPNB_]
mov esi, dword [eax + 8]
mov ax, word [0x1016cc6c]
mov word [esp + 0x38], ax
mov al, byte [0x1016cc6e]
movq qword [esp + 0x30], xmm0
mov byte [esp + 0x3a], al
nop
mov eax, 0x51eb851f
mov cl, bl
mul ebx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 0xb
jl 0x10074b90
mov eax, dword [esi]
lea ecx, [esp + 0x30]
push ecx
mov ecx, esi
mov eax, dword [eax + 0x3c]
call eax
push 0x1035196c
mov dword [0x1035197c], eax
call fcn.1011c2d9
add esp, 4
mov eax, dword [0x10189818]
movss xmm1, dword [0x10178d64]
cmp byte [eax + 0x1508], 0
je 0x10074bfe
mov ecx, dword [eax + 0x150c]
test ecx, ecx
jle 0x10074bfe
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
jmp 0x10074c01
xorps xmm0, xmm0
movd xmm2, dword [eax + 0x1504]
cvtdq2ps xmm2, xmm2
mulss xmm2, xmm1
addss xmm2, xmm0
movss dword [esp + 0x4c], xmm2
cmp edi, 4
jne 0x10074c45
mov eax, dword [0x1018ae24]
cmp dword [eax], 0
jne 0x10074c4c
mov esi, 0x10194e30
nop
mov ecx, esi
call fcn.100738d0
add esi, 0x3644
cmp esi, 0x10271574
jne 0x10074c30
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x10189820]
mov ebx, 1
mov dword [esp + 0x3c], ebx
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x50]
call eax
cmp eax, ebx
jl 0x10074c45
nop dword [eax + eax]
mov eax, dword [0x10189820]
push ebx
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov edi, eax
mov dword [esp + 0x18], edi
cmp ebx, 0x41
jae 0x10076476
imul ecx, ebx, 0x3644
lea ebx, [ecx + 0x10194e30]
mov dword [esp + 0x48], ebx
test edi, edi
je 0x10076448
mov eax, dword [0x1018ae24]
cmp edi, dword [eax]
je 0x10076448
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x24]
call eax
test al, al
jne 0x10076448
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x270]
call eax
test al, al
je 0x10076448
movss xmm0, dword [edi + 0x103c0]
ucomiss xmm0, dword [ebx + 0x3618]
lahf
test ah, 0x44
jnp 0x10074d71
mov ecx, ebx
movss dword [ebx + 0x3618], xmm0
call fcn.100738d0
push 0x2d8
lea eax, [esp + 0x370c]
push 0
push eax
call fcn.1011df10
add esp, 0xc
lea eax, [esp + 0x39e0]
lea edi, [ebx + 0x32ec]
mov ecx, 0xb6
lea esi, [esp + 0x3708]
rep movsd dword es:[edi], dword [esi]
push 0x2d8
push 0
push eax
call fcn.1011df10
lea edi, [ebx + 0x3014]
mov dword [ebx + 0x3620], 0
mov ecx, 0xb6
mov dword [ebx + 0x3624], 0
lea esi, [esp + 0x39ec]
add esp, 0xc
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x18]
mov eax, dword [edi + 0x299c]
lea ecx, [eax*8]
sub ecx, eax
lea eax, [esp + 0x3cb8]
shl ecx, 3
push ecx
push dword [edi + 0x2990]
push eax
call fcn.1011d990
mov eax, dword [0x10189814]
add esp, 0xc
mov ecx, dword [eax + 0x10]
movss xmm0, dword [ecx + 0x14]
mov eax, dword [ecx + 0x20]
movss dword [esp + 0x40], xmm0
movss xmm0, dword [ecx + 0x10]
mov dword [ecx + 0x14], eax
mov ecx, 0x1ceebdef
movss dword [esp + 0x44], xmm0
call fcn.100b07b0
mov ecx, dword [0x10189814]
mov eax, dword [eax + edi]
mov ecx, dword [ecx + 0x10]
mov dword [ecx + 0x10], eax
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov esi, dword [ecx + eax*4]
mov ecx, dword [0x1019479c]
cmp ecx, dword [esi + 4]
jle 0x10074e35
push 0x1019479c
call fcn.1011c323
mov ecx, dword [0x1019479c]
add esp, 4
cmp ecx, 0xffffffff
jne 0x10074e35
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x44]
call eax
mov edx, str.m_fEffects
mov ecx, eax
call fcn.10073250
push 0x1019479c
mov dword [0x101947b0], eax
call fcn.1011c2d9
mov ecx, dword [0x1019479c]
add esp, 4
mov eax, dword [0x101947b0]
mov eax, dword [eax + edi]
mov dword [esp + 0x30], eax
cmp ecx, dword [esi + 4]
jle 0x10074e86
push 0x1019479c
call fcn.1011c323
add esp, 4
cmp dword [0x1019479c], 0xffffffff
jne 0x10074e86
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x44]
call eax
mov edx, str.m_fEffects
mov ecx, eax
call fcn.10073250
push 0x1019479c
mov dword [0x101947b0], eax
call fcn.1011c2d9
add esp, 4
mov eax, dword [0x101947b0]
mov ecx, 0x1ceebdef
mov byte [esp + 0xf], 0
or dword [eax + edi], 8
movss xmm1, dword [ebx + 0x361c]
call fcn.100b07b0
ucomiss xmm1, dword [eax + edi]
lahf
test ah, 0x44
jnp 0x10075ee9
mov ecx, 0x1ceebdef
call fcn.100b07b0
movss xmm0, dword [eax + edi]
comiss xmm0, xmm1
jbe 0x10075ee9
ucomiss xmm1, dword [0x101791fc]
mov byte [esp + 0xf], 1
lahf
test ah, 0x44
jp 0x10074ef1
mov ecx, 0x1ceebdef
call fcn.100b07b0
mov eax, dword [eax + edi]
mov dword [ebx + 0x361c], eax
mov eax, dword [edi + 0x299c]
lea esi, [ebx + 0x3014]
lea edx, [ebx + 0x32ec]
lea ecx, [eax*8]
sub ecx, eax
shl ecx, 3
push ecx
push esi
push edx
call fcn.1011d990
mov eax, dword [edi + 0x299c]
add esp, 0xc
lea ecx, [eax*8]
sub ecx, eax
shl ecx, 3
push ecx
push dword [edi + 0x2990]
push esi
call fcn.1011d990
movss xmm1, dword [ebx + 0x361c]
add esp, 0xc
mov ecx, 0x1ceebdef
call fcn.100b07b0
mov ecx, 0x1ceebdef
movss xmm3, dword [eax + edi]
subss xmm3, xmm1
andps xmm3, xmmword [0x101797e0]
call fcn.100b07b0
ucomiss xmm1, dword [eax + edi]
lahf
test ah, 0x44
jnp 0x10074f93
mov eax, dword [0x10189814]
movss xmm0, dword [0x101791fc]
mov eax, dword [eax + 0x10]
divss xmm0, dword [eax + 0x20]
mulss xmm0, xmm3
cvttss2si eax, xmm0
not eax
jmp 0x10074f95
xor eax, eax
mov dword [ebx + 0x3620], eax
call fcn.10119d40
mov ecx, dword [ebx + 0x3620]
inc eax
cmp eax, ecx
jge 0x10074fb0
movaps xmm4, xmm1
jmp 0x10074fc5
test ecx, ecx
jns 0x10074fbb
xor eax, eax
movaps xmm4, xmm1
jmp 0x10074fc5
movss xmm4, dword [ebx + 0x361c]
mov eax, ecx
mov dword [ebx + 0x3620], eax
xorps xmm6, xmm6
movss xmm5, dword [ebx + 0x35dc]
movaps xmm2, xmm4
ucomiss xmm5, xmm6
lahf
test ah, 0x44
jp 0x1007500b
movss xmm0, dword [ebx + 0x35e0]
movaps xmm2, xmm1
ucomiss xmm0, xmm6
lahf
test ah, 0x44
jp 0x1007500b
movss xmm0, dword [ebx + 0x35e4]
ucomiss xmm0, xmm6
lahf
test ah, 0x44
jnp 0x100750af
mov ecx, 0x1ceebdef
movaps xmm4, xmm2
call fcn.100b07b0
ucomiss xmm4, dword [eax + edi]
lahf
test ah, 0x44
jnp 0x100750af
movq xmm0, qword [ebx + 0x3600]
mov ecx, 0xec5d89e5
mov eax, dword [ebx + 0x3608]
movq qword [ebx + 0x360c], xmm0
mov dword [ebx + 0x3614], eax
call fcn.100b07b0
movss xmm7, dword [0x10178ef4]
movaps xmm2, xmm7
divss xmm2, xmm3
movss xmm3, dword [eax + edi]
movss xmm1, dword [eax + edi + 4]
subss xmm3, xmm5
movss xmm0, dword [eax + edi + 8]
subss xmm1, dword [ebx + 0x35e0]
subss xmm0, dword [ebx + 0x35e4]
mulss xmm3, xmm2
mulss xmm1, xmm2
mulss xmm0, xmm2
unpcklps xmm3, xmm1
movq qword [ebx + 0x3600], xmm3
movss dword [esp + 0xb0], xmm0
mov eax, dword [esp + 0xb0]
mov dword [ebx + 0x3608], eax
jmp 0x100750b7
movss xmm7, dword [0x10178ef4]
mov ecx, 0x747d37fc
lea esi, [edi - 0x14]
call fcn.100b07b0
mov ecx, 0x394634f0
mov eax, dword [eax + esi]
mov eax, dword [eax + 0x9c]
mov dword [ebx + 0x3634], eax
call fcn.100b07b0
mov ecx, 0x1ceebdef
mov eax, dword [eax + edi]
mov dword [ebx + 0x3640], eax
call fcn.100b07b0
mov ecx, 0xbbe78fae
ucomiss xmm4, dword [eax + edi]
lahf
test ah, 0x44
jp 0x10075152
call fcn.100b07b0
mov ecx, 0xec5d89e5
movss xmm0, dword [eax + edi]
movss dword [ebx + 0x3638], xmm0
movss dword [ebx + 0x363c], xmm0
call fcn.100b07b0
movq xmm0, qword [eax + edi]
movq qword [ebx + 0x35dc], xmm0
mov eax, dword [eax + edi + 8]
mov dword [ebx + 0x35e4], eax
movq xmm0, qword [ebx + 0x35dc]
movq qword [ebx + 0x35e8], xmm0
mov dword [ebx + 0x35f0], eax
jmp 0x100751a9
mov eax, dword [ebx + 0x3638]
mov dword [ebx + 0x363c], eax
call fcn.100b07b0
movq xmm0, qword [ebx + 0x35dc]
mov ecx, 0xec5d89e5
mov eax, dword [eax + edi]
mov dword [ebx + 0x3638], eax
mov eax, dword [ebx + 0x35e4]
movq qword [ebx + 0x35e8], xmm0
mov dword [ebx + 0x35f0], eax
call fcn.100b07b0
movq xmm0, qword [eax + edi]
movq qword [ebx + 0x35dc], xmm0
mov eax, dword [eax + edi + 8]
mov dword [ebx + 0x35e4], eax
mov ecx, 0x394634f0
call fcn.100b07b0
test byte [eax + edi], 1
je 0x100751c8
mov dword [ebx + 0x3608], 0
jmp 0x1007536d
movaps xmm1, xmm7
subss xmm1, dword [ebx + 0x329c]
comiss xmm1, xmm6
jbe 0x10075319
movss xmm0, dword [ebx + 0x357c]
ucomiss xmm0, dword [ebx + 0x32a4]
lahf
test ah, 0x44
jp 0x10075319
mov eax, dword [ebx + 0x356c]
cmp eax, dword [ebx + 0x3294]
jne 0x10075319
mulss xmm1, dword [0x10178e6c]
addss xmm1, dword [0x10178e8c]
comiss xmm1, xmm6
movss dword [esp + 0x24], xmm1
jbe 0x10075319
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x430]
call eax
test eax, eax
je 0x10075276
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x6e8]
mov dword [esp + 0x10], ecx
mov ecx, eax
call dword [esp + 0x10]
sub esp, 8
fstp dword [esp + 0x18]
movss xmm0, dword [esp + 0x18]
mov dword [esp + 4], 0x3a83126f
movss dword [esp], xmm0
call fcn.10129228
fstp dword [esp + 0x18]
movss xmm4, dword [esp + 0x18]
add esp, 8
jmp 0x1007527e
movss xmm4, dword [0x10179108]
mulss xmm4, dword [esp + 0x24]
xorps xmm3, xmm3
comiss xmm4, xmm3
jbe 0x10075319
movss xmm5, dword [ebx + 0x3604]
movss xmm6, dword [ebx + 0x3600]
movaps xmm0, xmm5
movaps xmm1, xmm6
mulss xmm0, xmm5
mulss xmm1, xmm6
addss xmm1, xmm0
comiss xmm1, xmm3
jbe 0x10075319
movss xmm3, dword [ebx + 0x3608]
movaps xmm0, xmm3
mulss xmm0, xmm3
addss xmm0, xmm1
movss xmm1, dword [0x10178ef4]
sqrtss xmm0, xmm0
divss xmm1, xmm0
movaps xmm2, xmm1
movaps xmm0, xmm1
mulss xmm2, xmm6
mulss xmm0, xmm5
mulss xmm1, xmm3
mulss xmm2, xmm4
mulss xmm0, xmm4
mulss xmm1, xmm4
unpcklps xmm2, xmm0
movq qword [ebx + 0x3600], xmm2
movss dword [esp + 0xbc], xmm1
mov eax, dword [esp + 0xbc]
mov dword [ebx + 0x3608], eax
mov ecx, dword [0x1035197c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [esp + 0x10], eax
call dword [esp + 0x10]
mov eax, dword [0x10189814]
xorps xmm6, xmm6
movd xmm1, dword [ebx + 0x3620]
movss xmm0, dword [ebx + 0x3608]
cvtdq2ps xmm1, xmm1
mov eax, dword [eax + 0x10]
fstp dword [esp + 0x10]
mulss xmm1, dword [eax + 0x20]
mulss xmm1, dword [esp + 0x10]
mulss xmm1, dword [0x10178e88]
subss xmm0, xmm1
movss dword [ebx + 0x3608], xmm0
mov ecx, 0x394634f0
call fcn.100b07b0
test byte [eax + edi], 1
je 0x1007549f
movss xmm0, dword [ebx + 0x329c]
comiss xmm0, xmm6
jbe 0x1007549f
movss xmm3, dword [0x10178ef4]
comiss xmm3, xmm0
jbe 0x1007549f
movss xmm0, dword [ebx + 0x32a8]
comiss xmm0, dword [ebx + 0x3580]
jbe 0x1007549f
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x430]
call eax
test eax, eax
je 0x10075408
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x6e8]
mov dword [esp + 0x10], ecx
mov ecx, eax
call dword [esp + 0x10]
sub esp, 8
fstp dword [esp + 0x18]
movss xmm0, dword [esp + 0x18]
mov dword [esp + 4], 0x3a83126f
movss dword [esp], xmm0
call fcn.10129228
fstp dword [esp + 0x18]
movss xmm0, dword [esp + 0x18]
add esp, 8
jmp 0x10075410
movss xmm0, dword [0x10179108]
movss xmm3, dword [0x10178ef4]
xorps xmm6, xmm6
movaps xmm2, xmm3
subss xmm2, dword [ebx + 0x329c]
mulss xmm2, dword [0x10178e70]
comiss xmm2, xmm6
jbe 0x1007549f
comiss xmm3, xmm2
jbe 0x1007549f
addss xmm2, dword [0x10178e8c]
mulss xmm2, xmm0
comiss xmm2, xmm6
jbe 0x1007549f
mov ecx, 0xad2bbff4
call fcn.100b07b0
movss xmm1, dword [eax + edi + 4]
movss xmm0, dword [eax + edi]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
xorps xmm1, xmm1
sqrtss xmm1, xmm0
movaps xmm0, xmm3
divss xmm0, xmm2
mulss xmm1, xmm0
movaps xmm0, xmm1
mulss xmm1, dword [ebx + 0x3604]
mulss xmm0, dword [ebx + 0x3600]
movss dword [ebx + 0x3604], xmm1
movss dword [ebx + 0x3600], xmm0
comiss xmm6, dword [ebx + 0x318c]
jae 0x100754b1
comiss xmm6, dword [ebx + 0x3184]
jb 0x100754d5
mov ecx, 0x394634f0
call fcn.100b07b0
test byte [eax + edi], 1
je 0x100754d5
mov dword [ebx + 0x3600], 0
mov dword [ebx + 0x3604], 0
push ebx
lea ecx, [esp + 0xc4]
call fcn.10076490
cmp dword [esp + 0x36e0], 0
jle 0x100755f6
cmp dword [0x102715c8], 0
je 0x100755f6
mov ecx, dword [0x102715c0]
mov eax, dword [0x102715bc]
dec ecx
and ecx, dword [0x102715c4]
mov esi, dword [eax + ecx*4]
mov eax, 0x3644
call fcn.1011ce80
lea eax, [esp + 0x3704]
mov ecx, esp
push eax
call fcn.10076490
mov ecx, edi
call fcn.100864f0
mov eax, 0x3644
call fcn.1011ce80
lea eax, [esp + 0x3704]
mov ecx, esp
push eax
call fcn.10076490
mov ecx, edi
call fcn.10087a80
mov ecx, 0x747d37fc
call fcn.100b07b0
mov ecx, 0x747d37fc
mov eax, dword [eax + edi - 0x14]
mov dword [esp + 0x10], eax
call fcn.100b07b0
mov ecx, dword [esp + 0x10]
xorps xmm3, xmm3
mov eax, dword [eax + edi - 0x14]
mov eax, dword [eax + 0x80]
mov dword [ecx + 0x80], eax
movss xmm2, dword [esi + 0x362c]
ucomiss xmm2, xmm3
lahf
test ah, 0x44
jnp 0x100755e5
movss xmm0, dword [0x1034e4b8]
movaps xmm1, xmm2
andps xmm1, xmmword [0x101797e0]
andps xmm0, xmmword [0x101797e0]
comiss xmm0, xmm1
jbe 0x100755e5
comiss xmm3, xmm2
jbe 0x100755c3
cmp dword [esp + 0x36f0], 1
je 0x100755cd
movaps xmm1, xmm2
xorps xmm1, xmmword [0x10179810]
movss dword [esi + 0x362c], xmm1
movss dword [0x1034e4b8], xmm1
movss dword [ecx + 0x80], xmm1
lea ecx, [esp + 0xc0]
call fcn.100766d0
lea esi, [edi - 0x14]
jmp 0x10075602
lea ecx, [esp + 0xc0]
call fcn.100766d0
mov eax, dword [esp + 0xc0]
push 8
push eax
mov dword [esp + 0xc8], 0
call fcn.1011c1c8
mov eax, dword [ebx + 0x3620]
add esp, 8
mov byte [0x101947c0], 1
test eax, eax
jg 0x10075783
mov ecx, 0x747d37fc
call fcn.100b07b0
mov ecx, dword [eax + esi]
mov eax, dword [0x10189814]
mov ecx, dword [ecx + 0x70]
mov edx, dword [eax + 0x10]
cmp ecx, dword [edx + 4]
jne 0x10075666
mov ecx, 0x747d37fc
call fcn.100b07b0
mov eax, dword [eax + esi]
dec dword [eax + 0x70]
mov eax, dword [0x10189814]
mov esi, dword [eax + 0x10]
mov ecx, 0x747d37fc
call fcn.100b07b0
mov eax, dword [eax + edi - 0x14]
movss xmm0, dword [eax + 0x6c]
ucomiss xmm0, dword [esi + 0x10]
lahf
test ah, 0x44
jp 0x100756a3
mov ecx, 0x747d37fc
call fcn.100b07b0
movss xmm0, dword [esi + 0x20]
mov eax, dword [eax + edi - 0x14]
addss xmm0, dword [eax + 0x6c]
movss dword [eax + 0x6c], xmm0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x1018e718]
cmp eax, dword [esi + 4]
jle 0x100756f8
push 0x1018e718
call fcn.1011c323
add esp, 4
cmp dword [0x1018e718], 0xffffffff
jne 0x100756f8
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x44]
call eax
mov edx, str.m_iEFlags
mov ecx, eax
call fcn.10073250
push 0x1018e718
mov dword [0x1018b3e8], eax
call fcn.1011c2d9
add esp, 4
mov eax, dword [0x1018b3e8]
and dword [eax + edi], 0xffffefff
mov eax, dword [ebx + 0x3608]
movq xmm0, qword [ebx + 0x3600]
mov dword [esp + 0x10], eax
mov eax, dword [0x1018b41c]
movq qword [esp + 0x28], xmm0
cmp eax, dword [esi + 4]
jle 0x1007576c
push 0x1018b41c
call fcn.1011c323
add esp, 4
cmp dword [0x1018b41c], 0xffffffff
jne 0x10075766
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x44]
call eax
mov edx, str.m_vecAbsVelocity
mov ecx, eax
call fcn.10073250
push 0x1018b41c
mov dword [0x10191720], eax
call fcn.1011c2d9
add esp, 4
movq xmm0, qword [esp + 0x28]
mov eax, dword [0x10191720]
mov ecx, dword [esp + 0x10]
movq qword [eax + edi], xmm0
mov dword [eax + edi + 8], ecx
jmp 0x10075b3a
mov ecx, 1
inc eax
mov dword [esp + 0x10], ecx
cmp eax, ecx
jl 0x10075a4c
nop word [eax + eax]
mov eax, dword [0x10189814]
movss xmm2, dword [ebx + 0x361c]
movd xmm3, ecx
mov ecx, 0x1ceebdef
cvtdq2ps xmm3, xmm3
mov edi, dword [eax + 0x10]
mulss xmm3, dword [edi + 0x20]
addss xmm3, xmm2
call fcn.100b07b0
mov esi, eax
mov ecx, 0x1ceebdef
add esi, dword [esp + 0x18]
call fcn.100b07b0
mov ecx, dword [esp + 0x18]
movss xmm0, dword [esi]
subss xmm0, xmm2
mov edx, dword [esp + 0x20]
movss xmm1, dword [eax + ecx]
subss xmm1, xmm3
mov ecx, dword [esp + 0x1c]
mov esi, dword [edx + ecx*4]
divss xmm1, xmm0
movss xmm0, dword [0x10178ef4]
subss xmm0, xmm1
movss dword [esp + 0x24], xmm0
movss xmm0, dword [edi + 0x10]
movss dword [edi + 0x10], xmm3
mov eax, dword [0x1018e718]
movss dword [esp + 0x28], xmm0
cmp eax, dword [esi + 4]
jle 0x10075870
push 0x1018e718
call fcn.1011c323
mov edi, dword [esp + 0x1c]
add esp, 4
cmp dword [0x1018e718], 0xffffffff
jne 0x10075874
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x44]
call eax
mov edx, str.m_iEFlags
mov ecx, eax
call fcn.10073250
push 0x1018e718
mov dword [0x1018b3e8], eax
call fcn.1011c2d9
add esp, 4
jmp 0x10075874
mov edi, dword [esp + 0x18]
mov eax, dword [0x1018b3e8]
movss xmm2, dword [esp + 0x24]
and dword [eax + edi], 0xffffefff
movq xmm0, qword [ebx + 0x360c]
movq qword [esp + 0x50], xmm0
movq xmm0, qword [ebx + 0x3600]
movss xmm1, dword [esp + 0x50]
movq qword [esp + 0x6c], xmm0
subss xmm1, dword [esp + 0x6c]
mov eax, dword [ebx + 0x3614]
mov dword [esp + 0x58], eax
mov eax, dword [ebx + 0x3608]
mov dword [esp + 0x74], eax
mulss xmm1, xmm2
mov eax, dword [0x1018b41c]
addss xmm1, dword [esp + 0x6c]
movss dword [esp + 0x78], xmm1
movss xmm1, dword [esp + 0x54]
subss xmm1, dword [esp + 0x70]
mulss xmm1, xmm2
addss xmm1, dword [esp + 0x70]
movss dword [esp + 0x7c], xmm1
movss xmm1, dword [esp + 0x58]
subss xmm1, dword [esp + 0x74]
mulss xmm1, xmm2
addss xmm1, dword [esp + 0x74]
movss dword [esp + 0x80], xmm1
cmp eax, dword [esi + 4]
jle 0x1007595d
push 0x1018b41c
call fcn.1011c323
add esp, 4
cmp dword [0x1018b41c], 0xffffffff
jne 0x10075957
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x44]
call eax
mov edx, str.m_vecAbsVelocity
mov ecx, eax
call fcn.10073250
push 0x1018b41c
mov dword [0x10191720], eax
call fcn.1011c2d9
add esp, 4
movss xmm2, dword [esp + 0x24]
mov ecx, dword [0x10191720]
movq xmm0, qword [esp + 0x78]
mov eax, dword [esp + 0x80]
movq qword [ecx + edi], xmm0
mov dword [ecx + edi + 8], eax
mov ecx, 0xbbe78fae
movss xmm0, dword [ebx + 0x3638]
movss xmm1, dword [ebx + 0x363c]
subss xmm1, xmm0
mulss xmm1, xmm2
addss xmm1, xmm0
call fcn.100b07b0
mov ecx, 0x747d37fc
movss dword [eax + edi], xmm1
call fcn.100b07b0
mov ecx, dword [eax + edi - 0x14]
mov eax, dword [0x10189814]
mov ecx, dword [ecx + 0x70]
mov edx, dword [eax + 0x10]
cmp ecx, dword [edx + 4]
jne 0x100759d8
mov ecx, 0x747d37fc
call fcn.100b07b0
mov eax, dword [eax + edi - 0x14]
dec dword [eax + 0x70]
mov eax, dword [0x10189814]
mov esi, dword [eax + 0x10]
mov ecx, 0x747d37fc
call fcn.100b07b0
mov eax, dword [eax + edi - 0x14]
movss xmm0, dword [eax + 0x6c]
ucomiss xmm0, dword [esi + 0x10]
lahf
test ah, 0x44
jp 0x10075a15
mov ecx, 0x747d37fc
call fcn.100b07b0
movss xmm0, dword [esi + 0x20]
mov eax, dword [eax + edi - 0x14]
addss xmm0, dword [eax + 0x6c]
movss dword [eax + 0x6c], xmm0
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x380]
call eax
mov eax, dword [0x10189814]
movss xmm0, dword [esp + 0x28]
mov ecx, dword [esp + 0x10]
inc ecx
mov eax, dword [eax + 0x10]
mov dword [esp + 0x10], ecx
movss dword [eax + 0x10], xmm0
mov eax, dword [ebx + 0x3620]
inc eax
cmp ecx, eax
jle 0x100757a0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x1018e718]
cmp eax, dword [esi + 4]
jle 0x10075aa1
push 0x1018e718
call fcn.1011c323
add esp, 4
cmp dword [0x1018e718], 0xffffffff
jne 0x10075aa1
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x44]
call eax
mov edx, str.m_iEFlags
mov ecx, eax
call fcn.10073250
push 0x1018e718
mov dword [0x1018b3e8], eax
call fcn.1011c2d9
add esp, 4
mov eax, dword [0x1018b3e8]
and dword [eax + edi], 0xffffefff
mov eax, dword [ebx + 0x3608]
movq xmm0, qword [ebx + 0x3600]
mov dword [esp + 0x28], eax
mov eax, dword [0x1018b41c]
movq qword [esp + 0x10], xmm0
cmp eax, dword [esi + 4]
jle 0x10075b15
push 0x1018b41c
call fcn.1011c323
add esp, 4
cmp dword [0x1018b41c], 0xffffffff
jne 0x10075b0f
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x44]
call eax
mov edx, str.m_vecAbsVelocity
mov ecx, eax
call fcn.10073250
push 0x1018b41c
mov dword [0x10191720], eax
call fcn.1011c2d9
add esp, 4
movq xmm0, qword [esp + 0x10]
mov eax, dword [0x10191720]
mov ecx, dword [esp + 0x28]
movq qword [eax + edi], xmm0
mov dword [eax + edi + 8], ecx
mov ecx, 0xbbe78fae
call fcn.100b07b0
mov ecx, dword [ebx + 0x3638]
mov dword [eax + edi], ecx
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x380]
call eax
push ebx
lea ecx, [esp + 0xc4]
mov byte [0x101947c0], 0
call fcn.10076490
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x270]
call eax
test al, al
je 0x10075c8d
cmp dword [esp + 0x36e0], 0
jle 0x10075c8d
mov eax, dword [0x1018ae24]
cmp dword [eax], 0
je 0x10075c8d
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0x270]
call eax
test al, al
je 0x10075c8d
cmp dword [0x102715c8], 0
je 0x10075c8d
mov ecx, dword [0x102715c0]
mov eax, dword [0x102715bc]
dec ecx
and ecx, dword [0x102715c4]
mov esi, dword [eax + ecx*4]
mov ecx, 0x747d37fc
call fcn.100b07b0
mov eax, dword [eax + edi - 0x14]
mov dword [esp + 0x28], eax
mov eax, 0x3644
call fcn.1011ce80
lea eax, [esp + 0x3704]
mov ecx, esp
push eax
call fcn.10076490
mov ecx, edi
call fcn.100864f0
mov eax, 0x3644
call fcn.1011ce80
lea eax, [esp + 0x3704]
mov ecx, esp
push eax
call fcn.10076490
mov ecx, edi
call fcn.10087a80
movss xmm1, dword [esi + 0x362c]
xorps xmm3, xmm3
mov ecx, dword [esp + 0x28]
ucomiss xmm1, xmm3
movss xmm2, dword [ecx + 0x80]
movss dword [0x1034e4b8], xmm2
lahf
test ah, 0x44
jnp 0x10075c8d
andps xmm2, xmmword [0x101797e0]
movaps xmm0, xmm1
andps xmm0, xmmword [0x101797e0]
comiss xmm2, xmm0
jbe 0x10075c8d
comiss xmm3, xmm1
mov eax, dword [esp + 0x36f0]
jbe 0x10075c61
cmp eax, 1
je 0x10075c75
comiss xmm1, xmm3
movaps xmm0, xmm1
jbe 0x10075c7d
cmp eax, 0xffffffff
jne 0x10075c7d
xorps xmm0, xmmword [0x10179810]
movss dword [esi + 0x362c], xmm0
movss dword [0x1034e4b8], xmm0
movss dword [ecx + 0x80], xmm0
lea ecx, [esp + 0xc0]
call fcn.100766d0
mov eax, dword [esp + 0xc0]
push 8
push eax
mov dword [esp + 0xc8], 0
call fcn.1011c1c8
add esp, 8
mov ecx, 0x394634f0
call fcn.100b07b0
test byte [eax + edi], 1
jne 0x10075ee9
mov ecx, 0x747d37fc
call fcn.100b07b0
mov eax, dword [eax + edi - 0x14]
mov ecx, dword [eax + 0x60]
mov edx, dword [ecx + 0x2990]
add edx, 0xe0
je 0x10075ee9
mov eax, dword [0x10189814]
push dword [edx + 0x18]
mov eax, dword [eax + 0x34]
call eax
mov dword [esp + 0x28], eax
cmp eax, 0x3da
je 0x10075d10
cmp eax, 0x3d9
jne 0x10075ee9
mov ecx, dword [edi + 0x299c]
mov eax, dword [esp + 0x18]
lea edi, [ecx*8]
mov esi, dword [eax + 0x2990]
sub edi, ecx
shl edi, 3
lea eax, [esp + 0xc0]
push edi
push esi
push eax
call fcn.1011d990
add esp, 0xc
lea eax, [ebx + 0x32ec]
push edi
push eax
push esi
call fcn.1011d990
add esp, 0xc
mov ecx, 0x747d37fc
call fcn.100b07b0
mov edi, dword [esp + 0x18]
mov eax, dword [eax + edi - 0x14]
mov ecx, dword [eax + 0x60]
mov edx, dword [ecx + 0x2990]
add edx, 0xe0
je 0x10075d83
mov eax, dword [0x10189814]
push dword [edx + 0x18]
mov eax, dword [eax + 0x34]
call eax
mov esi, eax
jmp 0x10075d86
or esi, 0xffffffff
mov eax, dword [edi + 0x299c]
lea ecx, [eax*8]
sub ecx, eax
lea eax, [esp + 0xc0]
shl ecx, 3
push ecx
push eax
push dword [edi + 0x2990]
call fcn.1011d990
add esp, 0xc
cmp esi, dword [esp + 0x28]
jne 0x10075dc6
movss xmm1, dword [ebx + 0x33f8]
comiss xmm1, dword [ebx + 0x3120]
jbe 0x10075de1
mov ecx, 0x747d37fc
call fcn.100b07b0
xorps xmm1, xmm1
mov eax, dword [eax + edi - 0x14]
mov dword [eax + 0x110], 0
mov ecx, 0x747d37fc
xorps xmm4, xmm4
call fcn.100b07b0
xor esi, esi
mov ecx, dword [eax + edi - 0x14]
cmp byte [ecx + 0x128], 0
jne 0x10075e5a
movss xmm2, dword [ebx + 0x311c]
comiss xmm4, xmm2
jae 0x10075e5a
movss xmm3, dword [ebx + 0x3120]
ucomiss xmm3, xmm1
lahf
test ah, 0x44
jnp 0x10075e4d
movss xmm0, dword [ecx + 0x74]
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jp 0x10075e36
mov eax, dword [0x10189814]
mov eax, dword [eax + 0x10]
movss xmm0, dword [eax + 0x20]
comiss xmm3, xmm1
jbe 0x10075e4d
mulss xmm2, xmm0
nop
movaps xmm0, xmm2
inc esi
addss xmm1, xmm0
comiss xmm3, xmm1
ja 0x10075e40
test esi, esi
je 0x10075e5a
comiss xmm3, dword [0x10178ee8]
jb 0x10075e61
mov esi, dword [ebx + 0x3620]
inc esi
mov ecx, 0x747d37fc
call fcn.100b07b0
movd xmm0, esi
mov ecx, 0x747d37fc
cvtdq2ps xmm0, xmm0
mov eax, dword [eax + edi - 0x14]
mulss xmm0, dword [eax + 0x74]
call fcn.100b07b0
mov ecx, 0x747d37fc
mov eax, dword [eax + edi - 0x14]
movss dword [eax + 0x110], xmm0
call fcn.100b07b0
mov ecx, 0x747d37fc
mov esi, dword [eax + edi - 0x14]
call fcn.100b07b0
movss xmm3, dword [0x10178ef4]
mov eax, dword [eax + edi - 0x14]
movss xmm1, dword [eax + 0x110]
subss xmm1, dword [0x10178eb4]
mulss xmm1, dword [0x10178f08]
comiss xmm1, xmm3
jbe 0x100763d1
movaps xmm2, xmm3
maxss xmm2, xmm4
push edi
lea ecx, [esi + 0x228]
call fcn.101191d0
mov eax, dword [edi + 0x299c]
lea ecx, [eax*8]
sub ecx, eax
lea eax, [esp + 0x3cb8]
shl ecx, 3
push ecx
push eax
push dword [edi + 0x2990]
call fcn.1011d990
add esp, 0xc
cmp byte [esp + 0xf], 0
je 0x10075fab
mov ecx, 0x1ceebdef
call fcn.100b07b0
mov ecx, edi
mov eax, dword [eax + edi]
mov dword [ebx + 0x361c], eax
mov eax, dword [edi]
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
mov ecx, eax
call edx
mov ecx, edi
movq xmm0, qword [eax]
movq qword [ebx + 0x35c4], xmm0
mov eax, dword [eax + 8]
mov dword [ebx + 0x35cc], eax
mov eax, dword [edi]
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
sub esp, 8
mov ecx, edi
movq xmm0, qword [eax]
movq qword [ebx + 0x35d0], xmm0
mov eax, dword [eax + 8]
mov dword [ebx + 0x35d8], eax
mov eax, dword [0x10189814]
mov eax, dword [eax + 0x10]
movss xmm0, dword [eax + 0x10]
lea eax, [ebx + 0x14]
movss dword [esp + 4], xmm0
push dword [edi + 0x2920]
push eax
call fcn.10073560
mov byte [ebx + 0x3628], al
mov eax, dword [0x10189814]
movss xmm0, dword [esp + 0x40]
mov ecx, dword [esp + 0x20]
mov eax, dword [eax + 0x10]
movss dword [eax + 0x14], xmm0
mov eax, dword [0x10189814]
movss xmm0, dword [esp + 0x44]
mov eax, dword [eax + 0x10]
movss dword [eax + 0x10], xmm0
mov eax, dword [esp + 0x1c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x1019479c]
cmp eax, dword [ecx + 4]
jle 0x10076026
push 0x1019479c
call fcn.1011c323
add esp, 4
cmp dword [0x1019479c], 0xffffffff
jne 0x10076026
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x44]
call eax
mov edx, str.m_fEffects
mov ecx, eax
call fcn.10073250
push 0x1019479c
mov dword [0x101947b0], eax
call fcn.1011c2d9
add esp, 4
mov eax, dword [0x101947b0]
mov ecx, dword [esp + 0x30]
mov dword [eax + edi], ecx
mov eax, dword [0x10189818]
cmp byte [eax + 0x1500], 0
je 0x1007643f
mov eax, dword [0x1018ae24]
mov ecx, dword [eax]
mov eax, dword [0x10189814]
push ecx
mov ecx, edi
mov eax, dword [eax + 0x38]
call eax
test al, al
je 0x1007643f
cmp byte [esp + 0xf], 0
je 0x10076431
cmp dword [ebx + 0x10], 0
je 0x1007609b
mov ecx, dword [ebx + 8]
mov eax, dword [ebx + 4]
dec ecx
and ecx, dword [ebx + 0xc]
mov esi, dword [eax + ecx*4]
mov ecx, 0x1ceebdef
call fcn.100b07b0
movss xmm0, dword [esi + 0x44]
ucomiss xmm0, dword [eax + edi]
lahf
test ah, 0x44
jnp 0x1007644f
push 8
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
call fcn.1011c1db
add esp, 4
lea ecx, [esp + 0xc0]
mov dword [eax + 4], 0
mov dword [esp + 0xc0], eax
push 0x40
mov dword [eax], ecx
lea eax, [esp + 0xd8]
push 0
push eax
call fcn.1011df10
movq xmm0, qword [ebx + 0x35dc]
add esp, 0xc
mov eax, dword [ebx + 0x35e4]
mov dword [esp + 0xdc], eax
mov eax, dword [ebx + 0x35fc]
movq qword [esp + 0xd4], xmm0
movq xmm0, qword [ebx + 0x35f4]
mov dword [esp + 0xe8], eax
mov eax, dword [ebx + 0x35cc]
movq qword [esp + 0xe0], xmm0
movss xmm0, dword [ebx + 0x361c]
mov dword [esp + 0xf4], eax
mov eax, dword [ebx + 0x35d8]
mov dword [esp + 0x100], eax
lea eax, [ebx + 0x14]
movss dword [esp + 0x104], xmm0
movq xmm0, qword [ebx + 0x35c4]
push 0x3000
push eax
movq qword [esp + 0xf4], xmm0
lea eax, [esp + 0x11c]
movq xmm0, qword [ebx + 0x35d0]
push eax
movq qword [esp + 0x104], xmm0
call fcn.1011d990
movaps xmm0, xmmword [0x10179380]
lea eax, [esp + 0x9c]
lea ecx, [esp + 0xb4]
mov dword [esp + 0x3c], eax
add esp, 0xc
mov dword [esp + 0xa0], 6
mov dword [esp + 0xa4], 5
mov dword [esp + 0x30], eax
movups xmmword [esp + 0x90], xmm0
cmp eax, ecx
je 0x100762e0
mov edx, dword [esp + 0xd0]
mov edi, eax
mov ebx, ecx
nop word [eax + eax]
mov eax, dword [edi]
mov ecx, dword [esp + 0xc8]
lea eax, [eax + eax*2]
add eax, eax
movss xmm0, dword [esp + eax*8 + 0x120]
movss dword [esp + 0x84], xmm0
movss xmm0, dword [esp + eax*8 + 0x130]
movss dword [esp + 0x88], xmm0
movss xmm0, dword [esp + eax*8 + 0x140]
lea eax, [edx + 1]
movss dword [esp + 0x8c], xmm0
cmp ecx, eax
ja 0x10076266
push ecx
lea ecx, [esp + 0xc4]
call fcn.10076bf0
mov edx, dword [esp + 0xd0]
mov ecx, dword [esp + 0xc8]
mov eax, dword [esp + 0xcc]
dec ecx
and eax, ecx
mov dword [esp + 0xcc], eax
lea esi, [edx + eax]
and esi, ecx
mov ecx, dword [esp + 0xc4]
cmp dword [ecx + esi*4], 0
jne 0x100762a4
push 0xc
call fcn.1011c1db
mov ecx, dword [esp + 0xc8]
add esp, 4
mov dword [ecx + esi*4], eax
mov ecx, dword [esp + 0xc4]
mov ecx, dword [ecx + esi*4]
add edi, 4
movq xmm0, qword [esp + 0x84]
mov eax, dword [esp + 0x8c]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov edx, dword [esp + 0xd0]
inc edx
mov dword [esp + 0xd0], edx
cmp edi, ebx
jne 0x10076200
mov ebx, dword [esp + 0x48]
mov edi, dword [esp + 0x18]
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 8]
inc eax
cmp ecx, eax
ja 0x100762f6
push ecx
mov ecx, ebx
call fcn.100767b0
mov ecx, dword [ebx + 8]
lea eax, [ecx - 1]
and dword [ebx + 0xc], eax
mov esi, dword [ebx + 0xc]
cmove esi, ecx
dec esi
mov ecx, esi
and ecx, eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x10], ecx
cmp dword [eax + ecx*4], 0
jne 0x10076341
push 0x3077
call fcn.1011c1db
add esp, 4
test eax, eax
je 0x1007647b
mov edx, dword [esp + 0x10]
lea ecx, [eax + 0x23]
and ecx, 0xffffffe0
mov dword [ecx - 4], eax
mov eax, dword [ebx + 4]
mov dword [eax + edx*4], ecx
mov ecx, edx
mov eax, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
lea edx, [esp + 0xc0]
push edx
call fcn.10076a90
mov ecx, dword [ebx + 0x10]
inc ecx
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x10], ecx
cmp ecx, 3
jbe 0x10076408
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [0x10189814]
movss xmm0, dword [esp + 0x4c]
mov eax, dword [eax + 0x10]
divss xmm0, dword [eax + 0x20]
addss xmm0, dword [0x10178e88]
cvttss2si eax, xmm0
cmp ecx, eax
jbe 0x10076408
mov eax, dword [ebx + 8]
lea esi, [ecx - 1]
add esi, dword [ebx + 0xc]
dec eax
and esi, eax
mov eax, dword [ebx + 4]
mov esi, dword [eax + esi*4]
mov ecx, esi
call fcn.10076950
mov eax, dword [esi]
push 8
push eax
mov dword [esi], 0
call fcn.1011c1c8
mov ecx, dword [ebx + 0x10]
add esp, 8
sub ecx, 1
mov dword [ebx + 0x10], ecx
je 0x10076401
cmp ecx, 3
ja 0x10076370
jmp 0x10076408
movss xmm2, dword [0x10178fa8]
maxss xmm1, xmm4
movaps xmm0, xmm1
addss xmm0, xmm1
mulss xmm1, xmm1
subss xmm2, xmm0
mulss xmm2, xmm1
comiss xmm2, xmm3
jbe 0x10075ed9
movaps xmm2, xmm3
jmp 0x10075edd
mov dword [ebx + 0xc], 0
lea ecx, [esp + 0xc0]
call fcn.10076950
mov eax, dword [esp + 0xc0]
push 8
push eax
mov dword [esp + 0xc8], 0
call fcn.1011c1c8
add esp, 8
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x380]
call eax
jmp 0x1007644f
mov ecx, ebx
call fcn.100766d0
jmp 0x1007644f
mov ecx, ebx
call fcn.100738d0
mov eax, dword [0x10189820]
mov ebx, dword [esp + 0x3c]
inc ebx
mov dword [esp + 0x3c], ebx
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x50]
call eax
cmp ebx, eax
jle 0x10074c70
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.100766c0
call fcn.10120cee
int3