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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100f1589
mov eax, dword fs:[0]
push eax
sub esp, 0x298
mov eax, dword [0x101040b4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0xf
mov byte [ebp - 0x50], 0
mov dword [ebp - 4], 0
test eax, eax
je 0x100c8304
cmp dword [0x10122b60], 0
je 0x100c8304
mov edi, dword [eax + 8]
mov eax, dword [0x10140888]
test al, 1
jne 0x100c75ee
or eax, 1
mov dword [0x10140888], eax
mov edx, 0x990704d7
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x24c]
call fcn.1003f750
push 0xda7d68cb
mov edx, eax
mov ecx, 0x1014088c
call fcn.1003fb50
push 0x100f3060
call fcn.100e7ca5
add esp, 8
mov byte [ebp - 4], 0
mov eax, dword [0x1014088c]
call eax
mov esi, eax
mov dword [ebp - 0x270], esi
test edi, edi
je 0x100c767d
test esi, esi
je 0x100c767d
mov ecx, dword [edi + 0x18]
mov dword [ebp - 0x25c], ecx
test ecx, ecx
je 0x100c767d
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 0x100c765a
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x100c7634
xor edx, edx
test ecx, ecx
je 0x100c765a
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100c7641
cmp edi, 0xd791104e
je 0x100c7675
mov ecx, dword [ebp - 0x25c]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x25c], ecx
test ecx, ecx
je 0x100c767d
mov esi, dword [ebp - 0x270]
jmp 0x100c7616
mov ecx, dword [ebp - 0x25c]
jmp 0x100c767f
xor ecx, ecx
movsx eax, byte [ecx + 0x10]
dec eax
cmp eax, 6
ja case.0x100c7689.2
jmp dword [eax*4 + 0x100c8324]
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 0x100c76c7
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 0x100c76c7
movss xmm0, dword [ecx + 0xc]
call fcn.1003f060
cvttss2si edx, xmm0
jmp 0x100c76c7
xor edx, edx
jmp 0x100c76c7
mov edx, dword [ecx + 0xc]
mov ecx, dword [0x1013b4ac]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov edi, dword [ebp - 0x260]
mov ecx, dword [0x10140888]
mov dword [ebp - 0x268], eax
mov edi, dword [edi + 8]
test cl, 1
jne 0x100c772e
or ecx, 1
mov dword [0x10140888], ecx
mov edx, 0x990704d7
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x24c]
call fcn.1003f750
push 0xda7d68cb
mov edx, eax
mov ecx, 0x1014088c
call fcn.1003fb50
push 0x100f3060
call fcn.100e7ca5
add esp, 8
mov byte [ebp - 4], 0
mov eax, dword [0x1014088c]
call eax
mov esi, eax
mov dword [ebp - 0x270], esi
test edi, edi
je 0x100c77cc
test esi, esi
je 0x100c77cc
mov ecx, dword [edi + 0x18]
mov dword [ebp - 0x25c], ecx
test ecx, ecx
je 0x100c77cc
nop word [eax + 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 0x100c77a9
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x100c7780
xor edx, edx
test ecx, ecx
je 0x100c77a9
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100c7790
cmp edi, 0x11ab48ff
je 0x100c77c4
mov ecx, dword [ebp - 0x25c]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x25c], ecx
test ecx, ecx
je 0x100c77cc
mov esi, dword [ebp - 0x270]
jmp 0x100c7760
mov ecx, dword [ebp - 0x25c]
jmp 0x100c77ce
xor ecx, ecx
movsx eax, byte [ecx + 0x10]
dec eax
cmp eax, 6
ja case.0x100c77d8.2
jmp dword [eax*4 + 0x100c8340]
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 0x100c7816
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 0x100c7816
movss xmm0, dword [ecx + 0xc]
call fcn.1003f060
cvttss2si edx, xmm0
jmp 0x100c7816
xor edx, edx
jmp 0x100c7816
mov edx, dword [ecx + 0xc]
mov ecx, dword [0x1013b4ac]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov edi, dword [ebp - 0x268]
mov esi, eax
mov dword [ebp - 0x26c], esi
lea ecx, [edi - 1]
cmp ecx, 0x3f
ja 0x100c82ce
lea ecx, [esi - 1]
cmp ecx, 0x3f
ja 0x100c82ce
mov ecx, dword [0x1013b4ac]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
cmp edi, eax
jne 0x100c82ce
mov ecx, dword [0x1013b4ac]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
cmp esi, eax
je 0x100c82ce
mov eax, dword [ebp - 0x260]
mov edi, dword [eax + 8]
mov eax, dword [0x10140888]
test al, 1
jne 0x100c78c4
or eax, 1
mov dword [0x10140888], eax
mov edx, 0x990704d7
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x24c]
call fcn.1003f750
push 0xda7d68cb
mov edx, eax
mov ecx, 0x1014088c
call fcn.1003fb50
push 0x100f3060
call fcn.100e7ca5
add esp, 8
mov byte [ebp - 4], 0
mov eax, dword [0x1014088c]
call eax
mov esi, eax
mov dword [ebp - 0x270], esi
test edi, edi
je 0x100c794f
test esi, esi
je 0x100c794f
mov ecx, dword [edi + 0x18]
mov dword [ebp - 0x25c], ecx
test ecx, ecx
je 0x100c794f
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 0x100c792c
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x100c7906
xor edx, edx
test ecx, ecx
je 0x100c792c
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100c7913
cmp edi, 0x2a7e565d
je 0x100c7947
mov ecx, dword [ebp - 0x25c]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x25c], ecx
test ecx, ecx
je 0x100c794f
mov esi, dword [ebp - 0x270]
jmp 0x100c78e8
mov ecx, dword [ebp - 0x25c]
jmp 0x100c7951
xor ecx, ecx
movsx eax, byte [ecx + 0x10]
dec eax
cmp eax, 6
ja case.0x100c795b.2
jmp dword [eax*4 + 0x100c835c]
push dword [ecx + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov esi, eax
jmp 0x100c79a7
push dword [ecx + 8]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
add esp, 4
mov dword [ebp - 0x268], eax
mov esi, eax
jmp 0x100c79ad
movss xmm0, dword [ecx + 0xc]
call fcn.1003f060
cvttss2si esi, xmm0
jmp 0x100c79a7
mov dword [ebp - 0x268], 0
jmp 0x100c79b6
mov esi, dword [ecx + 0xc]
mov dword [ebp - 0x268], esi
cmp esi, 0xa
je 0x100c82ce
mov ecx, dword [0x1013b4b0]
mov edi, dword [ebp - 0x26c]
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov dword [ebp - 0x270], eax
test eax, eax
je 0x100c82ce
mov esi, dword [0x1013b4ac]
lea eax, [ebp - 0x240]
push eax
push edi
mov ecx, dword [esi]
mov edx, dword [ecx + 0x20]
mov ecx, esi
call edx
test al, al
je 0x100c82ce
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x244], 0xf
lea edx, [ecx + 1]
mov byte [ebp - 0x258], 0
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c7a20
sub ecx, edx
lea eax, [ebp - 0x230]
push ecx
push eax
lea ecx, [ebp - 0x258]
call fcn.10025140
push 0x18
push 0
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x258]
call fcn.1003efa0
push eax
lea ecx, [ebp - 0x50]
call fcn.10038f10
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x100c7a92
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c7a88
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100c7a88
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 - 0x244]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
cmp edx, 0x10
jb 0x100c7ae4
mov ecx, dword [ebp - 0x258]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c7ada
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100c7ada
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 eax, dword [ebp - 0x260]
mov edi, dword [eax + 8]
mov eax, dword [0x10140888]
test al, 1
jne 0x100c7b34
or eax, 1
mov dword [0x10140888], eax
mov edx, 0x990704d7
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x24c]
call fcn.1003f750
push 0xda7d68cb
mov edx, eax
mov ecx, 0x1014088c
call fcn.1003fb50
push 0x100f3060
call fcn.100e7ca5
add esp, 8
mov byte [ebp - 4], 0
mov eax, dword [0x1014088c]
call eax
mov esi, eax
mov dword [ebp - 0x26c], esi
test edi, edi
je 0x100c7bbf
test esi, esi
je 0x100c7bbf
mov ecx, dword [edi + 0x18]
mov dword [ebp - 0x25c], ecx
test ecx, ecx
je 0x100c7bbf
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 0x100c7b9c
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x100c7b76
xor edx, edx
test ecx, ecx
je 0x100c7b9c
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100c7b83
cmp edi, 0xa0d9523e
je 0x100c7bb7
mov ecx, dword [ebp - 0x25c]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x25c], ecx
test ecx, ecx
je 0x100c7bbf
mov esi, dword [ebp - 0x26c]
jmp 0x100c7b58
mov ecx, dword [ebp - 0x25c]
jmp 0x100c7bc1
xor ecx, ecx
movsx eax, byte [ecx + 0x10]
dec eax
cmp eax, 6
ja case.0x100c7bcb.2
jmp dword [eax*4 + 0x100c8378]
push dword [ecx + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
jmp 0x100c7c05
push dword [ecx + 8]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
add esp, 4
jmp 0x100c7c05
movss xmm0, dword [ecx + 0xc]
call fcn.1003f060
cvttss2si eax, xmm0
jmp 0x100c7c05
xor eax, eax
jmp 0x100c7c05
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x260]
mov edi, dword [eax + 8]
mov eax, dword [0x10140888]
test al, 1
jne 0x100c7c5b
or eax, 1
mov dword [0x10140888], eax
mov edx, 0x990704d7
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x24c]
call fcn.1003f750
push 0xda7d68cb
mov edx, eax
mov ecx, 0x1014088c
call fcn.1003fb50
push 0x100f3060
call fcn.100e7ca5
add esp, 8
mov byte [ebp - 4], 0
mov eax, dword [0x1014088c]
call eax
mov esi, eax
mov dword [ebp - 0x26c], esi
test edi, edi
je 0x100c7cec
test esi, esi
je 0x100c7cec
mov ecx, dword [edi + 0x18]
mov dword [ebp - 0x260], ecx
test ecx, ecx
je 0x100c7cec
nop
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 0x100c7cc9
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x100c7ca0
xor edx, edx
test ecx, ecx
je 0x100c7cc9
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100c7cb0
cmp edi, 0x6b98ed8f
je 0x100c7ce4
mov ecx, dword [ebp - 0x260]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x260], ecx
test ecx, ecx
je 0x100c7cec
mov esi, dword [ebp - 0x26c]
jmp 0x100c7c80
mov ecx, dword [ebp - 0x260]
jmp 0x100c7cee
xor ecx, ecx
movsx eax, byte [ecx + 0x10]
dec eax
cmp eax, 6
ja case.0x100c7cf8.2
jmp dword [eax*4 + 0x100c8394]
push dword [ecx + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
jmp 0x100c7d32
push dword [ecx + 8]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
add esp, 4
jmp 0x100c7d32
movss xmm0, dword [ecx + 0xc]
call fcn.1003f060
cvttss2si eax, xmm0
jmp 0x100c7d32
xor eax, eax
jmp 0x100c7d32
mov eax, dword [ecx + 0xc]
cmp byte [0x10130620], 0
mov dword [ebp - 0x38], eax
je 0x100c7d6a
mov eax, dword [0x1013b508]
mov dword [0x10140704], 0x3f800000
movss xmm0, dword [eax + 0x10]
movss dword [0x101406fc], xmm0
addss xmm0, dword [0x100f7f64]
movss dword [0x10140700], xmm0
cmp byte [0x101306a8], 0
je 0x100c7df0
movaps xmm0, xmmword [0x100f8b30]
xor eax, eax
movaps xmm2, xmmword [0x100f8660]
movups xmmword [ebp - 0x34], xmm0
mov word [ebp - 0x14], 0x2355
movaps xmm0, xmmword [0x100f8830]
movups xmmword [ebp - 0x24], xmm0
nop dword [eax + eax]
movups xmm0, xmmword [ebp + eax - 0x34]
movaps xmm1, xmm2
pxor xmm1, xmm0
movups xmmword [ebp + eax - 0x34], xmm1
add eax, 0x10
cmp eax, 0x20
jb 0x100c7da0
cmp eax, 0x22
jae 0x100c7dcb
nop
xor byte [ebp + eax - 0x34], 0x23
inc eax
cmp eax, 0x22
jb 0x100c7dc0
mov ecx, dword [0x1013b500]
lea edx, [ebp - 0x34]
push ecx
mov dword [esp], 0
push 0
mov eax, dword [ecx]
push 0x64
push ecx
mov dword [esp], 0x3f800000
mov eax, dword [eax + 0x30]
push edx
call eax
mov eax, dword [0x10138ffc]
mov ecx, dword [0x10139000]
cmp eax, ecx
je 0x100c807b
cmp dword [eax], 1
je 0x100c7e0f
add eax, 4
cmp eax, ecx
jne 0x100c7e03
cmp eax, ecx
je 0x100c807b
movd xmm0, dword [ebp - 0x25c]
movaps xmm2, xmmword [0x100f8660]
cvtdq2ps xmm0, xmm0
mov word [ebp - 0x274], 0x290a
mov byte [ebp - 0x272], 0x23
cvttss2si eax, xmm0
movaps xmm0, xmmword [str.KVQW]
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x268]
movups xmmword [ebp - 0x2a4], xmm0
movaps xmm0, xmmword [0x100f82f0]
lea eax, [eax + eax*2]
movups xmmword [ebp - 0x294], xmm0
lea esi, [eax*8 + 0x1013aa08]
xor eax, eax
movaps xmm0, xmmword [0x100f8850]
movups xmmword [ebp - 0x284], xmm0
nop
movups xmm0, xmmword [ebp + eax - 0x2a4]
movaps xmm1, xmm2
pxor xmm1, xmm0
movups xmmword [ebp + eax - 0x2a4], xmm1
add eax, 0x10
cmp eax, 0x30
jb 0x100c7e80
cmp eax, 0x33
jae 0x100c7eb2
xor byte [ebp + eax - 0x2a4], 0x23
inc eax
cmp eax, 0x33
jb 0x100c7ea4
push 0x98
lea eax, [ebp - 0xe8]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 4
lea ecx, [ebp - 0xe8]
call fcn.10029350
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x26c]
push eax
lea eax, [ebp - 0x50]
push esi
push eax
lea edx, [ebp - 0x2a4]
lea ecx, [ebp - 0xe8]
call fcn.100c88b0
add esp, 0x10
lea eax, [ebp - 0x2c]
lea ecx, [ebp - 0xe4]
push eax
call fcn.10029580
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xe8], 0x100f6700
mov eax, dword [ebp - 0xe8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0xec], eax
lea ecx, [ebp - 0xe4]
call fcn.10024db0
lea ecx, [ebp - 0xe0]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x98]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov byte [ebp - 4], 8
mov esi, dword [0x100f7608]
push 0x2c
call fcn.100e7846
mov edi, eax
add esp, 4
mov dword [ebp - 0x260], edi
mov byte [ebp - 4], 9
lea eax, [ebp - 0x2c]
lea ecx, [edi + 0xc]
mov dword [edi + 4], 1
push eax
mov dword [edi + 8], 1
mov dword [edi], 0x100f6a00
call fcn.10029280
lea edx, [edi + 0xc]
xorps xmm0, xmm0
mov dword [edx + 0x18], esi
movlpd qword [ebp - 0x264], xmm0
mov dword [edx + 0x1c], 0x41000000
mov dword [ebp - 0x264], edx
mov dword [ebp - 0x260], edi
mov byte [ebp - 4], 0xa
mov ecx, dword [0x1013b670]
cmp dword [0x1013b674], ecx
setne al
test al, al
je 0x100c7fe6
mov dword [ecx + 4], 0
xor esi, esi
mov dword [ecx], edx
mov dword [ecx + 4], edi
add dword [0x1013b670], 8
jmp 0x100c7ff9
lea eax, [ebp - 0x264]
push eax
push ecx
call fcn.10032fb0
mov esi, dword [ebp - 0x260]
mov byte [ebp - 4], 0xb
test esi, esi
je 0x100c8022
or edi, 0xffffffff
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x100c8022
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x100c8022
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
sub esp, 0x18
mov byte [ebp - 4], 8
lea eax, [ebp - 0x2c]
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 - 0x18]
cmp edx, 0x10
jb 0x100c807b
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c8071
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100c8071
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
cmp dword [ebp - 0x268], 0
je 0x100c82ce
mov esi, dword [0x1013ab24]
mov edi, dword [0x1013ab28]
cmp esi, edi
je 0x100c80c7
nop dword [eax + eax]
mov edx, dword [0x1013b6f0]
mov eax, dword [0x10122b60]
add edx, 0xffffffbd
mov ecx, dword [esi + 0x18]
xor edx, 0xee847b8a
cmp ecx, dword [edx + eax]
jne 0x100c80c0
mov byte [esi + 0x1d], 1
add esi, 0x20
cmp esi, edi
jne 0x100c80a0
mov eax, dword [0x1013ab40]
test eax, eax
je 0x100c82ce
mov edx, dword [0x1013ab3c]
lea edi, [eax + edx]
mov dword [ebp - 0x26c], edi
cmp edx, edi
je 0x100c82ce
mov ecx, dword [0x1013b6f0]
mov esi, dword [0x1013ab38]
add ecx, 0xffffffbd
mov eax, dword [0x10122b60]
dec esi
xor ecx, 0xee847b8a
mov dword [ebp - 0x260], esi
mov ecx, dword [ecx + eax]
nop
mov eax, edx
and eax, esi
mov esi, dword [0x1013ab34]
mov esi, dword [esi + eax*4]
cmp dword [esi + 4], ecx
jne 0x100c8134
mov eax, dword [esi]
mov edi, dword [ebp - 0x270]
cmp dword [eax], edi
mov edi, dword [ebp - 0x26c]
je 0x100c8145
inc edx
cmp edx, edi
je 0x100c82ce
mov esi, dword [ebp - 0x260]
jmp 0x100c8110
movd xmm0, dword [ebp - 0x25c]
mov eax, dword [ebp - 0x268]
mov edi, dword [0x1013ab4c]
mov dword [ebp - 0x248], eax
mov eax, dword [0x1013ab54]
cvtdq2ps xmm0, xmm0
inc eax
mov dword [ebp - 0x24c], esi
movss dword [ebp - 0x244], xmm0
cmp edi, eax
ja 0x100c818b
push ecx
mov ecx, 0x1013ab44
call fcn.10032340
mov edi, dword [0x1013ab4c]
mov eax, dword [0x1013ab50]
lea ecx, [edi - 1]
and eax, ecx
mov dword [0x1013ab50], eax
cmovne edi, eax
dec edi
mov eax, edi
and eax, ecx
mov ecx, dword [0x1013ab48]
mov dword [ebp - 0x260], eax
cmp dword [ecx + eax*4], 0
jne 0x100c81d5
push 0xc
call fcn.100e7846
mov ecx, dword [0x1013ab48]
add esp, 4
mov edx, dword [ebp - 0x260]
mov dword [ecx + edx*4], eax
mov eax, edx
mov ecx, dword [0x1013ab48]
mov ecx, dword [ecx + eax*4]
movq xmm0, qword [ebp - 0x24c]
mov eax, dword [ebp - 0x244]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov eax, dword [0x1013ab54]
inc eax
mov dword [0x1013ab50], edi
mov dword [0x1013ab54], eax
cmp eax, 0x80
jbe 0x100c8222
add eax, 0xffffffff
mov dword [0x1013ab54], eax
je 0x100c8218
cmp eax, 0x80
ja 0x100c8205
jmp 0x100c8222
mov dword [0x1013ab50], 0
mov ecx, dword [ebp - 0x270]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0x47c
lea ecx, [eax + 0x1010f5e0]
test ecx, ecx
je 0x100c82ce
mov dword [ecx + 0x2c], 0
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x3ec]
cmp eax, 6
jne 0x100c8270
mov eax, dword [ecx + 0x468]
test eax, eax
jle 0x100c82ce
dec eax
mov dword [ecx + 0x468], eax
jmp 0x100c82ce
cmp eax, 2
jne 0x100c8288
mov eax, dword [ecx + 0x454]
test eax, eax
jle 0x100c82ce
dec eax
mov dword [ecx + 0x454], eax
jmp 0x100c82ce
cmp eax, 4
jne 0x100c82a0
mov eax, dword [ecx + 0x458]
test eax, eax
jle 0x100c82ce
dec eax
mov dword [ecx + 0x458], eax
jmp 0x100c82ce
cmp eax, 9
jne 0x100c82b8
mov eax, dword [ecx + 0x460]
test eax, eax
jle 0x100c82ce
dec eax
mov dword [ecx + 0x460], eax
jmp 0x100c82ce
cmp eax, 0xa
jne 0x100c82ce
mov eax, dword [ecx + 0x464]
test eax, eax
jle 0x100c82ce
dec eax
mov dword [ecx + 0x464], eax
mov edx, dword [ebp - 0x3c]
cmp edx, 0x10
jb 0x100c8304
mov ecx, dword [ebp - 0x50]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c82fa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100c82fa
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 - 0x10]
xor ecx, ebp
call fcn.100e7827
mov esp, ebp
pop ebp
ret 4