Function at 0x100c71b0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x103911c1
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x228
mov eax, dword [0x1049b0c0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1bc], ecx
mov eax, dword [0x11b92250]
add eax, 0xc6c19814
xor eax, 0x26996288
cmp byte [eax + 8], 0
je 0x100c9010
mov ecx, dword [eax + 0x154]
mov dword [ebp - 0x18c], ecx
test ecx, ecx
je 0x100c9010
cmp dword [eax + 0x158], 0
je 0x100c9010
mov eax, dword [0x10541630]
test al, 1
jne 0x100c73a8
or eax, 1
mov dword [0x10541630], eax
mov dword [ebp - 4], 0
mov eax, dword [0x1053ebb8]
mov ecx, dword [0x1053ebbc]
mov dword [ebp - 0x1a0], eax
cmp eax, ecx
je 0x100c72b7
mov eax, dword [eax]
mov dword [ebp - 0x198], eax
test eax, eax
je 0x100c72a4
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x100c7278
xor edx, edx
test ecx, ecx
je 0x100c729e
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100c7285
cmp esi, 0x4e9f1122
je 0x100c72d1
mov ecx, dword [0x1053ebbc]
mov eax, dword [ebp - 0x1a0]
add eax, 4
mov dword [ebp - 0x1a0], eax
cmp eax, ecx
jne 0x100c7262
xor edi, edi
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x18c]
mov dword [0x10541634], edi
jmp 0x100c73ae
mov eax, dword [ebp - 0x198]
xor edi, edi
mov dword [ebp - 0x190], edi
mov dword [ebp - 0x1a0], edi
cmp dword [eax + 4], edi
jle 0x100c72b9
xor ecx, ecx
mov dword [ebp - 0x19c], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x100c732f
cmp dword [ecx + 4], 0
jle 0x100c732f
push 0
mov edx, 0x1c93bcf0
call fcn.10238b60
add esp, 4
test eax, eax
je 0x100c7329
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x190], edi
mov eax, dword [ebp - 0x198]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x100c7338
xor edx, edx
test ecx, ecx
je 0x100c7364
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100c7345
cmp esi, 0x1c93bcf0
je 0x100c7394
mov eax, dword [ebp - 0x198]
mov edx, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x19c]
inc edx
mov edi, dword [ebp - 0x190]
add ecx, 0x3c
mov dword [ebp - 0x1a0], edx
mov dword [ebp - 0x19c], ecx
cmp edx, dword [eax + 4]
jge 0x100c72b9
jmp 0x100c72f2
mov eax, dword [ebp - 0x1a4]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x190]
jmp 0x100c72b9
mov edi, dword [0x10541634]
mov eax, dword [ecx + edi]
mov dword [ebp - 0x1ac], eax
mov eax, dword [0x10544908]
test al, 1
jne 0x100c7536
or eax, 1
mov dword [0x10544908], eax
mov dword [ebp - 4], 1
mov eax, dword [0x1053ebb8]
mov ecx, dword [0x1053ebbc]
mov dword [ebp - 0x19c], eax
cmp eax, ecx
je 0x100c7445
nop dword [eax + eax]
mov eax, dword [eax]
mov dword [ebp - 0x190], eax
test eax, eax
je 0x100c7432
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x100c7406
xor edx, edx
test ecx, ecx
je 0x100c742c
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100c7413
cmp esi, 0x72e242a1
je 0x100c745f
mov ecx, dword [0x1053ebbc]
mov eax, dword [ebp - 0x19c]
add eax, 4
mov dword [ebp - 0x19c], eax
cmp eax, ecx
jne 0x100c73f0
xor edi, edi
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x18c]
mov dword [0x105446c4], edi
jmp 0x100c753c
mov eax, dword [ebp - 0x190]
xor edi, edi
mov dword [ebp - 0x198], edi
mov dword [ebp - 0x19c], edi
cmp dword [eax + 4], edi
jle 0x100c7447
xor ecx, ecx
mov dword [ebp - 0x1a0], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x100c74bd
cmp dword [ecx + 4], 0
jle 0x100c74bd
push 0
mov edx, 0x84cdad2
call fcn.10238b60
add esp, 4
test eax, eax
je 0x100c74b7
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x198], edi
mov eax, dword [ebp - 0x190]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [edi + ecx], 0
jne 0x100c74c6
xor edx, edx
test ecx, ecx
je 0x100c74f2
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100c74d3
cmp esi, 0x84cdad2
je 0x100c7522
mov eax, dword [ebp - 0x190]
mov edx, dword [ebp - 0x19c]
mov ecx, dword [ebp - 0x1a0]
inc edx
mov edi, dword [ebp - 0x198]
add ecx, 0x3c
mov dword [ebp - 0x19c], edx
mov dword [ebp - 0x1a0], ecx
cmp edx, dword [eax + 4]
jge 0x100c7447
jmp 0x100c7480
mov eax, dword [ebp - 0x1a4]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x198]
jmp 0x100c7447
mov edi, dword [0x105446c4]
cmp dword [ebp - 0x1ac], 2
je 0x100c9010
cmp dword [ecx + edi], 0
jle 0x100c9010
push 0x8c
lea eax, [ebp - 0x130]
push 0
push eax
call fcn.1034c920
mov edi, dword [ebp - 0x1bc]
xorps xmm0, xmm0
mov al, byte [ebp - 0x130]
xorps xmm1, xmm1
movups xmmword [ebp - 0xe0], xmm0
mov dword [ebp - 0x118], 0
xor ecx, ecx
movups xmmword [ebp - 0xc8], xmm0
mov byte [edi + 0x64], al
xor edx, edx
mov al, byte [ebp - 0x12f]
lea esi, [edi + 0xa8]
movups xmmword [ebp - 0x128], xmm1
mov byte [edi + 0x65], al
add esp, 0xc
movq xmm0, qword [ebp - 0x11c]
xorps xmm2, xmm2
mov eax, dword [ebp - 0x12c]
xorps xmm4, xmm4
movq qword [edi + 0x78], xmm0
xorps xmm3, xmm3
xorps xmm0, xmm0
mov dword [edi + 0x68], eax
psrldq xmm0, 4
mov dword [ebp - 0x114], 0
mov eax, dword [ebp - 0x114]
movd dword [edi + 0x98], xmm0
xorps xmm0, xmm0
movq qword [edi + 0x6c], xmm1
mov dword [edi + 0x80], eax
lea eax, [ebp - 0xec]
movd dword [edi + 0x94], xmm2
psrldq xmm1, 8
psrldq xmm0, 8
mov dword [ebp - 0x110], edx
mov dword [ebp - 0x10c], ecx
movss dword [ebp - 0x108], xmm4
movss dword [ebp - 0x104], xmm4
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xcc], 0xf
mov byte [ebp - 0xe0], cl
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xb4], 0xf
mov byte [ebp - 0xc8], cl
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0xac], ecx
movd dword [edi + 0x74], xmm1
mov dword [edi + 0x84], edx
mov dword [edi + 0x88], ecx
movss dword [edi + 0x8c], xmm4
movss dword [edi + 0x90], xmm4
movd dword [edi + 0x9c], xmm0
movd dword [edi + 0xa4], xmm3
movups xmmword [ebp - 0x100], xmm2
psrldq xmm2, 0xc
movd dword [edi + 0xa0], xmm2
movups xmmword [ebp - 0xf0], xmm3
cmp esi, eax
je 0x100c770c
mov ecx, dword [esi]
test ecx, ecx
je 0x100c76d4
mov eax, dword [esi + 8]
sub eax, ecx
sar eax, 4
push eax
push ecx
call fcn.1006f7b0
mov eax, dword [ebp - 0xec]
mov dword [esi], eax
mov eax, dword [ebp - 0xe8]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0xe4]
mov dword [esi + 8], eax
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xe4], 0
lea eax, [ebp - 0xe0]
push eax
lea ecx, [edi + 0xb4]
call fcn.10050ac0
lea eax, [ebp - 0xc8]
push eax
lea ecx, [edi + 0xcc]
call fcn.10050ac0
movss xmm0, dword [ebp - 0xb0]
lea ecx, [ebp - 0x130]
movss dword [edi + 0xe4], xmm0
movss xmm0, dword [ebp - 0xac]
movss dword [edi + 0xe8], xmm0
movss xmm0, dword [ebp - 0xa8]
movss dword [edi + 0xec], xmm0
call fcn.10063330
cmp byte [0x10520c34], 0
je 0x100c9010
mov eax, dword [0x11b92250]
add eax, 0xc6c19814
xor eax, 0x26996288
mov eax, dword [eax + 0x158]
mov dword [ebp - 0x1ac], eax
mov eax, dword [0x10541658]
test al, 1
jne 0x100c7936
or eax, 1
mov dword [0x10541658], eax
mov dword [ebp - 4], 2
mov eax, dword [0x1053ebb8]
mov ecx, dword [0x1053ebbc]
mov dword [ebp - 0x18c], eax
cmp eax, ecx
je 0x100c7822
mov eax, dword [eax]
mov dword [ebp - 0x190], eax
test eax, eax
je 0x100c780f
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x100c77e0
xor edx, edx
test ecx, ecx
je 0x100c7809
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100c77f0
cmp esi, 0xcd2ed041
je 0x100c783b
mov ecx, dword [0x1053ebbc]
mov eax, dword [ebp - 0x18c]
add eax, 4
mov dword [ebp - 0x18c], eax
cmp eax, ecx
jne 0x100c77c4
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x1a0], eax
mov dword [0x10544910], eax
jmp 0x100c7941
mov eax, dword [ebp - 0x190]
xor edi, edi
mov dword [ebp - 0x198], edi
mov dword [ebp - 0x18c], edi
cmp dword [eax + 4], edi
jle 0x100c78fd
xor ecx, ecx
mov dword [ebp - 0x19c], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x100c789d
cmp dword [ecx + 4], 0
jle 0x100c789d
push 0
mov edx, 0xa2ccb41a
call fcn.10238b60
add esp, 4
test eax, eax
je 0x100c7897
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x198], edi
mov eax, dword [ebp - 0x190]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x100c78a6
xor edx, edx
test ecx, ecx
je 0x100c78d2
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100c78b3
cmp esi, 0xa2ccb41a
je 0x100c7913
mov eax, dword [ebp - 0x190]
mov edx, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0x19c]
inc edx
mov edi, dword [ebp - 0x198]
add ecx, 0x3c
mov dword [ebp - 0x18c], edx
mov dword [ebp - 0x19c], ecx
cmp edx, dword [eax + 4]
jl 0x100c7860
mov eax, edi
mov dword [ebp - 0x1a0], edi
mov dword [0x10544910], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100c7941
mov eax, dword [ebp - 0x1a4]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x198]
mov dword [ebp - 0x1a0], eax
mov dword [0x10544910], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100c7941
mov eax, dword [0x10544910]
mov dword [ebp - 0x1a0], eax
mov ecx, dword [ebp - 0x1ac]
movzx eax, word [ecx + eax]
add eax, 0xffffffd5
cmp ax, 5
ja 0x100c9010
mov eax, dword [0x11b92250]
add eax, 0xc6c19814
xor eax, 0x26996288
mov eax, dword [eax + 0x158]
mov dword [ebp - 0x1ac], eax
mov eax, dword [0x1054abcc]
test al, 1
jne 0x100c7b0a
or eax, 1
mov dword [0x1054abcc], eax
mov dword [ebp - 4], 3
mov eax, dword [0x1053ebb8]
mov ecx, dword [0x1053ebbc]
mov dword [ebp - 0x18c], eax
cmp eax, ecx
je 0x100c7a02
mov eax, dword [eax]
mov dword [ebp - 0x190], eax
test eax, eax
je 0x100c79ef
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x100c79c0
xor edx, edx
test ecx, ecx
je 0x100c79e9
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100c79d0
cmp esi, 0x7384d671
je 0x100c7a15
mov ecx, dword [0x1053ebbc]
mov eax, dword [ebp - 0x18c]
add eax, 4
mov dword [ebp - 0x18c], eax
cmp eax, ecx
jne 0x100c79a4
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x1054ab90], eax
jmp 0x100c7b0f
mov eax, dword [ebp - 0x190]
xor edi, edi
mov dword [ebp - 0x198], edi
mov dword [ebp - 0x18c], edi
cmp dword [eax + 4], edi
jle 0x100c7add
xor ecx, ecx
mov dword [ebp - 0x19c], ecx
nop word [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x100c7a7d
cmp dword [ecx + 4], 0
jle 0x100c7a7d
push 0
mov edx, 0xb3d8aaba
call fcn.10238b60
add esp, 4
test eax, eax
je 0x100c7a77
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x198], edi
mov eax, dword [ebp - 0x190]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x100c7a86
xor edx, edx
test ecx, ecx
je 0x100c7ab2
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100c7a93
cmp esi, 0xb3d8aaba
je 0x100c7aed
mov eax, dword [ebp - 0x190]
mov edx, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0x19c]
inc edx
mov edi, dword [ebp - 0x198]
add ecx, 0x3c
mov dword [ebp - 0x18c], edx
mov dword [ebp - 0x19c], ecx
cmp edx, dword [eax + 4]
jl 0x100c7a40
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x1054ab90], eax
jmp 0x100c7b0f
mov eax, dword [ebp - 0x1a4]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x198]
mov dword [0x1054ab90], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100c7b0f
mov eax, dword [0x1054ab90]
mov ecx, dword [ebp - 0x1ac]
mov al, byte [ecx + eax]
test al, al
jne 0x100c7ce2
mov eax, dword [0x11b92250]
add eax, 0xc6c19814
xor eax, 0x26996288
mov eax, dword [eax + 0x158]
mov dword [ebp - 0x1ac], eax
mov eax, dword [0x1054ad9c]
test al, 1
jne 0x100c7cc0
or eax, 1
mov dword [0x1054ad9c], eax
mov dword [ebp - 4], 4
mov eax, dword [0x1053ebb8]
mov ecx, dword [0x1053ebbc]
mov dword [ebp - 0x18c], eax
cmp eax, ecx
je 0x100c7bc5
nop dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x190], eax
test eax, eax
je 0x100c7bb2
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x100c7b86
xor edx, edx
test ecx, ecx
je 0x100c7bac
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100c7b93
cmp esi, 0x7384d671
je 0x100c7bd9
mov ecx, dword [0x1053ebbc]
mov eax, dword [ebp - 0x18c]
add eax, 4
mov dword [ebp - 0x18c], eax
cmp eax, ecx
jne 0x100c7b70
xor edi, edi
mov dword [0x1054ada8], edi
mov dword [ebp - 4], 0xffffffff
jmp 0x100c7cc6
mov eax, dword [ebp - 0x190]
xor edi, edi
mov dword [ebp - 0x198], edi
mov dword [ebp - 0x18c], edi
cmp dword [eax + 4], edi
jle 0x100c7bc7
xor ecx, ecx
mov dword [ebp - 0x19c], ecx
nop word [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x100c7c3d
cmp dword [ecx + 4], 0
jle 0x100c7c3d
push 0
mov edx, 0x57c1b8da
call fcn.10238b60
add esp, 4
test eax, eax
je 0x100c7c37
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x198], edi
mov eax, dword [ebp - 0x190]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x100c7c46
xor edx, edx
test ecx, ecx
je 0x100c7c72
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100c7c53
cmp esi, 0x57c1b8da
je 0x100c7ca2
mov eax, dword [ebp - 0x190]
mov edx, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0x19c]
inc edx
mov edi, dword [ebp - 0x198]
add ecx, 0x3c
mov dword [ebp - 0x18c], edx
mov dword [ebp - 0x19c], ecx
cmp edx, dword [eax + 4]
jge 0x100c7bc7
jmp 0x100c7c00
mov eax, dword [ebp - 0x1a4]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x198]
mov dword [0x1054ada8], edi
mov dword [ebp - 4], 0xffffffff
jmp 0x100c7cc6
mov edi, dword [0x1054ada8]
mov eax, dword [ebp - 0x1ac]
movss xmm0, dword [eax + edi]
ucomiss xmm0, dword [0x1046ef44]
lahf
test ah, 0x44
jnp 0x100c9010
mov eax, dword [0x11b92250]
add eax, 0xc6c19814
xor eax, 0x26996288
cmp dword [eax + 0x15c], 0
je 0x100c9010
mov ecx, dword [ebp - 0x1bc]
mov eax, dword [eax + 0x154]
mov dword [ecx + 0x68], eax
mov eax, dword [0x11b92250]
mov ecx, dword [0x10541658]
add eax, 0xc6c19814
xor eax, 0x26996288
mov eax, dword [eax + 0x158]
mov dword [ebp - 0x1ac], eax
test cl, 1
jne 0x100c7ea6
or ecx, 1
mov dword [0x10541658], ecx
mov dword [ebp - 4], 5
mov eax, dword [0x1053ebb8]
mov ecx, dword [0x1053ebbc]
mov dword [ebp - 0x18c], eax
cmp eax, ecx
je 0x100c7db5
nop dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x190], eax
test eax, eax
je 0x100c7da2
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x100c7d76
xor edx, edx
test ecx, ecx
je 0x100c7d9c
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100c7d83
cmp esi, 0xcd2ed041
je 0x100c7dcf
mov ecx, dword [0x1053ebbc]
mov eax, dword [ebp - 0x18c]
add eax, 4
mov dword [ebp - 0x18c], eax
cmp eax, ecx
jne 0x100c7d60
xor edi, edi
mov eax, dword [ebp - 0x1ac]
mov dword [0x10544910], edi
mov dword [ebp - 4], 0xffffffff
jmp 0x100c7eac
mov eax, dword [ebp - 0x190]
xor edi, edi
mov dword [ebp - 0x198], edi
mov dword [ebp - 0x18c], edi
cmp dword [eax + 4], edi
jle 0x100c7db7
xor ecx, ecx
mov dword [ebp - 0x19c], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x1a4], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x100c7e2d
cmp dword [ecx + 4], 0
jle 0x100c7e2d
push 0
mov edx, 0xa2ccb41a
call fcn.10238b60
add esp, 4
test eax, eax
je 0x100c7e27
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x198], edi
mov eax, dword [ebp - 0x190]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x100c7e36
xor edx, edx
test ecx, ecx
je 0x100c7e62
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100c7e43
cmp esi, 0xa2ccb41a
je 0x100c7e92
mov eax, dword [ebp - 0x190]
mov edx, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0x19c]
inc edx
mov edi, dword [ebp - 0x198]
add ecx, 0x3c
mov dword [ebp - 0x18c], edx
mov dword [ebp - 0x19c], ecx
cmp edx, dword [eax + 4]
jge 0x100c7db7
jmp 0x100c7df0
mov eax, dword [ebp - 0x1a4]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x198]
jmp 0x100c7db7
mov edi, dword [ebp - 0x1a0]
movsx eax, word [eax + edi]
lea edx, [ebp - 0x1fc]
mov ecx, dword [ebp - 0x1bc]
mov dword [ebp - 0x1fc], 0
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1f4], 0
mov dword [ecx + 0x94], eax
mov eax, dword [0x11b92250]
add eax, 0xc6c19814
xor eax, 0x26996288
push edx
mov ecx, dword [eax + 0xc4]
xor eax, eax
test ecx, ecx
cmovne eax, ecx
mov eax, dword [eax]
mov eax, dword [eax + 0x48]
call eax
movss xmm0, dword [0x1046f4f8]
movss xmm7, dword [ebp - 0x1fc]
comiss xmm0, xmm7
movss xmm1, dword [0x1046f318]
jbe 0x100c7f2b
addss xmm7, dword [0x1046f3d8]
jmp 0x100c7f38
comiss xmm7, xmm1
jbe 0x100c7f38
subss xmm7, dword [0x1046f3d8]
movss xmm2, dword [ebp - 0x1f8]
lea edx, [ebp - 0x18c]
mulss xmm2, dword [0x1046efc0]
lea ecx, [ebp - 0x1a0]
mov dword [ebp - 0x190], 0
movaps xmm0, xmm7
mov dword [ebp - 0x1a0], 0
andps xmm0, xmmword [0x1046f8b0]
subss xmm1, xmm0
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x18c], 0
mulss xmm1, dword [0x1046f014]
subss xmm7, xmm1
movss dword [ebp - 0x1fc], xmm7
call fcn.10232b00
mulss xmm7, dword [0x1046efc0]
lea edx, [ebp - 0x19c]
lea ecx, [ebp - 0x190]
movaps xmm2, xmm7
call fcn.10232b00
movss xmm0, dword [ebp - 0x19c]
movss xmm1, dword [ebp - 0x18c]
mov eax, dword [0x11b92250]
mulss xmm1, xmm0
add eax, 0xc6c19814
xor eax, 0x26996288
mov dword [ebp - 0x1a8], 0x3f800000
mulss xmm0, dword [ebp - 0x1a0]
mov dword [ebp - 0x1b0], 0
movss dword [ebp - 0x1ac], xmm1
mov eax, dword [eax + 0x158]
movss dword [ebp - 0x1a4], xmm0
movss xmm0, dword [ebp - 0x190]
xorps xmm0, xmmword [0x1046f8e0]
mov dword [ebp - 0x1b8], eax
mov eax, dword [0x1054adb0]
movss dword [ebp - 0x198], xmm0
test al, 1
jne 0x100c81b0
or eax, 1
mov dword [0x1054adb0], eax
mov dword [ebp - 4], 6
mov eax, dword [0x1053ebb8]
mov dword [ebp - 0x18c], eax
cmp eax, dword [0x1053ebbc]
je 0x100c80b3
mov ecx, dword [eax]
mov dword [ebp - 0x1a0], ecx
test ecx, ecx
je 0x100c80a2
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x100c8076
xor edx, edx
test ecx, ecx
je 0x100c80a2
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100c8083
cmp esi, 0x7384d671
je 0x100c80c7
mov eax, dword [ebp - 0x18c]
add eax, 4
mov dword [ebp - 0x18c], eax
cmp eax, dword [0x1053ebbc]
jne 0x100c8060
xor edi, edi
mov dword [0x1054ada0], edi
mov dword [ebp - 4], 0xffffffff
jmp 0x100c81b6
mov eax, dword [ebp - 0x1a0]
xor edi, edi
mov dword [ebp - 0x190], edi
mov dword [ebp - 0x18c], edi
cmp dword [eax + 4], edi
jle 0x100c80b5
xor ecx, ecx
mov dword [ebp - 0x19c], ecx
nop dword [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x1c0], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x100c812d
cmp dword [ecx + 4], 0
jle 0x100c812d
push 0
mov edx, 0xf4d38cf4
call fcn.10238b60
add esp, 4
test eax, eax
je 0x100c8127
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x190], edi
mov eax, dword [ebp - 0x1a0]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x100c8136
xor edx, edx
test ecx, ecx
je 0x100c8162
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100c8143
cmp esi, 0xf4d38cf4
je 0x100c8192
mov eax, dword [ebp - 0x1a0]
mov edx, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0x19c]
inc edx
mov edi, dword [ebp - 0x190]
add ecx, 0x3c
mov dword [ebp - 0x18c], edx
mov dword [ebp - 0x19c], ecx
cmp edx, dword [eax + 4]
jge 0x100c80b5
jmp 0x100c80f0
mov eax, dword [ebp - 0x1c0]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x190]
mov dword [0x1054ada0], edi
mov dword [ebp - 4], 0xffffffff
jmp 0x100c81b6
mov edi, dword [0x1054ada0]
mov ecx, dword [ebp - 0x1b8]
lea edx, [ebp - 0x1b0]
add ecx, edi
xorps xmm1, xmm1
movss xmm0, dword [ecx]
comiss xmm1, xmm0
seta al
test al, al
cmove edx, ecx
lea ecx, [ebp - 0x1a8]
comiss xmm0, dword [0x1046f104]
seta al
test al, al
mov eax, dword [0x11b92250]
cmove ecx, edx
add eax, 0xc6c19814
xor eax, 0x26996288
movss xmm0, dword [ecx]
mov ecx, dword [eax + 0x154]
movss dword [ebp - 0x1c0], xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x11b92250]
mov edx, eax
add ecx, 0xc6c19814
mov dword [ebp - 0x1b0], edx
xor ecx, 0x26996288
mov esi, dword [ecx + 0x154]
mov ecx, dword [0x105446b8]
mov dword [ebp - 0x1b8], esi
test cl, 1
jne 0x100c83c8
or ecx, 1
mov dword [0x105446b8], ecx
mov dword [ebp - 4], 7
mov eax, dword [0x1053ebb8]
mov dword [ebp - 0x18c], eax
cmp eax, dword [0x1053ebbc]
je 0x100c82c3
nop dword [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x1a0], ecx
test ecx, ecx
je 0x100c82b2
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x100c8286
xor edx, edx
test ecx, ecx
je 0x100c82b2
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100c8293
cmp esi, 0x4e9f1122
je 0x100c82e2
mov eax, dword [ebp - 0x18c]
add eax, 4
mov dword [ebp - 0x18c], eax
cmp eax, dword [0x1053ebbc]
jne 0x100c8270
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1b0]
mov esi, dword [ebp - 0x1b8]
mov dword [0x1054468c], eax
jmp 0x100c83cd
mov eax, dword [ebp - 0x1a0]
xor edi, edi
mov dword [ebp - 0x190], edi
mov dword [ebp - 0x18c], edi
cmp dword [eax + 4], edi
jle 0x100c83ad
xor ecx, ecx
mov dword [ebp - 0x19c], ecx
nop word [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x1a8], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x100c834d
cmp dword [ecx + 4], 0
jle 0x100c834d
push 0
mov edx, 0x4cdd3467
call fcn.10238b60
add esp, 4
test eax, eax
je 0x100c8347
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x190], edi
mov eax, dword [ebp - 0x1a0]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x100c8356
xor edx, edx
test ecx, ecx
je 0x100c8382
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100c8363
cmp esi, 0x4cdd3467
je 0x100c83b4
mov eax, dword [ebp - 0x1a0]
mov edx, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0x19c]
inc edx
mov edi, dword [ebp - 0x190]
add ecx, 0x3c
mov dword [ebp - 0x18c], edx
mov dword [ebp - 0x19c], ecx
cmp edx, dword [eax + 4]
jl 0x100c8310
mov eax, edi
jmp 0x100c82c5
mov eax, dword [ebp - 0x1a8]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x190]
jmp 0x100c82c5
mov eax, dword [0x1054468c]
movss xmm6, dword [edx + 8]
lea ecx, [ebp - 0x188]
addss xmm6, dword [esi + eax + 8]
movss xmm0, dword [ebp - 0x1c0]
mulss xmm0, dword [0x1046f218]
movss xmm4, dword [edx]
movss xmm5, dword [edx + 4]
addss xmm4, dword [esi + eax]
addss xmm5, dword [esi + eax + 4]
addss xmm6, xmm0
movss dword [ebp - 0x1f0], xmm4
movss dword [ebp - 0x1ec], xmm5
subss xmm6, dword [0x1046f218]
movss dword [ebp - 0x1e8], xmm6
call fcn.1003b510
mov eax, dword [0x11b92250]
movss xmm0, dword [0x1046f24c]
add eax, 0xc6c19814
movss xmm3, dword [ebp - 0x1ac]
xor eax, 0x26996288
movss xmm2, dword [ebp - 0x1a4]
movss xmm1, dword [ebp - 0x198]
push ecx
push 0
push dword [eax + 0x154]
lea ecx, [ebp - 0x1cc]
mulss xmm3, xmm0
push 0x208400b
push ecx
mulss xmm2, xmm0
lea ecx, [ebp - 0x1d8]
push ecx
mulss xmm1, xmm0
lea ecx, [ebp - 0x1e4]
push ecx
addss xmm3, xmm4
mov dword [ebp - 0x1cc], 0x40000000
addss xmm2, xmm5
mov dword [ebp - 0x1c8], 0x40000000
addss xmm1, xmm6
mov dword [ebp - 0x1c4], 0x40000000
lea ecx, [ebp - 0x1f0]
mov dword [ebp - 0x1d8], 0xc0000000
push ecx
mov ecx, dword [eax + 0x114]
mov dword [ebp - 0x1d4], 0xc0000000
mov dword [ebp - 0x1d0], 0xc0000000
movss dword [ebp - 0x1e4], xmm3
movss dword [ebp - 0x1e0], xmm2
movss dword [ebp - 0x1dc], xmm1
call fcn.1027abb0
mov eax, dword [0x11b92250]
lea ecx, [eax - 0x393e67ec]
xor ecx, 0x26996288
mov esi, dword [ecx + 0x154]
mov ecx, dword [0x10541674]
test cl, 1
jne 0x100c855f
or ecx, 1
mov dword [0x10541674], ecx
xor eax, eax
mov dword [ebp - 4], 8
test esi, esi
mov ecx, esi
cmovne eax, esi
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
call eax
mov edx, 0x16c096cc
mov ecx, eax
call fcn.10238e30
mov edx, eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x11b92250]
mov dword [0x10541640], edx
jmp 0x100c8565
mov edx, dword [0x10541640]
movss xmm3, dword [esi + edx]
lea ecx, [eax - 0x393e67ec]
movss xmm4, dword [esi + edx + 4]
xor ecx, 0x26996288
movss xmm2, dword [esi + edx + 8]
movaps xmmword [ebp - 0x220], xmm3
movss dword [ebp - 0x1b0], xmm4
mov esi, dword [ecx + 0x154]
mov ecx, dword [0x10541674]
movss dword [ebp - 0x1a8], xmm2
test cl, 1
jne 0x100c8601
or ecx, 1
mov dword [0x10541674], ecx
xor eax, eax
mov dword [ebp - 4], 9
test esi, esi
mov ecx, esi
cmovne eax, esi
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
call eax
mov edx, 0x16c096cc
mov ecx, eax
call fcn.10238e30
mov dword [ebp - 4], 0xffffffff
mov edx, eax
mov eax, dword [0x11b92250]
movaps xmm3, xmmword [ebp - 0x220]
movss xmm2, dword [ebp - 0x1a8]
movss xmm4, dword [ebp - 0x1b0]
mov dword [0x10541640], edx
movss xmm0, dword [esi + edx + 4]
movss xmm1, dword [esi + edx]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
movss xmm0, dword [0x1046f32c]
comiss xmm0, xmm1
jbe 0x100c862e
xorps xmm3, xmm3
xorps xmm4, xmm4
xorps xmm2, xmm2
lea ecx, [eax - 0x393e67ec]
movss xmm1, dword [0x1046f414]
xor ecx, 0x26996288
movss xmm5, dword [ebp - 0x1c0]
mulss xmm5, dword [0x1046f0b4]
mov dword [ebp - 0x1b8], 0x443b8000
movss xmm7, dword [ebp - 0x1ac]
mov eax, dword [ecx + 0x10c]
addss xmm5, dword [0x1046f058]
movss xmm6, dword [ebp - 0x1a4]
mov dword [ebp - 0x1a8], 0x41700000
movss xmm0, dword [eax + 0x10]
mov eax, dword [ecx + 0x15c]
lea ecx, [ebp - 0x1a8]
movss dword [ebp - 0x18c], xmm0
mov esi, dword [ebp - 0x1bc]
movss xmm0, dword [eax + 0x114]
lea eax, [ebp - 0x1b0]
mulss xmm0, dword [0x1046f0e4]
mov dword [esi + 0x88], 0xd
comiss xmm0, dword [0x1046f230]
movss dword [ebp - 0x1b0], xmm0
cmovae ecx, eax
lea eax, [ebp - 0x1b8]
comiss xmm1, xmm0
movss xmm1, dword [0x1046f114]
movaps xmm0, xmm7
mulss xmm3, xmm1
cmovae eax, ecx
mulss xmm4, xmm1
mulss xmm2, xmm1
mulss xmm5, dword [eax]
movss xmm1, dword [ebp - 0x178]
mulss xmm0, xmm5
addss xmm3, xmm0
movaps xmm0, xmm6
mulss xmm0, xmm5
addss xmm4, xmm0
movss xmm0, dword [ebp - 0x198]
mulss xmm0, xmm5
movss xmm5, dword [ebp - 0x198]
addss xmm2, xmm0
unpcklps xmm3, xmm4
movss xmm0, dword [0x1046f1e8]
mulss xmm7, xmm0
mulss xmm6, xmm0
mulss xmm5, xmm0
movss xmm0, dword [ebp - 0x174]
subss xmm1, xmm6
movss dword [ebp - 0x200], xmm2
movss xmm2, dword [ebp - 0x17c]
subss xmm0, xmm5
subss xmm2, xmm7
movq qword [esi + 0x78], xmm3
movss xmm3, dword [0x1046f094]
movss dword [ebp - 0x214], xmm0
mov eax, dword [ebp - 0x214]
movss xmm0, dword [0x1046efd8]
unpcklps xmm2, xmm1
movq qword [esi + 0x6c], xmm2
mov dword [esi + 0x74], eax
mov eax, dword [ebp - 0x200]
mov dword [esi + 0x80], eax
mov eax, dword [0x11b92250]
add eax, 0xc6c19814
xor eax, 0x26996288
mov eax, dword [eax + 0x10c]
divss xmm0, dword [eax + 0x20]
addss xmm0, xmm3
cvttss2si eax, xmm0
mov dword [ebp - 0x1ac], eax
neg eax
mov dword [esi + 0xa0], eax
mov eax, dword [esi + 0x94]
add eax, 0xffffffd5
cmp eax, 5
ja case.default.0x100c87e6
jmp dword [eax*4 + 0x100c9030]
movss xmm0, dword [0x1046f11c]
jmp 0x100c8866
mov eax, dword [0x11b92250]
movss xmm0, dword [0x1046f104]
add eax, 0xc6c19814
xor eax, 0x26996288
mov eax, dword [eax + 0x10c]
divss xmm0, dword [eax + 0x20]
addss xmm0, xmm0
jmp 0x100c8880
mov dword [esi + 0x8c], 0x3fc00000
jmp 0x100c885e
mov eax, dword [0x11b92250]
add eax, 0xc6c19814
xor eax, 0x26996288
mov ecx, dword [eax + 0x248]
mov eax, dword [ecx + 0x1c]
mov eax, dword [eax + 0x2c]
xor eax, ecx
mov dword [ebp - 0x1a8], eax
movss xmm0, dword [ebp - 0x1a8]
movss dword [esi + 0x8c], xmm0
movss xmm0, dword [0x1046efc4]
mov eax, dword [0x11b92250]
add eax, 0xc6c19814
xor eax, 0x26996288
mov eax, dword [eax + 0x10c]
divss xmm0, dword [eax + 0x20]
addss xmm0, xmm3
cvttss2si eax, xmm0
mov dword [esi + 0x9c], eax
mov eax, dword [0x11b92250]
movss xmm0, dword [0x1046f2e4]
add eax, 0xc6c19814
xor eax, 0x26996288
mov ecx, dword [esi + 0x98]
mov eax, dword [eax + 0x10c]
divss xmm0, dword [eax + 0x20]
addss xmm0, xmm3
cvttss2si eax, xmm0
cmp ecx, eax
jge 0x100c8f8f
lea edi, [esi + 0x6c]
nop dword [eax]
cmp dword [esi + 0x9c], ecx
jg 0x100c89f1
mov eax, dword [esi + 0x94]
add eax, 0xffffffd5
cmp eax, 5
ja case.default.0x100c88ee
jmp dword [eax*4 + 0x100c9048]
movss xmm1, dword [esi + 0x7c]
movss xmm2, dword [esi + 0x78]
movss xmm0, dword [esi + 0x80]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
movss xmm0, dword [0x1046efb8]
comiss xmm0, xmm2
jb case.default.0x100c88ee
jmp 0x100c898d
movss xmm1, dword [esi + 0x7c]
movss xmm2, dword [esi + 0x78]
movss xmm0, dword [esi + 0x80]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
movss xmm0, dword [0x1046efdc]
comiss xmm0, xmm2
jb case.default.0x100c88ee
jmp 0x100c898d
mov eax, dword [0x11b92250]
add eax, 0xc6c19814
movd xmm0, ecx
xor eax, 0x26996288
cvtdq2ps xmm0, xmm0
mov eax, dword [eax + 0x10c]
mulss xmm0, dword [eax + 0x20]
comiss xmm0, dword [esi + 0x8c]
jbe case.default.0x100c88ee
lea eax, [ebp - 0x191]
mov dword [esi + 0xa0], ecx
push eax
push edi
lea ecx, [esi + 0xa8]
mov byte [esi + 0x64], 1
mov byte [ebp - 0x191], 0
call fcn.100ccb70
movss xmm3, dword [0x1046f094]
mov eax, dword [0x11b92250]
movss xmm0, dword [0x1046f04c]
add eax, 0xc6c19814
xor eax, 0x26996288
mov ecx, dword [esi + 0x98]
mov eax, dword [eax + 0x10c]
divss xmm0, dword [eax + 0x20]
addss xmm0, xmm3
cvttss2si eax, xmm0
add eax, ecx
mov dword [esi + 0x9c], eax
test ecx, ecx
js 0x100c8f50
cmp byte [esi + 0x64], 0
jne 0x100c8f8f
mov edx, dword [0x11b92250]
movss xmm3, dword [esi + 0x80]
add edx, 0xc6c19814
xor edx, 0x26996288
mov dword [ebp - 0x1f0], 0x40000000
movaps xmm2, xmm3
mov dword [ebp - 0x1ec], 0x40000000
mov dword [ebp - 0x1e8], 0x40000000
mov dword [ebp - 0x1e4], 0xc0000000
mov ecx, dword [edx + 0x210]
mov dword [ebp - 0x1e0], 0xc0000000
mov dword [ebp - 0x1dc], 0xc0000000
mov eax, dword [ecx + 0x1c]
mov eax, dword [eax + 0x2c]
xor eax, ecx
mov ecx, 0x4208608b
mov dword [ebp - 0x1a8], eax
mov eax, dword [edx + 0x10c]
mov edx, 0x8400b
movss xmm0, dword [ebp - 0x1a8]
mulss xmm0, dword [0x1046f080]
movss xmm1, dword [eax + 0x20]
mov eax, dword [esi + 0x88]
movaps xmm4, xmm1
mulss xmm4, dword [esi + 0x78]
movaps xmm5, xmm1
cmp eax, 1
mov dword [ebp - 0x80], 0
mulss xmm5, dword [esi + 0x7c]
cmove ecx, edx
lea edx, [ebp - 0xa0]
mulss xmm0, xmm1
push edx
push eax
push dword [esi + 0x68]
subss xmm2, xmm0
mov dword [ebp - 0x1a4], ecx
xorps xmm0, xmm0
movss dword [ebp - 0x1a8], xmm4
movups xmmword [ebp - 0xa0], xmm0
push ecx
movups xmmword [ebp - 0x90], xmm0
lea eax, [ebp - 0x1f0]
movss dword [esi + 0x80], xmm2
addss xmm3, xmm2
mov ecx, dword [0x11b92250]
movaps xmm0, xmm4
addss xmm0, dword [edi]
push eax
add ecx, 0xc6c19814
movss dword [ebp - 0x1b0], xmm5
mulss xmm3, xmm1
lea eax, [ebp - 0x1e4]
push eax
movss dword [ebp - 0x1cc], xmm0
lea eax, [ebp - 0x1cc]
movaps xmm0, xmm5
xor ecx, 0x26996288
addss xmm0, dword [edi + 4]
mulss xmm3, dword [0x1046f094]
push eax
push edi
movss dword [ebp - 0x1c8], xmm0
movaps xmm0, xmm3
addss xmm0, dword [edi + 8]
movss dword [ebp - 0x1b8], xmm3
movss dword [ebp - 0x1c4], xmm0
mov ecx, dword [ecx + 0x114]
call fcn.1027abb0
cmp byte [ebp - 0x69], 0
je 0x100c8c74
test dword [ebp - 0x70], 0x80000
je 0x100c8c74
push 0x54
lea eax, [ebp - 0xa0]
push 0
push eax
call fcn.1034c920
add esp, 0xc
mov dword [ebp - 0x74], 0x3f800000
lea eax, [ebp - 0x2c]
mov ecx, 0x10527ba0
push eax
call fcn.100564a0
lea ecx, [ebp - 0x2c]
call fcn.10033ec0
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x18]
cmp eax, 0xf
jbe 0x100c8bd7
push eax
push dword [ebp - 0x2c]
lea eax, [ebp - 0x2c]
push eax
call fcn.10034640
add esp, 0xc
mov ecx, dword [0x11b92250]
lea eax, [ebp - 0xa0]
push eax
push dword [esi + 0x88]
mov eax, dword [ebp - 0x1a4]
add ecx, 0xc6c19814
push dword [esi + 0x68]
and eax, 0xfff7ffff
mov dword [ebp - 0x1c], 0
push eax
lea eax, [ebp - 0x1d8]
mov dword [ebp - 0x18], 0xf
push eax
lea eax, [ebp - 0x22c]
mov byte [ebp - 0x2c], 0
push eax
xor ecx, 0x26996288
mov dword [ebp - 0x1d8], 0x40000000
lea eax, [ebp - 0x1cc]
mov dword [ebp - 0x1d4], 0x40000000
push eax
push edi
mov ecx, dword [ecx + 0x114]
mov dword [ebp - 0x1d0], 0x40000000
mov dword [ebp - 0x22c], 0xc0000000
mov dword [ebp - 0x228], 0xc0000000
mov dword [ebp - 0x224], 0xc0000000
call fcn.1027abb0
movss xmm0, dword [0x1046f104]
comiss xmm0, dword [ebp - 0x74]
ja 0x100c8c92
cmp byte [ebp - 0x6a], 0
jne 0x100c8c92
cmp byte [ebp - 0x69], 0
je 0x100c8e09
mov ecx, dword [ebp - 0x54]
test ecx, ecx
je 0x100c8d42
call fcn.1003b580
test al, al
je 0x100c8d42
push 0x54
lea eax, [ebp - 0xa0]
push 0
push eax
call fcn.1034c920
add esp, 0xc
mov dword [ebp - 0x74], 0x3f800000
lea eax, [ebp - 0x44]
mov ecx, 0x10527ba0
push eax
call fcn.100564a0
lea ecx, [ebp - 0x44]
call fcn.10033ec0
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x30]
cmp eax, 0xf
jbe 0x100c8cf5
push eax
push dword [ebp - 0x44]
lea eax, [ebp - 0x44]
push eax
call fcn.10034640
add esp, 0xc
mov ecx, dword [0x11b92250]
lea eax, [ebp - 0xa0]
push eax
push dword [esi + 0x88]
add ecx, 0xc6c19814
mov dword [ebp - 0x34], 0
push dword [esi + 0x68]
xor ecx, 0x26996288
mov dword [ebp - 0x30], 0xf
push dword [ebp - 0x1a4]
lea eax, [ebp - 0x1cc]
mov byte [ebp - 0x44], 0
push eax
mov ecx, dword [ecx + 0x114]
push edi
call fcn.1027ab40
cmp byte [ebp - 0x69], 0
je 0x100c8e09
movss xmm0, dword [ebp - 0x1a8]
mov dword [esi + 0x88], 3
mov eax, dword [0x11b92250]
movss xmm3, dword [edi]
add eax, 0xc6c19814
movss xmm2, dword [edi + 4]
addss xmm0, xmm3
movss xmm1, dword [edi + 8]
xor eax, 0x26996288
subss xmm3, dword [ebp - 0x1a8]
mov ecx, dword [eax + 0x114]
lea eax, [ebp - 0xa0]
movss dword [ebp - 0x208], xmm0
movss xmm0, dword [ebp - 0x1b0]
addss xmm0, xmm2
movss dword [ebp - 0x21c], xmm3
subss xmm2, dword [ebp - 0x1b0]
push eax
push 3
push dword [esi + 0x68]
movss dword [ebp - 0x204], xmm0
lea eax, [ebp - 0x208]
movss xmm0, dword [ebp - 0x1b8]
addss xmm0, xmm1
movss dword [ebp - 0x218], xmm2
subss xmm1, dword [ebp - 0x1b8]
push 0x8400b
push eax
lea eax, [ebp - 0x21c]
push eax
movss dword [ebp - 0x200], xmm0
movss dword [ebp - 0x214], xmm1
call fcn.1027ab40
movss xmm0, dword [ebp - 0x74]
ucomiss xmm0, dword [0x1046ef44]
lahf
test ah, 0x44
jnp 0x100c8e30
movq xmm0, qword [ebp - 0x94]
mov eax, dword [ebp - 0x8c]
movq qword [edi], xmm0
mov dword [edi + 8], eax
mov ecx, dword [ebp - 0x54]
test ecx, ecx
je 0x100c8ec1
call fcn.1003b580
test al, al
jne 0x100c8ec1
mov eax, dword [esi + 0x94]
cmp eax, 0x44
je 0x100c8e97
cmp eax, 0x2e
je 0x100c8e59
cmp eax, 0x30
jne 0x100c8ec1
mov eax, dword [0x11b92250]
add eax, 0xc6c19814
xor eax, 0x26996288
mov ecx, dword [eax + 0x244]
mov eax, dword [ecx + 0x1c]
mov eax, dword [eax + 0x2c]
xor eax, ecx
mov dword [ebp - 0x1a8], eax
movss xmm0, dword [ebp - 0x1a8]
mulss xmm0, dword [0x1046efc0]
call fcn.1038879e
comiss xmm0, dword [ebp - 0x80]
ja 0x100c8ec1
mov eax, dword [esi + 0x98]
lea ecx, [esi + 0xa8]
mov dword [esi + 0xa0], eax
lea eax, [ebp - 0x1b1]
push eax
push edi
mov byte [esi + 0x64], 1
mov byte [ebp - 0x1b1], 1
call fcn.100ccb70
cmp byte [esi + 0x64], 0
jne 0x100c8f8f
movss xmm0, dword [ebp - 0x74]
ucomiss xmm0, dword [0x1046f104]
lahf
test ah, 0x44
jnp 0x100c8f12
mov eax, dword [esi + 0x98]
lea ecx, [esi + 0xa8]
mov dword [esi + 0xa0], eax
lea eax, [ebp - 0x191]
push eax
push edi
mov byte [ebp - 0x191], 1
call fcn.100ccb70
lea eax, [ebp - 0xa0]
push eax
lea ecx, [esi + 0x64]
call fcn.100c66d0
mov eax, dword [esi + 0xa0]
add eax, dword [ebp - 0x1ac]
mov ecx, dword [esi + 0x98]
cmp eax, ecx
jg 0x100c8f48
lea eax, [ebp - 0x191]
mov dword [esi + 0xa0], ecx
push eax
push edi
lea ecx, [esi + 0xa8]
mov byte [ebp - 0x191], 0
call fcn.100ccb70
movss xmm3, dword [0x1046f094]
mov ecx, dword [esi + 0x98]
movss xmm0, dword [0x1046f2e4]
inc ecx
mov dword [esi + 0x98], ecx
mov eax, dword [0x11b92250]
add eax, 0xc6c19814
xor eax, 0x26996288
mov eax, dword [eax + 0x10c]
divss xmm0, dword [eax + 0x20]
addss xmm0, xmm3
cvttss2si eax, xmm0
cmp ecx, eax
jl 0x100c88d0
mov eax, dword [esi + 0xa0]
add eax, dword [ebp - 0x1ac]
mov ecx, dword [esi + 0x98]
cmp eax, ecx
jg 0x100c8fc8
mov dword [esi + 0xa0], ecx
lea eax, [esi + 0x6c]
lea ecx, [ebp - 0x1b2]
mov byte [ebp - 0x1b2], 0
push ecx
push eax
lea ecx, [esi + 0xa8]
call fcn.100ccb70
mov eax, dword [0x11b92250]
movd xmm0, dword [esi + 0x98]
add eax, 0xc6c19814
cvtdq2ps xmm0, xmm0
xor eax, 0x26996288
mov eax, dword [eax + 0x10c]
divss xmm0, dword [eax + 0x20]
addss xmm0, dword [0x1046f094]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebp - 0x18c]
movss dword [esi + 0x90], xmm0
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.102fe398
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret