Function at 0x10094160
Capabilities:
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a616d
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x170
mov eax, dword [0x100bc040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x114], edi
mov eax, dword [0x1019fdb0]
movss xmm3, dword [0x100b2a7c]
push 0
push 0
movss xmm2, dword [eax + 0x3bb8]
push 0x100b1a14
push ecx
lea ecx, [ebp - 0x64]
mov dword [esp], 0xbf800000
push ecx
mov ecx, dword [eax + 0x3bb4]
call fcn.1006c050
sub esp, 8
lea ecx, [ebp - 0x64]
movss xmm1, dword [eax]
mov eax, dword [0x1019fdb0]
movss xmm0, dword [eax + 0x3bb8]
addss xmm0, dword [eax + 0x37d8]
mulss xmm0, dword [edi]
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
call fcn.100248c0
movss xmm6, dword [0x100b2770]
lea edx, [edi + 0xb4]
movss xmm2, dword [0x100b2a34]
mov esi, 0x15
xorps xmm7, xmm7
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [edi + 0x218], ecx
mov dword [edi + 0x21c], eax
mov edi, dword [0x1019fdb0]
mov ecx, dword [edx - 0x54]
xorps xmm0, xmm0
movzx eax, cl
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x100b2de0]
mov eax, ecx
shr eax, 8
movzx eax, al
cvtpd2ps xmm5, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
mulss xmm5, xmm6
addsd xmm0, qword [eax*8 + 0x100b2de0]
mov eax, ecx
shr ecx, 0x18
shr eax, 0x10
movzx eax, al
cvtpd2ps xmm3, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
mulss xmm3, xmm6
addsd xmm0, qword [eax*8 + 0x100b2de0]
cvtpd2ps xmm4, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, ecx
shr ecx, 0x1f
comiss xmm7, xmm5
addsd xmm0, qword [ecx*8 + 0x100b2de0]
mulss xmm4, xmm6
cvtpd2ps xmm1, xmm0
mulss xmm1, xmm6
mulss xmm1, dword [edi + 0x3788]
jbe 0x100942dd
movaps xmm0, xmm7
jmp 0x100942e9
movss xmm0, dword [0x100b2860]
minss xmm0, xmm5
comiss xmm7, xmm3
movss xmm5, dword [0x100b2860]
mulss xmm0, xmm2
addss xmm0, dword [0x100b2804]
cvttss2si ecx, xmm0
jbe 0x1009430b
movaps xmm0, xmm7
jmp 0x10094312
movaps xmm0, xmm5
minss xmm0, xmm3
movss xmm3, dword [0x100b2804]
mulss xmm0, xmm2
addss xmm0, xmm3
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm7, xmm4
jbe 0x10094335
movaps xmm0, xmm7
jmp 0x1009433c
movaps xmm0, xmm5
minss xmm0, xmm4
mulss xmm0, xmm2
addss xmm0, xmm3
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm7, xmm1
jbe 0x10094357
movaps xmm0, xmm7
jmp 0x1009435e
movaps xmm0, xmm5
minss xmm0, xmm1
mulss xmm0, xmm2
addss xmm0, xmm3
cvttss2si eax, xmm0
shl eax, 0x18
or eax, ecx
mov dword [edx], eax
add edx, 4
sub esi, 1
jne 0x10094246
mov eax, dword [0x1019fdb0]
lea ecx, [ebp - 0x6c]
sub esp, 8
mov eax, dword [eax + 0x3e48]
movss xmm0, dword [eax + 0x22c]
subss xmm0, dword [eax + 0x18]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0x228]
subss xmm0, dword [eax + 0x14]
movss dword [esp], xmm0
call fcn.100248c0
call fcn.10024c20
mov edi, dword [ebp - 0x114]
mov esi, dword [0x1019fdb0]
mov eax, dword [eax + 0x264]
cmp byte [edi + 0x40], 0
movss xmm0, dword [edi + 0x44]
mov dword [ebp - 0x100], eax
movss dword [ebp - 0x13c], xmm0
je 0x10094410
mov byte [edi + 0x40], 0
mov eax, dword [esi + 0x3e48]
mov dword [eax + 0x8c], 0
mov dword [eax + 0x94], 0
mov dword [eax + 0x9c], 0
mov esi, dword [esi + 0x3e48]
sub esp, 8
movss xmm0, dword [esi + 0xf0]
movss dword [ebp - 0x144], xmm0
movss xmm0, dword [esi + 0xf4]
movss dword [ebp - 0x140], xmm0
movss xmm0, dword [esi + 0x78]
movss dword [ebp - 0x134], xmm0
movss xmm0, dword [esi + 0x7c]
divss xmm0, dword [edi + 0x21c]
movss dword [ebp - 0xfc], xmm0
fld dword [ebp - 0xfc]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
mov ecx, dword [edi + 8]
sub ecx, dword [edi + 4]
movss xmm0, dword [ebp - 0x68]
addss xmm0, dword [esi + 0x7c]
fstp dword [ebp - 0x124]
cvttss2si eax, dword [ebp - 0x124]
mov dword [ebp - 0x110], eax
mov eax, 0x2aaaaaab
imul ecx
mov eax, dword [ebp - 0x114]
sar edx, 1
mov edi, edx
shr edi, 0x1f
divss xmm0, dword [eax + 0x21c]
add edi, edx
movss dword [ebp - 0xfc], xmm0
fld dword [ebp - 0xfc]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
cvttss2si esi, dword [ebp - 0x124]
lea ecx, [edi - 1]
push edi
push str.__d
push 0x10
fstp dword [ebp - 0xfc]
cvttss2si eax, dword [ebp - 0xfc]
add eax, esi
cmp eax, ecx
cmovl ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov dword [ebp - 0xfc], eax
lea eax, [ebp - 0x24]
push eax
call fcn.100903b0
mov eax, dword [0x1019fdb0]
lea ecx, [ebp - 0x24]
movss xmm3, dword [0x100b2a7c]
add esp, 0x18
movss xmm2, dword [eax + 0x3bb8]
push 0
push 0
push ecx
push ecx
lea ecx, [ebp - 0x64]
mov dword [esp], 0xbf800000
push ecx
mov ecx, dword [eax + 0x3bb4]
call fcn.1006c050
mov edi, dword [ebp - 0x114]
movd xmm0, dword [edi + 0x48]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [eax]
movss dword [edi + 0x44], xmm0
mov eax, dword [edi + 4]
cmp eax, dword [edi + 8]
je 0x10095705
mov eax, dword [0x1019fdb0]
movss xmm3, dword [0x100b2a7c]
push 0
push 0
movss xmm2, dword [eax + 0x3bb8]
push 0x100b11e4
push ecx
lea ecx, [ebp - 0x16c]
mov dword [esp], 0xbf800000
push ecx
mov ecx, dword [eax + 0x3bb4]
call fcn.1006c050
movss xmm0, dword [eax]
movss dword [ebp - 0x138], xmm0
cmp esi, dword [ebp - 0xfc]
jg 0x1009555e
lea eax, [esi + 1]
mov dword [ebp - 0x124], eax
movd xmm0, esi
lea ecx, [ebp - 0xec]
cvtdq2ps xmm0, xmm0
sub esp, 8
mulss xmm0, dword [edi + 0x21c]
addss xmm0, dword [ebp - 0x140]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x144]
movss dword [esp], xmm0
call fcn.100248c0
movss xmm0, dword [ebp - 0xe8]
lea ecx, [ebp - 0x30]
sub esp, 8
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0xec]
addss xmm0, dword [edi + 0x44]
movss dword [esp], xmm0
call fcn.100248c0
lea eax, [esi + esi*2]
mov ecx, edi
mov dword [ebp - 0x128], eax
mov eax, dword [edi + 4]
push esi
mov dword [ebp - 0x12c], eax
call fcn.10092390
mov dword [ebp - 0x148], eax
mov ecx, edi
lea eax, [ebp - 0x14c]
mov dword [ebp - 0x14c], esi
push eax
call fcn.10099760
addss xmm0, dword [edi + 0x44]
movss xmm1, dword [ebp - 0x13c]
mov ecx, edi
push esi
mov dword [ebp - 0x84], esi
maxss xmm1, xmm0
movss dword [ebp - 0x13c], xmm1
call fcn.10092390
movss xmm0, dword [0x100b2a8c]
mov esi, eax
mov ecx, dword [edi + 0x10]
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x80], esi
movss dword [ebp - 0x104], xmm0
movss dword [ebp - 0xf4], xmm0
cmp ecx, edx
je 0x1009469f
setl al
jmp 0x100946a5
cmp dword [edi + 0x14], esi
setle al
test al, al
je 0x100946e1
cmp ecx, edx
jne 0x100946b1
cmp dword [edi + 0x14], 0
setg al
test al, al
je 0x100946d6
lea ecx, [edi + 0x10]
push ecx
mov ecx, edi
call fcn.10099760
mov edx, dword [ebp - 0x110]
movaps xmm1, xmm0
movss xmm0, dword [ebp - 0xf4]
jmp 0x100946d9
xorps xmm1, xmm1
movss dword [ebp - 0x104], xmm1
mov eax, dword [edi + 0x18]
cmp eax, edx
jne 0x100946ec
cmp dword [edi + 0x1c], 0
setg cl
test cl, cl
je 0x10094723
cmp eax, edx
jne 0x100946fa
cmp dword [edi + 0x1c], esi
setl cl
lea eax, [ebp - 0x84]
test cl, cl
lea esi, [edi + 0x18]
mov ecx, edi
cmovne eax, esi
push eax
call fcn.10099760
mov edx, dword [ebp - 0x110]
movss dword [ebp - 0xf4], xmm0
jmp 0x10094726
lea esi, [edi + 0x18]
cmp dword [esi], edx
jle 0x1009473a
addss xmm0, dword [edi + 0x218]
movss dword [ebp - 0xf4], xmm0
movss xmm1, dword [ebp - 0x104]
movss xmm2, dword [0x100b2a8c]
ucomiss xmm1, xmm2
lahf
test ah, 0x44
jnp 0x1009480a
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jnp 0x1009480a
comiss xmm0, xmm1
jbe 0x1009480a
movss xmm0, dword [ebp - 0xe8]
lea ecx, [ebp - 0xb4]
sub esp, 8
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0xec]
addss xmm0, dword [edi + 0x44]
addss xmm0, xmm1
movss dword [esp], xmm0
call fcn.100248c0
movss xmm0, dword [ebp - 0xe8]
lea ecx, [ebp - 0xbc]
addss xmm0, dword [edi + 0x21c]
sub esp, 8
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0xec]
addss xmm0, dword [edi + 0x44]
addss xmm0, dword [ebp - 0xf4]
movss dword [esp], xmm0
call fcn.100248c0
mov esi, dword [ebp - 0x100]
lea eax, [ebp - 0xbc]
push 0
push ecx
mov dword [esp], 0
mov ecx, esi
push dword [edi + 0xec]
push eax
lea eax, [ebp - 0xb4]
push eax
call fcn.10068d20
jmp 0x10094810
mov esi, dword [ebp - 0x100]
movss xmm0, dword [ebp - 0xe8]
lea ecx, [ebp - 0x38]
sub esp, 8
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0xec]
addss xmm0, dword [ebp - 0x134]
movss dword [esp], xmm0
call fcn.100248c0
mov edx, dword [ebp - 0x124]
mov eax, edx
shr eax, 8
movzx ecx, al
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0xf0], edx
imul eax, eax, 0x1000193
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x10
movzx eax, al
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [edi + 0x1f0]
push eax
lea eax, [ebp - 0xf0]
push eax
lea eax, [ebp - 0x15c]
push eax
call fcn.10087ab0
cmp dword [eax + 4], 0
je 0x1009490d
movss xmm0, dword [ebp - 0xe8]
lea ecx, [ebp - 0xc4]
addss xmm0, dword [edi + 0x21c]
movss xmm1, dword [ebp - 0x134]
sub esp, 8
addss xmm1, xmm1
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x6c]
addss xmm0, dword [ebp - 0xec]
addss xmm1, xmm0
movss dword [esp], xmm1
call fcn.100248c0
push 0
push ecx
mov dword [esp], 0
lea eax, [ebp - 0xc4]
push dword [edi + 0xf4]
mov ecx, esi
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.10068d20
mov esi, dword [ebp - 0x110]
lea eax, [ebp - 0xf0]
push eax
lea eax, [ebp - 0xa0]
inc esi
push eax
lea ecx, [edi + 0x210]
mov dword [ebp - 0xf0], esi
call fcn.10024510
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xf4], eax
cmp byte [eax + 0xd], 0
jne 0x10094b35
cmp esi, dword [eax + 0x10]
jl 0x10094b35
cmp eax, dword [edi + 0x210]
je 0x10094b35
movss xmm0, dword [ebp - 0xe8]
lea ecx, [ebp - 0x7c]
addss xmm0, dword [edi + 0x21c]
movss xmm1, dword [ebp - 0x134]
sub esp, 8
addss xmm1, xmm1
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x6c]
addss xmm0, dword [ebp - 0xec]
addss xmm1, xmm0
movss dword [esp], xmm1
call fcn.100248c0
push 0
push ecx
mov ecx, dword [ebp - 0x100]
lea eax, [ebp - 0x7c]
mov dword [esp], 0
push dword [edi + 0xf0]
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.10068d20
push 1
lea edx, [ebp - 0x7c]
lea ecx, [ebp - 0xec]
call fcn.1005a240
add esp, 4
test al, al
je 0x10094b35
xor ecx, ecx
call fcn.1005d270
mov esi, dword [0x1019fdb0]
lea ecx, [ebp - 0x48]
call fcn.100248f0
movups xmm0, xmmword [esi + 0x3864]
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x4c], 0
lea ecx, [esi + 0x4758]
push eax
movups xmmword [ebp - 0x48], xmm0
call fcn.100647c0
mov eax, dword [ebp - 0xf4]
movaps xmm0, xmmword [0x100b2d00]
movups xmmword [esi + 0x3864], xmm0
push dword [eax + 0x10]
push str.Error_at_line__d:
call fcn.10074680
mov esi, dword [0x1019fdb0]
add esp, 8
mov ecx, dword [esi + 0x4758]
cmp ecx, 1
jl 0x10094a78
mov eax, dword [ebp - 0xf4]
lea edx, [ecx + ecx*4]
mov ecx, dword [esi + 0x4760]
mov dword [ebp - 0xf4], eax
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x3864], xmm0
dec dword [esi + 0x4758]
mov ecx, dword [esi + 0x3e48]
cmp byte [ecx + 0xaf], 0
jne 0x10094aa7
mov ecx, dword [ecx + 0x198]
movss xmm1, dword [0x100b2860]
neg ecx
sbb ecx, ecx
add ecx, 6
call fcn.10077510
mov esi, dword [0x1019fdb0]
lea ecx, [ebp - 0x48]
call fcn.100248f0
movups xmm0, xmmword [esi + 0x3864]
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x4c], 0
lea ecx, [esi + 0x4758]
push eax
movups xmmword [ebp - 0x48], xmm0
call fcn.100647c0
mov eax, dword [ebp - 0xf4]
movaps xmm0, xmmword [0x100b2d10]
add eax, 0x14
movups xmmword [esi + 0x3864], xmm0
cmp dword [eax + 0x14], 0xf
jbe 0x10094aef
mov eax, dword [eax]
push eax
push 0x100b1044
call fcn.10074680
mov esi, dword [0x1019fdb0]
add esp, 8
mov eax, dword [esi + 0x4758]
cmp eax, 1
jl 0x10094b30
mov ecx, dword [esi + 0x4760]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x3864], xmm0
dec dword [esi + 0x4758]
call fcn.10058960
mov eax, dword [ebp - 0x110]
inc eax
push eax
push str._d
lea eax, [ebp - 0x24]
push 0x10
push eax
call fcn.100903b0
mov eax, dword [0x1019fdb0]
lea ecx, [ebp - 0x24]
movss xmm3, dword [0x100b2a7c]
add esp, 0x10
movss xmm2, dword [eax + 0x3bb8]
push 0
push 0
push ecx
push ecx
lea ecx, [ebp - 0x17c]
mov dword [esp], 0xbf800000
push ecx
mov ecx, dword [eax + 0x3bb4]
call fcn.1006c050
movss xmm0, dword [ebp - 0xe8]
lea ecx, [ebp - 0x174]
mov esi, dword [edi + 0xf8]
sub esp, 8
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0xec]
addss xmm0, dword [edi + 0x44]
subss xmm0, dword [eax]
movss dword [esp], xmm0
call fcn.100248c0
push 0
push ecx
mov dword [esp], 0
lea ecx, [ebp - 0x24]
push 0
push ecx
push esi
mov esi, dword [ebp - 0x100]
xorps xmm2, xmm2
push eax
push 0
mov ecx, esi
call fcn.10068fa0
mov eax, dword [ebp - 0x110]
cmp dword [edi + 0x20], eax
jne 0x10094f28
mov eax, dword [0x1019fdb0]
mov ecx, dword [eax + 0x47c8]
test ecx, ecx
jne 0x10094c09
mov byte [ebp - 0xf5], cl
jmp 0x10094c16
cmp ecx, dword [eax + 0x3e48]
sete byte [ebp - 0xf5]
mov eax, dword [edi + 0x10]
cmp dword [edi + 0x18], eax
jne 0x10094c24
mov eax, dword [edi + 0x1c]
cmp eax, dword [edi + 0x14]
setg al
test al, al
jne 0x10094cb5
movss xmm0, dword [ebp - 0x34]
lea ecx, [ebp - 0x5c]
addss xmm0, dword [edi + 0x21c]
sub esp, 8
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x38]
addss xmm0, dword [ebp - 0x6c]
addss xmm0, dword [ebp - 0x134]
movss dword [esp], xmm0
call fcn.100248c0
movzx eax, byte [ebp - 0xf5]
push 0
push ecx
xor eax, 1
mov dword [esp], 0
mov ecx, esi
push dword [edi + eax*4 + 0xfc]
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.10068d20
push ecx
mov dword [esp], 0x3f800000
lea eax, [ebp - 0x5c]
push 0
push ecx
mov dword [esp], 0x3f800000
mov ecx, esi
push dword [edi + 0x104]
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.10068b90
cmp byte [ebp - 0xf5], 0
je 0x10094f28
call dword [sym.imp.MSVCP140.dll__Xtime_get_ticks]
push 0
push 0x2710
push edx
push eax
call fcn.100a17e0
mov esi, eax
mov dword [ebp - 0x10c], eax
sub esi, dword [edi + 0x248]
mov ecx, edx
mov eax, ecx
mov dword [ebp - 0x11c], ecx
sbb eax, dword [edi + 0x24c]
mov dword [ebp - 0xf4], eax
jne 0x10094d08
cmp esi, 0x190
jbe 0x10094f28
movss xmm0, dword [0x100b2860]
lea eax, [edi + 0x20]
push eax
mov ecx, edi
movss dword [ebp - 0x104], xmm0
call fcn.100921a0
mov dword [ebp - 0xf0], eax
mov ecx, edi
lea eax, [edi + 0x20]
push eax
call fcn.10099760
cmp byte [edi + 0x3c], 0
movss dword [ebp - 0x108], xmm0
je 0x10094e66
mov edx, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x128]
mov eax, dword [edx + ecx*4]
mov ecx, dword [edx + ecx*4 + 4]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
mov ecx, dword [ebp - 0xf0]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jge 0x10094e66
mov edi, dword [ebp - 0x12c]
lea eax, [ecx + ecx*2]
mov edx, dword [ebp - 0x128]
mov ecx, dword [edi + edx*4]
mov edi, dword [ebp - 0x114]
mov al, byte [ecx + eax*4]
cmp al, 9
jne 0x10094e1c
addss xmm0, dword [0x100b2860]
xorps xmm1, xmm1
sub esp, 8
cvtsi2ss xmm1, dword [edi + 0x38]
mulss xmm1, dword [ebp - 0x138]
divss xmm0, xmm1
movss dword [ebp - 0x118], xmm1
movss dword [ebp - 0xf0], xmm0
fld dword [ebp - 0xf0]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movss xmm1, dword [ebp - 0x108]
add esp, 8
fstp dword [ebp - 0xf0]
fld dword [ebp - 0xf0]
fstp dword [ebp - 0xf0]
movss xmm0, dword [ebp - 0xf0]
addss xmm0, dword [0x100b2860]
mulss xmm0, dword [ebp - 0x118]
subss xmm0, xmm1
movss dword [ebp - 0x104], xmm0
jmp 0x10094e6e
movss xmm3, dword [0x100b2a7c]
lea ecx, [ebp - 0x28]
push 0
push 0
push ecx
push ecx
mov byte [ebp - 0x28], al
lea ecx, [ebp - 0x154]
mov eax, dword [0x1019fdb0]
mov dword [esp], 0xbf800000
push ecx
mov byte [ebp - 0x27], 0
movss xmm2, dword [eax + 0x3bb8]
mov ecx, dword [eax + 0x3bb4]
call fcn.1006c050
movss xmm0, dword [eax]
movss dword [ebp - 0x104], xmm0
movss xmm1, dword [ebp - 0x108]
movss xmm0, dword [ebp - 0xe8]
lea ecx, [ebp - 0xd4]
sub esp, 8
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x30]
addss xmm0, xmm1
movss dword [esp], xmm0
call fcn.100248c0
movss xmm0, dword [ebp - 0xe8]
lea ecx, [ebp - 0xcc]
addss xmm0, dword [edi + 0x21c]
sub esp, 8
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x30]
addss xmm0, dword [ebp - 0x108]
addss xmm0, dword [ebp - 0x104]
movss dword [esp], xmm0
call fcn.100248c0
push 0
push ecx
mov ecx, dword [ebp - 0x100]
lea eax, [ebp - 0xcc]
mov dword [esp], 0
push dword [edi + 0xe8]
push eax
lea eax, [ebp - 0xd4]
push eax
call fcn.10068d20
cmp dword [ebp - 0xf4], 0
ja 0x10094f10
cmp esi, 0x320
jbe 0x10094f28
mov eax, dword [ebp - 0x10c]
mov dword [edi + 0x248], eax
mov eax, dword [ebp - 0x11c]
mov dword [edi + 0x24c], eax
mov eax, dword [ebp - 0x128]
mov edx, dword [ebp - 0x12c]
mov ecx, dword [edx + eax*4 + 4]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x11c], ecx
mov dword [ebp - 0xf0], eax
cmp eax, ecx
jne 0x10094f59
mov edx, dword [edi + 0xb4]
mov dword [ebp - 0xf4], edx
jmp 0x10094f73
push eax
mov ecx, edi
call fcn.10092fa0
mov ecx, dword [ebp - 0x11c]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xf0]
sub ecx, eax
xor esi, esi
mov eax, 0x2aaaaaab
mov dword [ebp - 0x108], esi
imul ecx
xorps xmm3, xmm3
xorps xmm4, xmm4
movss dword [ebp - 0x10c], xmm3
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x100954c2
mov ecx, dword [ebp - 0xf0]
lea eax, [esi + esi*2]
lea eax, [ecx + eax*4]
mov ecx, edi
push eax
mov dword [ebp - 0xf0], eax
call fcn.10092fa0
mov dword [ebp - 0x11c], eax
cmp eax, dword [ebp - 0xf4]
jne 0x10094fdf
mov ecx, dword [ebp - 0xf0]
mov cl, byte [ecx]
cmp cl, 9
je 0x10094fdf
cmp cl, 0x20
jne 0x100950cc
cmp dword [edi + 0x240], 0
je 0x100950cc
movss xmm0, dword [ebp - 0x2c]
lea ecx, [ebp - 0xdc]
addss xmm0, xmm4
sub esp, 8
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x30]
addss xmm0, xmm3
movss dword [esp], xmm0
call fcn.100248c0
cmp dword [edi + 0x244], 0xf
lea esi, [edi + 0x230]
mov eax, esi
jbe 0x1009502a
mov eax, dword [esi]
push 0
push ecx
mov ecx, dword [ebp - 0x100]
xorps xmm2, xmm2
mov dword [esp], 0
push 0
push eax
push dword [ebp - 0xf4]
lea eax, [ebp - 0xdc]
push eax
push 0
call fcn.10068fa0
cmp dword [esi + 0x14], 0xf
mov eax, esi
mov edx, dword [0x1019fdb0]
jbe 0x10095064
mov eax, dword [esi]
movss xmm3, dword [0x100b2a7c]
movss xmm2, dword [edx + 0x3bb8]
push 0
push 0
push eax
push ecx
mov ecx, dword [edx + 0x3bb4]
lea eax, [ebp - 0xe4]
mov dword [esp], 0xbf800000
push eax
call fcn.1006c050
movss xmm3, dword [ebp - 0xe4]
addss xmm3, dword [ebp - 0x10c]
mov dword [esi + 0x10], 0
cmp dword [esi + 0x14], 0xf
movss dword [ebp - 0x10c], xmm3
jbe 0x100950ba
mov esi, dword [esi]
mov eax, dword [ebp - 0x11c]
xorps xmm4, xmm4
mov byte [esi], 0
mov esi, dword [ebp - 0x108]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xf0]
mov cl, byte [eax]
cmp cl, 9
jne 0x100952ff
movd xmm0, dword [edi + 0x38]
sub esp, 8
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x118], xmm3
mulss xmm0, dword [ebp - 0x138]
addss xmm3, dword [0x100b2860]
movss dword [ebp - 0xf0], xmm0
divss xmm3, xmm0
movss dword [ebp - 0x11c], xmm3
fld dword [ebp - 0x11c]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movss xmm5, dword [0x100b2860]
inc esi
fstp dword [ebp - 0x11c]
fld dword [ebp - 0x11c]
add esp, 8
cmp byte [edi + 0x5f], 0
fstp dword [ebp - 0x11c]
movss xmm3, dword [ebp - 0x11c]
addss xmm3, xmm5
mov dword [ebp - 0x108], esi
mulss xmm3, dword [ebp - 0xf0]
movss dword [ebp - 0x10c], xmm3
je 0x1009548c
mov eax, dword [0x1019fdb0]
lea ecx, [ebp - 0xac]
movss xmm4, dword [ebp - 0x118]
movaps xmm1, xmm3
addss xmm1, dword [ebp - 0x30]
movss xmm0, dword [ebp - 0x2c]
sub esp, 8
movss xmm2, dword [eax + 0x3bb8]
addss xmm0, dword [0x100b274c]
addss xmm4, dword [ebp - 0x30]
subss xmm1, xmm5
movss dword [ebp - 0xf0], xmm2
addss xmm4, xmm5
movss dword [ebp - 0x104], xmm1
movaps xmm1, xmm2
mulss xmm1, dword [0x100b2804]
addss xmm1, xmm0
movss dword [esp + 4], xmm1
movss dword [ebp - 0x118], xmm1
movss dword [esp], xmm4
call fcn.100248c0
movss xmm0, dword [ebp - 0x118]
lea ecx, [ebp - 0x74]
sub esp, 8
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x104]
movss dword [esp], xmm0
call fcn.100248c0
movss xmm2, dword [ebp - 0xf0]
lea ecx, [ebp - 0x8c]
mulss xmm2, dword [0x100b27e4]
sub esp, 8
movss xmm1, dword [ebp - 0x104]
movss xmm0, dword [ebp - 0x118]
subss xmm1, xmm2
movss dword [ebp - 0xf0], xmm2
subss xmm0, xmm2
movss dword [ebp - 0x104], xmm1
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
call fcn.100248c0
movss xmm0, dword [ebp - 0x118]
lea ecx, [ebp - 0x94]
addss xmm0, dword [ebp - 0xf0]
sub esp, 8
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x104]
movss dword [esp], xmm0
call fcn.100248c0
push ecx
mov ecx, dword [ebp - 0x100]
lea eax, [ebp - 0x74]
mov dword [esp], 0x3f800000
push 0x90909090
push eax
lea eax, [ebp - 0xac]
push eax
call fcn.10068a30
push ecx
mov ecx, dword [ebp - 0x100]
lea eax, [ebp - 0x8c]
mov dword [esp], 0x3f800000
push 0x90909090
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.10068a30
push ecx
mov ecx, dword [ebp - 0x100]
lea eax, [ebp - 0x94]
mov dword [esp], 0x3f800000
push 0x90909090
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.10068a30
jmp 0x10095484
cmp cl, 0x20
jne 0x100953a9
cmp byte [edi + 0x5f], 0
je 0x1009538d
movss xmm2, dword [ebp - 0x30]
lea ecx, [ebp - 0x164]
movss xmm0, dword [ebp - 0x138]
addss xmm2, xmm3
mulss xmm0, dword [0x100b2804]
mov eax, dword [0x1019fdb0]
push 4
push 0x80808080
addss xmm2, xmm0
sub esp, 8
movss xmm0, dword [ebp - 0x2c]
movss xmm1, dword [eax + 0x3bb8]
addss xmm0, xmm4
mulss xmm1, dword [0x100b2804]
addss xmm1, xmm0
movss dword [esp + 4], xmm1
movss dword [esp], xmm2
call fcn.100248c0
movss xmm2, dword [0x100b2890]
mov ecx, dword [ebp - 0x100]
push eax
call fcn.10068ef0
movss xmm3, dword [ebp - 0x10c]
addss xmm3, dword [ebp - 0x138]
inc esi
mov dword [ebp - 0x108], esi
movss dword [ebp - 0x10c], xmm3
jmp 0x1009548c
mov al, cl
and al, 0xfe
cmp al, 0xfc
jne 0x100953b8
mov eax, 6
jmp 0x100953f1
mov al, cl
and al, 0xfc
cmp al, 0xf8
jne 0x100953c7
mov eax, 5
jmp 0x100953f1
mov al, cl
and al, 0xf8
cmp al, 0xf0
jne 0x100953d6
mov eax, 4
jmp 0x100953f1
mov al, cl
and al, 0xf0
cmp al, 0xe0
jne 0x100953e5
mov eax, 3
jmp 0x100953f1
and cl, 0xe0
xor eax, eax
cmp cl, 0xc0
sete al
inc eax
mov ecx, dword [ebp - 0x108]
lea esi, [edi + 0x230]
lea edi, [ecx + ecx*2]
shl edi, 2
add ecx, eax
mov dword [ebp - 0x108], ecx
nop dword [eax + eax]
mov ecx, dword [ebp - 0x12c]
lea edi, [edi + 0xc]
mov edx, dword [esi + 0x14]
dec eax
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x128]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esi + 0x10]
mov al, byte [edi + eax - 0xc]
mov byte [ebp - 0x54], al
cmp ecx, edx
jae 0x10095456
lea eax, [ecx + 1]
mov dword [esi + 0x10], eax
mov eax, esi
cmp edx, 0xf
jbe 0x10095449
mov eax, dword [esi]
mov dl, byte [ebp - 0x54]
mov byte [eax + ecx], dl
mov byte [eax + ecx + 1], 0
jmp 0x1009546e
push dword [ebp - 0x54]
mov byte [ebp - 0x130], 0
push dword [ebp - 0x130]
push ecx
mov ecx, esi
call fcn.10017c40
mov eax, dword [ebp - 0x11c]
test eax, eax
jg 0x10095410
mov edi, dword [ebp - 0x114]
mov esi, dword [ebp - 0x108]
movss xmm3, dword [ebp - 0x10c]
mov edx, dword [ebp - 0x12c]
xorps xmm4, xmm4
mov ecx, dword [ebp - 0x128]
mov eax, dword [edx + ecx*4]
mov ecx, dword [edx + ecx*4 + 4]
sub ecx, eax
mov dword [ebp - 0xf0], eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jb 0x10094fa1
cmp dword [edi + 0x240], 0
je 0x1009553f
movss xmm0, dword [ebp - 0x2c]
lea ecx, [ebp - 0x64]
addss xmm0, xmm4
sub esp, 8
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x30]
addss xmm0, xmm3
movss dword [esp], xmm0
call fcn.100248c0
cmp dword [edi + 0x244], 0xf
lea esi, [edi + 0x230]
mov eax, esi
jbe 0x10095506
mov eax, dword [esi]
push 0
push ecx
mov ecx, dword [ebp - 0x100]
xorps xmm2, xmm2
mov dword [esp], 0
push 0
push eax
push dword [ebp - 0xf4]
lea eax, [ebp - 0x64]
push eax
push 0
call fcn.10068fa0
mov dword [esi + 0x10], 0
cmp dword [esi + 0x14], 0xf
jbe 0x1009553c
mov esi, dword [esi]
mov byte [esi], 0
mov esi, dword [ebp - 0x110]
inc dword [ebp - 0x124]
inc esi
mov dword [ebp - 0x110], esi
cmp esi, dword [ebp - 0xfc]
jle 0x100945b2
mov ecx, dword [0x1019fdb0]
movss xmm1, dword [0x100b2aac]
movss xmm0, dword [ecx + 0xdc0]
comiss xmm0, xmm1
movss xmm2, dword [ecx + 0xdc4]
jb 0x10095705
comiss xmm2, xmm1
jb 0x10095705
mov eax, dword [ecx + 0xdc0]
mov ecx, dword [ecx + 0xdc4]
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x164]
mov dword [ebp - 0x58], ecx
push eax
mov ecx, edi
call fcn.100919f0
push eax
lea eax, [ebp - 0x50]
mov ecx, edi
push eax
call fcn.10092e50
mov dword [ebp - 4], 0
mov esi, dword [ebp - 0x40]
test esi, esi
je 0x100956c6
cmp dword [ebp - 0x3c], 0xf
lea eax, [ebp - 0x50]
mov edx, 0x811c9dc5
cmova eax, dword [ebp - 0x50]
xor ecx, ecx
test esi, esi
je 0x100955ff
mov edi, eax
movzx eax, byte [edi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, esi
jb 0x100955e8
mov edi, dword [ebp - 0x114]
push edx
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x154]
push eax
lea ecx, [edi + 0x140]
call fcn.100195e0
mov eax, dword [eax + 4]
mov dword [ebp - 0xfc], eax
test eax, eax
jne 0x1009562f
mov eax, dword [edi + 0x144]
mov dword [ebp - 0xfc], eax
cmp eax, dword [edi + 0x144]
je 0x10095649
xor ecx, ecx
call fcn.1005d270
mov ecx, dword [ebp - 0xfc]
add ecx, 0x28
jmp 0x100956ae
cmp dword [ebp - 0x3c], 0xf
lea eax, [ebp - 0x50]
mov edx, 0x811c9dc5
cmova eax, dword [ebp - 0x50]
xor ecx, ecx
test esi, esi
je 0x10095678
mov edi, eax
movzx eax, byte [edi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, esi
jb 0x10095661
mov edi, dword [ebp - 0x114]
push edx
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x154]
push eax
lea ecx, [edi + 0x160]
call fcn.100195e0
mov esi, dword [eax + 4]
test esi, esi
jne 0x1009569c
mov esi, dword [edi + 0x164]
cmp esi, dword [edi + 0x164]
je 0x100956c6
xor ecx, ecx
call fcn.1005d270
lea ecx, [esi + 0x28]
cmp dword [ecx + 0x14], 0xf
jbe 0x100956b6
mov ecx, dword [ecx]
push ecx
xor edx, edx
call fcn.10073e40
add esp, 4
call fcn.10058960
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x3c]
cmp eax, 0xf
jbe 0x10095705
mov edx, dword [ebp - 0x50]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x100956fb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100956fb
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100a0796
add esp, 8
mov ecx, dword [edi + 8]
mov eax, 0x2aaaaaab
sub ecx, dword [edi + 4]
sub esp, 8
imul ecx
lea ecx, [ebp - 0x15c]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x100b2de0]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [edi + 0x21c]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x13c]
addss xmm0, dword [0x100b28c8]
movss dword [esp], xmm0
call fcn.100248c0
mov dword [ebp - 0xfc], eax
call fcn.10024c20
cmp byte [eax + 0xaf], 0
jne 0x100957ec
movss xmm0, dword [eax + 0xf4]
lea esi, [eax + 0xf0]
mov eax, dword [ebp - 0xfc]
lea ecx, [ebp - 0x120]
sub esp, 8
addss xmm0, dword [eax + 4]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax]
addss xmm0, dword [esi]
movss dword [esp], xmm0
call fcn.100248c0
lea eax, [ebp - 0x120]
push eax
push esi
lea ecx, [ebp - 0xa4]
call fcn.10024b30
movss xmm1, dword [0x100b2a8c]
mov ecx, dword [ebp - 0xfc]
call fcn.1005c0a0
push 0
push 0
xor edx, edx
lea ecx, [ebp - 0xa4]
call fcn.1005c250
add esp, 8
cmp byte [edi + 0x3f], 0
je 0x10095810
mov ecx, edi
call fcn.100999c0
mov ecx, dword [0x1019fdb0]
xor edx, edx
mov ecx, dword [ecx + 0x3e48]
call fcn.10058c20
mov byte [edi + 0x3f], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100a046e
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret