Function at 0x100c6190
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 0x100f14ce
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x2e8
mov eax, dword [0x101040b4]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebx + 8]
mov dword [ebp - 0x274], esi
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0xf
mov byte [ebp - 0x90], 0
push 0x30
mov dword [ebp - 4], 0
lea eax, [ebp - 0x234]
push 0
push eax
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
call sub.VCRUNTIME140.dll_memset
xorps xmm0, xmm0
mov dword [ebp - 0x238], 0
add esp, 0xc
movups xmmword [ebp - 0x258], xmm0
movups xmmword [ebp - 0x248], xmm0
test esi, esi
je 0x100c748b
cmp dword [0x10122b60], 0
je 0x100c748b
mov eax, dword [0x10140888]
mov edi, dword [esi + 8]
test al, 1
jne 0x100c629b
or eax, 1
mov dword [0x10140888], eax
mov edx, 0x990704d7
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1f4]
call fcn.1003f750
push 0xda7d68cb
mov edx, eax
mov ecx, 0x1014088c
call fcn.1003fb50
add esp, 4
push 0x100f3060
call fcn.100e7ca5
add esp, 4
mov byte [ebp - 4], 0
mov eax, dword [0x1014088c]
call eax
mov esi, eax
mov dword [ebp - 0x25c], esi
test edi, edi
je 0x100c6323
test esi, esi
je 0x100c6323
mov ecx, dword [edi + 0x18]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x100c6323
nop dword [eax]
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov eax, dword [ecx]
mov ecx, esi
and eax, 0xffffff
push eax
call edx
mov esi, eax
test esi, esi
je 0x100c6309
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x100c62e0
xor edx, edx
test ecx, ecx
je 0x100c6309
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100c62f0
cmp edi, 0x11ab48ff
je 0x100c631e
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x100c6323
mov esi, dword [ebp - 0x25c]
jmp 0x100c62c0
mov ecx, dword [ebp - 0x18]
jmp 0x100c6325
xor ecx, ecx
movsx eax, byte [ecx + 0x10]
dec eax
cmp eax, 6
ja case.0x100c632f.2
jmp dword [eax*4 + 0x100c74ac]
push dword [ecx + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov edx, eax
jmp 0x100c636d
push dword [ecx + 8]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
add esp, 4
mov edx, eax
jmp 0x100c636d
movss xmm0, dword [ecx + 0xc]
call fcn.1003f060
cvttss2si edx, xmm0
jmp 0x100c636d
xor edx, edx
jmp 0x100c636d
mov edx, dword [ecx + 0xc]
mov ecx, dword [0x1013b4ac]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov esi, dword [0x1013b4ac]
mov edi, eax
mov ecx, dword [esi]
mov edx, dword [ecx + 0x30]
mov ecx, esi
call edx
cmp edi, eax
jne 0x100c748b
mov edi, dword [ebp - 0x274]
mov eax, dword [0x10140888]
mov edi, dword [edi + 8]
test al, 1
jne 0x100c63e7
or eax, 1
mov dword [0x10140888], eax
mov edx, 0x990704d7
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1f4]
call fcn.1003f750
push 0xda7d68cb
mov edx, eax
mov ecx, 0x1014088c
call fcn.1003fb50
add esp, 4
push 0x100f3060
call fcn.100e7ca5
add esp, 4
mov byte [ebp - 4], 0
mov eax, dword [0x1014088c]
call eax
mov esi, eax
mov dword [ebp - 0x25c], esi
test edi, edi
je 0x100c6466
test esi, esi
je 0x100c6466
mov ecx, dword [edi + 0x18]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x100c6466
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov eax, dword [ecx]
mov ecx, esi
and eax, 0xffffff
push eax
call edx
mov esi, eax
test esi, esi
je 0x100c644c
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x100c6426
xor edx, edx
test ecx, ecx
je 0x100c644c
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100c6433
cmp edi, 0xfd0c5087
je 0x100c6461
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x100c6466
mov esi, dword [ebp - 0x25c]
jmp 0x100c6408
mov ecx, dword [ebp - 0x18]
jmp 0x100c6468
xor ecx, ecx
movsx eax, byte [ecx + 0x10]
dec eax
cmp eax, 6
ja case.0x100c6472.4
jmp dword [eax*4 + 0x100c74c8]
push dword [ecx + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atof]
fstp dword [ebp - 0x18]
movss xmm0, dword [ebp - 0x18]
add esp, 4
jmp 0x100c64cc
push dword [ecx + 8]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtof]
fstp dword [ebp - 0x18]
movss xmm0, dword [ebp - 0x18]
add esp, 4
jmp 0x100c64cc
movss xmm0, dword [ecx + 0xc]
jmp 0x100c64cc
movd xmm0, dword [ecx + 0xc]
cvtdq2ps xmm0, xmm0
jmp 0x100c64cc
mov ecx, dword [ecx + 4]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
call fcn.100e8db0
cvtsd2ss xmm0, xmm0
jmp 0x100c64cc
xorps xmm0, xmm0
mov eax, dword [ebp - 0x274]
movss dword [ebp - 0x264], xmm0
mov edi, dword [eax + 8]
mov eax, dword [0x10140888]
test al, 1
jne 0x100c6527
or eax, 1
mov dword [0x10140888], eax
mov edx, 0x990704d7
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1f4]
call fcn.1003f750
push 0xda7d68cb
mov edx, eax
mov ecx, 0x1014088c
call fcn.1003fb50
add esp, 4
push 0x100f3060
call fcn.100e7ca5
add esp, 4
mov byte [ebp - 4], 0
mov eax, dword [0x1014088c]
call eax
mov esi, eax
mov dword [ebp - 0x25c], esi
test edi, edi
je 0x100c65a6
test esi, esi
je 0x100c65a6
mov ecx, dword [edi + 0x18]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x100c65a6
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov eax, dword [ecx]
mov ecx, esi
and eax, 0xffffff
push eax
call edx
mov esi, eax
test esi, esi
je 0x100c658c
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x100c6566
xor edx, edx
test ecx, ecx
je 0x100c658c
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100c6573
cmp edi, 0xfc0c4ef4
je 0x100c65a1
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x100c65a6
mov esi, dword [ebp - 0x25c]
jmp 0x100c6548
mov ecx, dword [ebp - 0x18]
jmp 0x100c65a8
xor ecx, ecx
movsx eax, byte [ecx + 0x10]
dec eax
cmp eax, 6
ja case.0x100c65b2.4
jmp dword [eax*4 + 0x100c74e4]
push dword [ecx + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atof]
fstp dword [ebp - 0x18]
movss xmm0, dword [ebp - 0x18]
add esp, 4
jmp 0x100c660c
push dword [ecx + 8]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtof]
fstp dword [ebp - 0x18]
movss xmm0, dword [ebp - 0x18]
add esp, 4
jmp 0x100c660c
movss xmm0, dword [ecx + 0xc]
jmp 0x100c660c
movd xmm0, dword [ecx + 0xc]
cvtdq2ps xmm0, xmm0
jmp 0x100c660c
mov ecx, dword [ecx + 4]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
call fcn.100e8db0
cvtsd2ss xmm0, xmm0
jmp 0x100c660c
xorps xmm0, xmm0
mov eax, dword [ebp - 0x274]
movss dword [ebp - 0x268], xmm0
mov edi, dword [eax + 8]
mov eax, dword [0x10140888]
test al, 1
jne 0x100c6667
or eax, 1
mov dword [0x10140888], eax
mov edx, 0x990704d7
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1f4]
call fcn.1003f750
push 0xda7d68cb
mov edx, eax
mov ecx, 0x1014088c
call fcn.1003fb50
add esp, 4
push 0x100f3060
call fcn.100e7ca5
add esp, 4
mov byte [ebp - 4], 0
mov eax, dword [0x1014088c]
call eax
mov esi, eax
mov dword [ebp - 0x25c], esi
test edi, edi
je 0x100c66e6
test esi, esi
je 0x100c66e6
mov ecx, dword [edi + 0x18]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x100c66e6
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov eax, dword [ecx]
mov ecx, esi
and eax, 0xffffff
push eax
call edx
mov esi, eax
test esi, esi
je 0x100c66cc
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x100c66a6
xor edx, edx
test ecx, ecx
je 0x100c66cc
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100c66b3
cmp edi, 0xff0c53ad
je 0x100c66e1
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x100c66e6
mov esi, dword [ebp - 0x25c]
jmp 0x100c6688
mov ecx, dword [ebp - 0x18]
jmp 0x100c66e8
xor ecx, ecx
movsx eax, byte [ecx + 0x10]
dec eax
cmp eax, 6
ja case.0x100c66f2.4
jmp dword [eax*4 + 0x100c7500]
push dword [ecx + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atof]
fstp dword [ebp - 0x18]
movss xmm3, dword [ebp - 0x18]
add esp, 4
jmp 0x100c674f
push dword [ecx + 8]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtof]
fstp dword [ebp - 0x18]
movss xmm3, dword [ebp - 0x18]
add esp, 4
jmp 0x100c674f
movss xmm3, dword [ecx + 0xc]
jmp 0x100c674f
movd xmm3, dword [ecx + 0xc]
cvtdq2ps xmm3, xmm3
jmp 0x100c674f
mov ecx, dword [ecx + 4]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
call fcn.100e8db0
xorps xmm3, xmm3
cvtsd2ss xmm3, xmm0
jmp 0x100c674f
xorps xmm3, xmm3
mov eax, dword [0x1013b6f0]
mov esi, dword [0x10122b60]
add eax, 0xffffffbd
movss xmm6, dword [ebp - 0x264]
xor eax, 0xee847b8a
cmp byte [0x10130e58], 0
movss xmm4, dword [ebp - 0x268]
movss xmm5, dword [0x100f7f64]
movd xmm0, dword [eax + esi]
mov eax, dword [0x1013b508]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x26c], xmm3
mulss xmm0, dword [eax + 0x20]
movss dword [ebp - 0x24], xmm6
movss dword [ebp - 0x20], xmm4
movss dword [ebp - 0x1c], xmm3
movss dword [ebp - 0x270], xmm0
je 0x100c69af
mov dword [ebp - 0x1f4], 0
lea ecx, [ebp - 0x1f4]
mov dword [ebp - 0x1f0], 0
mov dword [ebp - 0x1ec], 0
mov eax, dword [esi]
push ecx
mov ecx, esi
mov eax, dword [eax + 0x28c]
call eax
cmp dword [esi + 0x39e1], 0
je 0x100c68fa
mov eax, dword [0x1013b650]
mov edx, dword [esi + eax]
test edx, edx
je 0x100c68fa
cmp byte [edx + 0x109], 0
xorps xmm1, xmm1
jne 0x100c6836
mov ecx, dword [0x1013b6f8]
mov eax, dword [edx + 0x60]
add ecx, 0xffffffbb
xor ecx, 0xee847b8c
movss xmm0, dword [ecx + eax]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100c68fa
mov ecx, dword [0x1013b760]
mov eax, dword [edx + 0x60]
add ecx, 0xffffffa1
movss xmm4, dword [ebp - 0x1ec]
xor ecx, 0xee847ba6
mov eax, dword [ecx + eax]
movss xmm2, dword [eax + 0x1ac]
addss xmm2, dword [0x100f7fa8]
comiss xmm4, xmm2
jbe 0x100c68fa
movaps xmm0, xmm4
subss xmm0, xmm2
call fcn.10029cb0
subss xmm0, dword [0x100f7ffc]
movss xmm5, dword [0x100f7f64]
mov dword [ebp - 0x278], 0x3f800000
mov dword [ebp - 0x25c], 0
mulss xmm0, dword [0x100f7ed4]
comiss xmm0, xmm5
movss dword [ebp - 0x18], xmm0
jbe 0x100c68b3
movaps xmm3, xmm5
jmp 0x100c68c6
comiss xmm0, xmm1
lea eax, [ebp - 0x25c]
lea ecx, [ebp - 0x18]
cmovae eax, ecx
movss xmm3, dword [eax]
movaps xmm1, xmm3
subss xmm2, xmm4
mulss xmm1, xmm3
movaps xmm0, xmm1
addss xmm1, xmm1
mulss xmm0, dword [0x100f7fe4]
mulss xmm1, xmm3
subss xmm0, xmm1
mulss xmm2, xmm0
addss xmm2, xmm4
movss dword [ebp - 0x1ec], xmm2
jmp 0x100c6902
movss xmm5, dword [0x100f7f64]
mov ecx, dword [0x1013b6f0]
mov eax, dword [0x10122b60]
add ecx, 0xffffffbd
movq xmm0, qword [ebp - 0x24]
xor ecx, 0xee847b8a
movq qword [ebp - 0x298], xmm0
movq xmm0, qword [ebp - 0x1f4]
movq qword [ebp - 0x28c], xmm0
mov ecx, dword [ecx + eax]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x1ec]
mov dword [ebp - 0x284], eax
mov eax, dword [0x1013ab28]
mov dword [ebp - 0x280], ecx
mov word [ebp - 0x27c], 0
cmp dword [0x1013ab2c], eax
je 0x100c6985
movups xmm0, xmmword [ebp - 0x298]
movups xmmword [eax], xmm0
movups xmm0, xmmword [ebp - 0x288]
movups xmmword [eax + 0x10], xmm0
add dword [0x1013ab28], 0x20
jmp 0x100c699f
lea ecx, [ebp - 0x298]
push ecx
push eax
mov ecx, 0x1013ab24
call fcn.10044490
movss xmm5, dword [0x100f7f64]
movss xmm6, dword [ebp - 0x264]
movss xmm4, dword [ebp - 0x268]
mov eax, dword [0x1013ab20]
test eax, eax
je 0x100c748b
mov ecx, dword [0x1013ab1c]
xor edi, edi
movss xmm2, dword [0x100f8138]
mov dword [ebp - 0x278], edi
lea edx, [ecx + eax]
cmp ecx, edx
je 0x100c748b
mov esi, dword [0x1013ab18]
movss xmm3, dword [ebp - 0x270]
nop dword [eax + eax]
mov edi, dword [0x1013ab14]
lea eax, [esi - 1]
and eax, ecx
mov eax, dword [edi + eax*4]
mov edi, dword [ebp - 0x278]
cmp byte [eax + 0x20], 0
jne 0x100c6a35
movss xmm1, dword [eax + 0xc]
movaps xmm0, xmm3
addss xmm1, dword [eax + 8]
subss xmm0, xmm1
call fcn.10029cb0
comiss xmm0, xmm5
ja 0x100c6a35
comiss xmm2, xmm0
jbe 0x100c6a35
mov edi, eax
movaps xmm2, xmm0
mov dword [ebp - 0x278], edi
inc ecx
cmp ecx, edx
jne 0x100c69f0
movss xmm3, dword [ebp - 0x26c]
test edi, edi
je 0x100c748b
mov byte [edi + 0x20], 1
mov ecx, dword [0x1013b6f0]
mov eax, dword [0x10122b60]
add ecx, 0xffffffbd
mov esi, dword [0x1013ab38]
xor ecx, 0xee847b8a
mov dword [ebp - 0x1fc], edi
movss dword [ebp - 0x1f4], xmm6
movss dword [ebp - 0x1f0], xmm4
mov eax, dword [ecx + eax]
mov dword [ebp - 0x1f8], eax
mov eax, dword [0x1013ab40]
inc eax
movss dword [ebp - 0x1ec], xmm3
cmp esi, eax
ja 0x100c6aaa
push ecx
mov ecx, 0x1013ab30
call fcn.100c8510
mov esi, dword [0x1013ab38]
lea ecx, [esi - 1]
mov eax, ecx
and eax, dword [0x1013ab3c]
mov dword [0x1013ab3c], eax
cmovne esi, eax
dec esi
mov eax, esi
and eax, ecx
mov ecx, dword [0x1013ab34]
mov dword [ebp - 0x18], eax
cmp dword [ecx + eax*4], 0
jne 0x100c6aef
push 0x14
call fcn.100e7846
mov ecx, dword [0x1013ab34]
add esp, 4
mov edx, dword [ebp - 0x18]
mov dword [ecx + edx*4], eax
mov eax, edx
mov ecx, dword [0x1013ab34]
mov ecx, dword [ecx + eax*4]
movups xmm0, xmmword [ebp - 0x1fc]
mov eax, dword [ebp - 0x1ec]
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], eax
mov eax, dword [0x1013ab40]
inc eax
mov dword [0x1013ab3c], esi
mov dword [0x1013ab40], eax
cmp eax, 0x80
jbe 0x100c6b3d
nop dword [eax]
add eax, 0xffffffff
mov dword [0x1013ab40], eax
je 0x100c6b33
cmp eax, 0x80
ja 0x100c6b20
jmp 0x100c6b3d
mov dword [0x1013ab3c], 0
cmp dword [0x101396f4], 1
je 0x100c748b
mov esi, dword [edi]
mov dword [ebp - 0x18], esi
test esi, esi
je 0x100c748b
mov eax, dword [0x1013b6c8]
add eax, 0xffffffc7
xor eax, 0xee847b80
cmp dword [eax + esi], 0
jne 0x100c748b
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0x47c
lea eax, [eax + 0x1010f5e0]
mov dword [ebp - 0x270], eax
test eax, eax
je 0x100c748b
mov eax, dword [edi + 4]
cmp dword [eax + 0x3c4], 0
je 0x100c748b
push 0x44
lea eax, [ebp - 0x78]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x78]
call fcn.1001f8e0
mov ecx, dword [0x1013b760]
add ecx, 0xffffffa1
xor ecx, 0xee847ba6
mov eax, dword [ecx + esi]
mov dword [ebp - 0x78], eax
mov eax, dword [ecx + esi + 0xc]
mov ecx, esi
mov dword [ebp - 0x74], eax
mov eax, dword [0x1013b68c]
add eax, 0xffffffd6
xor eax, 0xee847b71
movss xmm0, dword [eax + esi]
movss dword [ebp - 0x70], xmm0
movss xmm0, dword [eax + esi + 4]
movss dword [ebp - 0x6c], xmm0
movss xmm0, dword [eax + esi + 8]
mov eax, dword [0x1013b698]
add eax, 0xffffffd3
movss dword [ebp - 0x68], xmm0
xor eax, 0xee847b74
movss xmm0, dword [eax + esi]
movss dword [ebp - 0x58], xmm0
movss xmm0, dword [eax + esi + 4]
movss dword [ebp - 0x54], xmm0
movss xmm0, dword [eax + esi + 8]
mov eax, dword [0x1013b69c]
add eax, 0xffffffd2
movss dword [ebp - 0x50], xmm0
xor eax, 0xee847b75
movss xmm0, dword [eax + esi]
movss dword [ebp - 0x4c], xmm0
movss xmm0, dword [eax + esi + 4]
movss dword [ebp - 0x48], xmm0
movss xmm0, dword [eax + esi + 8]
movss dword [ebp - 0x44], xmm0
mov eax, dword [esi]
mov eax, dword [eax + 0x28]
call eax
mov ecx, esi
movss xmm0, dword [eax]
movss dword [ebp - 0x64], xmm0
movss xmm0, dword [eax + 4]
movss dword [ebp - 0x60], xmm0
movss xmm0, dword [eax + 8]
movss dword [ebp - 0x5c], xmm0
mov eax, dword [esi]
mov eax, dword [eax + 0x2c]
call eax
mov ecx, dword [0x1013b760]
add ecx, 0xffffffa1
xor ecx, 0xee847ba6
movss xmm0, dword [eax]
movss dword [ebp - 0x40], xmm0
movss xmm0, dword [eax + 4]
movss dword [ebp - 0x3c], xmm0
movss xmm0, dword [eax + 8]
movss dword [ebp - 0x38], xmm0
mov edx, dword [edi + 4]
lea edi, [edx + 0x3cc]
mov dword [ebp - 0x25c], edx
add ecx, dword [edx]
mov eax, dword [edx + 0x3c4]
mov dword [ecx], eax
mov dword [ecx + 0xc], 0x80
mov ecx, dword [0x1013b68c]
mov esi, dword [edx]
add ecx, 0xffffffd6
mov eax, dword [edi]
xor ecx, 0xee847b71
mov dword [ecx + esi], eax
mov eax, dword [edi + 4]
mov dword [ecx + esi + 4], eax
mov eax, dword [edi + 8]
mov dword [ecx + esi + 8], eax
mov ecx, dword [0x1013b698]
mov eax, dword [edx + 0x44]
add ecx, 0xffffffd3
xor ecx, 0xee847b74
mov dword [ecx + esi], eax
mov eax, dword [edx + 0x48]
mov dword [ecx + esi + 4], eax
mov eax, dword [edx + 0x4c]
mov dword [ecx + esi + 8], eax
mov edx, dword [0x1013b69c]
mov ecx, dword [ebp - 0x25c]
add edx, 0xffffffd2
xor edx, 0xee847b75
mov eax, dword [ecx + 0x50]
mov dword [edx + esi], eax
mov eax, dword [ecx + 0x54]
mov dword [edx + esi + 4], eax
mov eax, dword [ecx + 0x58]
mov dword [edx + esi + 8], eax
lea eax, [ecx + 0x68]
mov edx, dword [0x1013b5cc]
mov ecx, esi
push eax
call edx
mov ecx, dword [ebp - 0x25c]
mov eax, dword [0x1013b5d0]
push edi
mov ecx, dword [ecx]
call eax
mov eax, dword [ebp - 0x278]
movss xmm4, dword [ebp - 0x264]
movss xmm2, dword [ebp - 0x268]
movss xmm1, dword [ebp - 0x26c]
movss xmm5, dword [eax + 0x14]
movss xmm6, dword [eax + 0x18]
subss xmm4, xmm5
movss xmm7, dword [eax + 0x1c]
subss xmm2, xmm6
subss xmm1, xmm7
movaps xmm0, xmm4
unpcklps xmm0, xmm2
movq qword [ebp - 0x1f4], xmm0
movaps xmm0, xmm4
mulss xmm0, xmm4
mulss xmm2, xmm2
movss dword [ebp - 0x1c], xmm1
mov eax, dword [ebp - 0x1c]
addss xmm0, xmm2
mulss xmm1, xmm1
mov dword [ebp - 0x1ec], eax
addss xmm0, xmm1
call fcn.1001eaf0
addss xmm0, dword [0x100f7e68]
movss xmm3, dword [0x100f7f64]
mov dword [ebp - 0x2d4], 0
divss xmm3, xmm0
movss xmm0, dword [0x100f8128]
movaps xmm2, xmm3
movaps xmm1, xmm3
mulss xmm1, dword [ebp - 0x1f0]
mulss xmm3, dword [ebp - 0x1ec]
mulss xmm2, xmm4
mulss xmm1, xmm0
mulss xmm2, xmm0
mulss xmm3, xmm0
addss xmm1, xmm6
addss xmm2, xmm5
addss xmm3, xmm7
subss xmm1, xmm6
subss xmm2, xmm5
subss xmm3, xmm7
movss dword [ebp - 0x2dc], xmm1
mulss xmm1, xmm1
movss dword [ebp - 0x2e0], xmm2
mulss xmm2, xmm2
movss dword [ebp - 0x2d8], xmm3
mulss xmm3, xmm3
addss xmm2, xmm1
addss xmm2, xmm3
ucomiss xmm2, dword [0x100f7e58]
lahf
mov byte [ebp - 0x2ab], 1
test ah, 0x44
jp 0x100c6e83
mov byte [ebp - 0x2ab], 0
mov ecx, dword [0x1013b4c8]
lea edx, [ebp - 0x258]
push edx
push dword [ebp - 0x18]
mov dword [ebp - 0x2b0], 0
lea edx, [ebp - 0x2f0]
mov byte [ebp - 0x2ac], 1
movss dword [ebp - 0x2f0], xmm5
movss dword [ebp - 0x2ec], xmm6
movss dword [ebp - 0x2e8], xmm7
mov dword [ebp - 0x2e4], 0
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2cc], 0
mov dword [ebp - 0x2d0], 0
mov dword [ebp - 0x2b8], 0
mov dword [ebp - 0x2bc], 0
mov dword [ebp - 0x2c0], 0
mov eax, dword [ecx]
push 0x4600400b
push edx
mov eax, dword [eax + 0xc]
call eax
mov eax, dword [ebp - 0x274]
mov edi, dword [eax + 8]
mov eax, dword [0x10140888]
test al, 1
jne 0x100c6f68
or eax, 1
mov dword [0x10140888], eax
mov edx, 0x990704d7
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1f4]
call fcn.1003f750
push 0xda7d68cb
mov edx, eax
mov ecx, 0x1014088c
call fcn.1003fb50
add esp, 4
push 0x100f3060
call fcn.100e7ca5
add esp, 4
mov byte [ebp - 4], 0
mov eax, dword [0x1014088c]
call eax
mov esi, eax
mov dword [ebp - 0x25c], esi
test edi, edi
je 0x100c6ffc
test esi, esi
je 0x100c6ffc
mov ecx, dword [edi + 0x18]
mov dword [ebp - 0x274], ecx
test ecx, ecx
je 0x100c6ffc
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov eax, dword [ecx]
mov ecx, esi
and eax, 0xffffff
push eax
call edx
mov esi, eax
test esi, esi
je 0x100c6fd9
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x100c6fb0
xor edx, edx
test ecx, ecx
je 0x100c6fd9
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100c6fc0
cmp edi, 0x11ab48ff
je 0x100c6ff4
mov ecx, dword [ebp - 0x274]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x274], ecx
test ecx, ecx
je 0x100c6ffc
mov esi, dword [ebp - 0x25c]
jmp 0x100c6f90
mov ecx, dword [ebp - 0x274]
jmp 0x100c6ffe
xor ecx, ecx
movsx eax, byte [ecx + 0x10]
dec eax
cmp eax, 6
ja case.0x100c7008.2
jmp dword [eax*4 + 0x100c751c]
push dword [ecx + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov edx, eax
jmp 0x100c7046
push dword [ecx + 8]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
add esp, 4
mov edx, eax
jmp 0x100c7046
movss xmm0, dword [ecx + 0xc]
call fcn.1003f060
cvttss2si edx, xmm0
jmp 0x100c7046
xor edx, edx
jmp 0x100c7046
mov edx, dword [ecx + 0xc]
mov ecx, dword [0x1013b4ac]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword [0x1013b4ac]
lea esi, [ebp - 0x1e8]
push esi
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x20]
call edx
test al, al
je 0x100c748b
lea ecx, [ebp - 0x1d8]
mov dword [ebp - 0x1f0], 0
mov dword [ebp - 0x1ec], 0xf
lea edx, [ecx + 1]
mov byte [ebp - 0x200], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c7095
sub ecx, edx
lea eax, [ebp - 0x1d8]
push ecx
push eax
lea ecx, [ebp - 0x200]
call fcn.10025140
push 0x18
push 0
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x200]
call fcn.1003efa0
push eax
lea ecx, [ebp - 0x90]
call fcn.10038f10
mov edx, dword [ebp - 0x1c]
cmp edx, 0x10
jb 0x100c710a
mov ecx, dword [ebp - 0x30]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c7100
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100c7100
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100e7cba
add esp, 8
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x1ec]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0xf
mov byte [ebp - 0x30], 0
cmp edx, 0x10
jb 0x100c715c
mov ecx, dword [ebp - 0x200]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c7152
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100c7152
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100e7cba
add esp, 8
mov ecx, dword [ebp - 0x20c]
test ecx, ecx
je 0x100c7217
mov eax, dword [ecx]
mov eax, dword [eax + 0x260]
call eax
mov edi, dword [ebp - 0x18]
test al, al
je 0x100c721a
cmp dword [ebp - 0x20c], edi
jne 0x100c721a
mov eax, dword [ebp - 0x278]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x3ec]
cmp eax, 6
jne 0x100c71b3
mov eax, dword [ebp - 0x270]
inc dword [eax + 0x468]
inc dword [eax + 0x2c]
jmp 0x100c7395
cmp eax, 9
jne 0x100c71cc
mov eax, dword [ebp - 0x270]
inc dword [eax + 0x460]
inc dword [eax + 0x2c]
jmp 0x100c7395
cmp eax, 0xa
jne 0x100c71e5
mov eax, dword [ebp - 0x270]
inc dword [eax + 0x464]
inc dword [eax + 0x2c]
jmp 0x100c7395
cmp eax, 2
jne 0x100c71fe
mov eax, dword [ebp - 0x270]
inc dword [eax + 0x454]
inc dword [eax + 0x2c]
jmp 0x100c7395
cmp eax, 4
mov eax, dword [ebp - 0x270]
jne 0x100c720f
inc dword [eax + 0x458]
inc dword [eax + 0x2c]
jmp 0x100c7395
mov edi, dword [ebp - 0x18]
movaps xmm0, xmmword [0x100f8660]
mov eax, 0x10
pxor xmm0, xmmword [0x100f8b10]
mov dword [ebp - 0x1f0], 0x47424651
mov word [ebp - 0x1ec], 0x2329
movups xmmword [ebp - 0x200], xmm0
nop dword [eax + eax]
xor byte [ebp + eax - 0x200], 0x23
inc eax
cmp eax, 0x16
jb 0x100c7250
lea edx, [ebp - 0x200]
lea ecx, [ebp - 0x30]
call fcn.100277c0
mov byte [ebp - 4], 7
mov esi, dword [0x100f7608]
push 0x2c
call fcn.100e7846
add esp, 4
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 8
lea ecx, [eax + 0xc]
mov dword [eax + 4], 1
mov dword [eax + 8], 1
mov dword [eax], 0x100f6a00
lea eax, [ebp - 0x30]
push eax
mov dword [ebp - 0x25c], ecx
call fcn.10029280
mov edx, dword [ebp - 0x25c]
xorps xmm0, xmm0
mov eax, dword [ebp - 0x18]
movlpd qword [ebp - 0x260], xmm0
mov dword [ebp - 0x260], edx
mov dword [edx + 0x18], esi
mov dword [edx + 0x1c], 0x41000000
mov dword [ebp - 0x25c], eax
mov byte [ebp - 4], 9
mov ecx, dword [0x1013b670]
cmp dword [0x1013b674], ecx
je 0x100c7300
mov dword [ecx + 4], 0
xor esi, esi
mov dword [ecx], edx
mov dword [ecx + 4], eax
add dword [0x1013b670], 8
jmp 0x100c7313
lea eax, [ebp - 0x260]
push eax
push ecx
call fcn.10032fb0
mov esi, dword [ebp - 0x25c]
mov byte [ebp - 4], 0xa
test esi, esi
je 0x100c733c
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x100c733c
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x100c733c
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
sub esp, 0x18
mov byte [ebp - 4], 7
lea eax, [ebp - 0x30]
mov ecx, esp
push eax
call fcn.10029280
push 0x10122b60
call fcn.10031ea0
mov byte [ebp - 4], 0
add esp, 0x1c
mov edx, dword [ebp - 0x1c]
cmp edx, 0x10
jb 0x100c7395
mov ecx, dword [ebp - 0x30]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c738b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100c738b
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100e7cba
add esp, 8
mov ecx, dword [0x1013b760]
mov eax, dword [ebp - 0x78]
add ecx, 0xffffffa1
xor ecx, 0xee847ba6
mov dword [ecx + edi], eax
mov eax, dword [ebp - 0x74]
mov dword [ecx + edi + 0xc], eax
lea ecx, [ebp - 0x40]
mov eax, dword [0x1013b68c]
movss xmm0, dword [ebp - 0x70]
add eax, 0xffffffd6
xor eax, 0xee847b71
push ecx
mov ecx, edi
movss dword [eax + edi], xmm0
movss xmm0, dword [ebp - 0x6c]
movss dword [eax + edi + 4], xmm0
movss xmm0, dword [ebp - 0x68]
movss dword [eax + edi + 8], xmm0
mov eax, dword [0x1013b698]
movss xmm0, dword [ebp - 0x58]
add eax, 0xffffffd3
xor eax, 0xee847b74
movss dword [eax + edi], xmm0
movss xmm0, dword [ebp - 0x54]
movss dword [eax + edi + 4], xmm0
movss xmm0, dword [ebp - 0x50]
movss dword [eax + edi + 8], xmm0
mov eax, dword [0x1013b69c]
movss xmm0, dword [ebp - 0x4c]
add eax, 0xffffffd2
xor eax, 0xee847b75
movss dword [eax + edi], xmm0
movss xmm0, dword [ebp - 0x48]
movss dword [eax + edi + 4], xmm0
movss xmm0, dword [ebp - 0x44]
movss dword [eax + edi + 8], xmm0
mov eax, dword [0x1013b5cc]
call eax
mov eax, dword [0x1013b5d0]
lea ecx, [ebp - 0x70]
push ecx
mov ecx, edi
call eax
mov edx, dword [ebp - 0x7c]
cmp edx, 0x10
jb 0x100c748b
mov ecx, dword [ebp - 0x90]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c7481
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100c7481
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100e7cba
add esp, 8
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.100e7827
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4