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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xffffffe0
mov eax, 0x3120
call fcn.10157ab0
mov esi, esp
mov dword [esi + 0x30f8], ebp
mov dword [esi + 0xa0], ecx
mov dword [esi + 0x30fc], esp
mov dword [esi + 0x3108], 0xffffffff
lea eax, [esi + 0x3100]
mov dword [esi + 0x3104], 0x100a07f0
mov ecx, dword fs:[0]
mov dword [esi + 0x3100], ecx
mov dword fs:[0], eax
xor ebx, ebx
xor ecx, ecx
xor edi, edi
nop word [eax + eax]
mov dword [esi + 0x14], ecx
mov ecx, dword [0x1025adc4]
add ecx, 0x58
mov dword [esi + 0x60], edi
lea eax, [esi + 0x60]
push eax
lea eax, [esi + 0xb4]
push eax
call fcn.10036c40
mov eax, dword [esi + 0xb4]
mov ecx, ebx
bts ecx, edi
btr ebx, edi
cmp byte [eax + 0xc], 0
cmovne ebx, ecx
mov ecx, dword [0x1025adc4]
add ecx, 0x78
mov dword [esi + 0x60], edi
lea eax, [esi + 0x60]
push eax
lea eax, [esi + 0xb4]
push eax
call fcn.10036c40
mov eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0x14]
bts ecx, edi
mov edx, dword [esi + 0x14]
btr edx, edi
mov dword [esi + 0x14], edx
cmp byte [eax + 0xc], 0
mov eax, dword [esi + 0x14]
cmovne eax, ecx
mov dword [esi + 0x14], eax
mov ecx, dword [esi + 0x14]
inc edi
cmp edi, 6
jne 0x100962c0
mov eax, dword [esi + 0xa0]
mov edx, dword [eax + 0x9c]
mov edi, dword [eax + 0xa0]
cmp edx, edi
je 0x10096397
mov dword [esi + 0x5c], ebx
nop word cs:[eax + eax]
mov ecx, dword [esi + 0xa0]
push 0
push dword [esi + 0x14]
push dword [esi + 0x5c]
push edx
mov ebx, edi
mov edi, edx
call fcn.1008e900
mov edx, edi
mov edi, ebx
mov eax, dword [esi + 0xa0]
add edx, 0x20
cmp edx, ebx
jne 0x10096360
mov edi, dword [eax + 0x9c]
mov edx, dword [eax + 0xa0]
jmp 0x10096399
mov edi, edx
add eax, 0x9c
mov dword [esi + 0xac], eax
lea ecx, [esi + 0xb4]
lea ebx, [esi + 0x60]
mov dword [esi + 0xb0], edx
jmp 0x1009643e
movss xmm0, dword [esi + 0xb4]
mov dword [esi + 0x60], 0
movss dword [esi + 0x64], xmm0
mov dword [esi + 0x68], 0
mov eax, dword [0x1025adc8]
mov ecx, edi
push ebx
call dword [eax + 0x14]
mov eax, dword [esi + 0x30ec]
mov dword [edi + 0x26ac], eax
mov eax, dword [esi + 0x30f0]
mov dword [edi + 0x26b0], eax
mov eax, dword [esi + 0x30e8]
shl eax, 4
lea eax, [eax + eax*2]
push eax
lea eax, [esi + 0xe8]
push eax
push dword [edi + 0x2910]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x30f4]
mov dword [edi + 0x2690], eax
mov edi, dword [esi + 0x5c]
add edi, 0x20
lea ecx, [esi + 0xb4]
mov edx, dword [esi + 0xb0]
cmp edi, edx
je 0x100974b2
mov dword [esi + 0x5c], edi
mov eax, dword [edi]
mov eax, dword [eax]
mov dword [esi + 0x14], eax
push 0x3044
push 0
push ecx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [0x10260704]
test al, 1
je 0x10096768
mov edi, dword [0x10260700]
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx + eax - 0x14]
test eax, eax
je 0x10096491
movss xmm0, dword [eax + 0x80]
movss dword [esi + 0xb4], xmm0
mov eax, dword [0x102606b4]
test al, 1
je 0x1009686e
mov edi, dword [0x102606b0]
mov eax, dword [edi + 4]
mov edi, dword [esi + 0x14]
mov ecx, dword [eax + edi + 8]
lea edx, [esi + 0xb8]
mov dword [edx + 8], ecx
movsd xmm0, qword [eax + edi]
movsd qword [edx], xmm0
mov eax, dword [0x102606bc]
test al, 1
je 0x10096974
mov edi, dword [0x102606b8]
mov eax, dword [edi + 4]
mov edi, dword [esi + 0x14]
mov ecx, dword [eax + edi + 8]
lea edx, [esi + 0xc4]
mov dword [edx + 8], ecx
movsd xmm0, qword [eax + edi]
movsd qword [edx], xmm0
mov eax, dword [0x102606c4]
test al, 1
je 0x10096a3e
mov edi, dword [0x102606c0]
mov eax, dword [edi + 4]
mov edi, dword [esi + 0x14]
mov ecx, dword [eax + edi + 8]
lea edx, [esi + 0xd0]
mov dword [edx + 8], ecx
movsd xmm0, qword [eax + edi]
movsd qword [edx], xmm0
mov eax, dword [0x102606cc]
test al, 1
je 0x10096b44
mov edi, dword [0x102606c8]
mov eax, dword [edi + 4]
mov edi, dword [esi + 0x14]
mov ecx, dword [eax + edi + 8]
lea edx, [esi + 0xdc]
mov dword [edx + 8], ecx
movsd xmm0, qword [eax + edi]
movsd qword [edx], xmm0
mov eax, dword [edi + 0x26ac]
mov dword [esi + 0x30ec], eax
mov eax, dword [edi + 0x26b0]
mov dword [esi + 0x30f0], eax
mov eax, dword [edi + 0x291c]
shl eax, 4
lea eax, [eax + eax*2]
push eax
push dword [edi + 0x2910]
lea eax, [esi + 0xe8]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x291c]
mov dword [esi + 0x30e8], eax
mov eax, dword [edi + 0x2690]
mov dword [esi + 0x30f4], eax
mov ecx, dword [esi + 0x5c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, dword [ecx + 0x18]
mov dword [esi + 0xc], edx
mov eax, dword [eax]
mov dword [esi + 0x14], eax
mov eax, dword [0x102606b4]
test al, 1
mov dword [esi + 0x10], ecx
je 0x10096c4a
mov edi, dword [0x102606b0]
mov dword [esi + 0x3108], 0xffffffff
lea eax, [ecx + 0x6c]
mov ecx, dword [edi + 4]
mov edx, dword [eax + 8]
mov edi, dword [esi + 0x14]
mov dword [ecx + edi + 8], edx
movsd xmm0, qword [eax]
movsd qword [ecx + edi], xmm0
mov edx, dword [0x1025adc8]
mov ecx, edi
push eax
call dword [edx + 0x18]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xc]
test eax, eax
je 0x1009661e
mov ecx, dword [esi + 0x10]
lea edx, [ecx + 0x78]
lea edi, [ecx + 0x84]
mov ebx, dword [0x1025adc8]
mov ecx, eax
push edi
push edx
call dword [ebx + 0x28]
lea ebx, [esi + 0x60]
mov eax, dword [esi + 0x10]
mov edi, dword [esi + 0xc]
cmp edi, 2
jg 0x10096650
ja 0x10097634
mov edx, ebx
mov ecx, eax
imul eax, edi, 0x32e0
lea edi, [ecx + eax]
add edi, 0x3c8
jmp 0x1009666f
add edi, 0xfffffffd
cmp edi, 2
jae 0x10097639
mov edx, ebx
mov ecx, eax
imul eax, edi, 0x32e0
lea edi, [ecx + eax]
add edi, 0x9c68
movss xmm0, dword [edi + 0x3004]
mov dword [esi + 0x60], 0
movss dword [esi + 0x64], xmm0
mov dword [esi + 0x68], 0
mov eax, dword [0x1025adc8]
mov ebx, dword [esi + 0x14]
mov ecx, ebx
push edx
call dword [eax + 0x14]
mov eax, dword [edi + 0x3000]
shl eax, 4
lea eax, [eax + eax*2]
push eax
push edi
push dword [ebx + 0x2910]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [0x1025adc8]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 0xa]
mov eax, dword [eax]
mov dword [ebx + 0x2690], eax
mov ebx, dword [esi + 0x5c]
mov edi, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
mov dword [esi + 0x14], eax
cmp edi, eax
je 0x100966f1
nop word [eax + eax]
push 0
push edi
push ebx
call fcn.1008b260
add edi, 0x3c
cmp edi, dword [esi + 0x14]
jne 0x100966e0
mov eax, dword [ebx]
mov eax, dword [eax]
mov dword [esi + 0x14], eax
mov eax, dword [0x102606b4]
test al, 1
je 0x10096d56
mov edi, dword [0x102606b0]
lea ebx, [esi + 0x60]
mov eax, dword [edi + 4]
lea edx, [esi + 0xb8]
mov ecx, dword [edx + 8]
mov edi, dword [esi + 0x14]
mov dword [eax + edi + 8], ecx
movsd xmm0, qword [edx]
movsd qword [eax + edi], xmm0
mov eax, dword [0x1025adc8]
mov ecx, edi
lea edx, [esi + 0xc4]
push edx
call dword [eax + 0x18]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xc]
test eax, eax
je 0x100963c0
mov edx, dword [0x1025adc8]
mov ecx, eax
lea eax, [esi + 0xdc]
push eax
lea eax, [esi + 0xd0]
push eax
call dword [edx + 0x28]
jmp 0x100963c0
or eax, 1
mov dword [0x10260704], eax
mov eax, 0x70c43ced
mov ecx, 0x985f7526
mov dword [esi + 0x24], eax
mov dword [esi + 0x20], ecx
mov eax, 0x9fa1299b
mov ecx, 0xe8f03540
mov dword [esi + 0x2c], eax
mov dword [esi + 0x28], ecx
mov eax, 0x8837fafe
mov ecx, 0xdf666a4
mov dword [esi + 0x34], eax
mov dword [esi + 0x30], ecx
mov ecx, 0x4c76479e
mov eax, 0x769f34ec
mov edx, 0x15bd5d81
mov edi, 0xc80c3665
mov dword [esi + 0x64], edx
mov dword [esi + 0x60], edi
mov edx, 0xece84bc4
mov edi, 0x85ce1832
mov dword [esi + 0x6c], edx
mov dword [esi + 0x68], edi
mov edx, 0x88379e9b
mov edi, 0x7d9905f7
mov dword [esi + 0x74], edx
mov dword [esi + 0x70], edi
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov dword [esi + 0x7c], ecx
mov dword [esi + 0x78], eax
xor eax, eax
mov ecx, ebx
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [ecx]
movaps xmmword [esi + 0x20], xmm0
movaps xmm0, xmmword [esi + 0x30]
xorps xmm0, xmmword [ecx + 0x10]
mov eax, dword [0x1025adcc]
mov dword [esi + 0x1c], eax
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0x3108], 0
lea ecx, [esi + 0x80]
lea eax, [esi + 0x20]
push eax
call fcn.10015170
cmp dword [esi + 0x94], 0x10
lea eax, [esi + 0x80]
mov dword [esi + 0xc], eax
jb 0x1009683d
mov eax, dword [esi + 0x80]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x10], eax
test eax, eax
je 0x10096e59
mov eax, dword [esi + 0x10]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x18], ecx
cmp eax, 4
jae 0x10096e9f
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10096ee9
or eax, 1
mov dword [0x102606b4], eax
mov eax, 0xbb6d7426
mov ecx, 0x61d318e4
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xa8b76c5b
mov ecx, 0x9ab726fa
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0xfd66692
mov ecx, 0xe65ef9f2
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov ecx, 0x4c76479e
mov eax, 0x769f34ec
mov edx, 0x15bd5d81
mov edi, 0xc80c3665
mov dword [esi + 0x64], edx
mov dword [esi + 0x60], edi
mov edx, 0xece84bc4
mov edi, 0x85ce1832
mov dword [esi + 0x6c], edx
mov dword [esi + 0x68], edi
mov edx, 0x88379e9b
mov edi, 0x7d9905f7
mov dword [esi + 0x74], edx
mov dword [esi + 0x70], edi
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov dword [esi + 0x7c], ecx
mov dword [esi + 0x78], eax
xor eax, eax
mov ecx, ebx
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [ecx]
movaps xmmword [esi + 0x20], xmm0
movaps xmm0, xmmword [esi + 0x30]
xorps xmm0, xmmword [ecx + 0x10]
mov eax, dword [0x1025adcc]
mov dword [esi + 0x1c], eax
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0x3108], 2
lea ecx, [esi + 0x80]
lea eax, [esi + 0x20]
push eax
call fcn.10015170
cmp dword [esi + 0x94], 0x10
lea eax, [esi + 0x80]
mov dword [esi + 0xc], eax
jb 0x10096943
mov eax, dword [esi + 0x80]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x10], eax
test eax, eax
je 0x10096e63
mov eax, dword [esi + 0x10]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x18], ecx
cmp eax, 4
jae 0x10096f7a
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10096fc4
or eax, 1
mov dword [0x102606bc], eax
mov eax, dword [0x1025adcc]
mov dword [esi + 0x1c], eax
mov eax, 0xad7a6908
mov ecx, 0x66df1ce2
mov dword [esi + 0x84], ecx
mov dword [esi + 0x80], eax
mov eax, 0xe2a76a7d
mov ecx, 0xece825ad
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x88], eax
mov eax, 0x15bd5d81
mov ecx, 0xc80c3665
mov dword [esi + 0x24], eax
mov dword [esi + 0x20], ecx
mov eax, 0xece84bc4
mov ecx, 0x85ce1832
mov dword [esi + 0x2c], eax
mov dword [esi + 0x28], ecx
xor eax, eax
lea ecx, [esi + 0x20]
movaps xmm0, xmmword [esi + 0x80]
xorps xmm0, xmmword [ecx]
movaps xmmword [esi + 0x80], xmm0
mov dword [esi + 0x3108], 4
mov ecx, ebx
lea eax, [esi + 0x80]
push eax
call fcn.10015170
cmp dword [esi + 0x74], 0x10
lea eax, [esi + 0x60]
mov dword [esi + 0xc], eax
jb 0x10096a10
mov eax, dword [esi + 0x60]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x70]
mov dword [esi + 0x10], eax
test eax, eax
je 0x10096e6d
mov eax, dword [esi + 0x10]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x18], ecx
cmp eax, 4
jae 0x10097055
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x1009709f
or eax, 1
mov dword [0x102606c4], eax
mov eax, 0xbb6d7426
mov ecx, 0x61d318e4
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xa8b76c5b
mov ecx, 0x9ab726fa
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x14d46692
mov ecx, 0x8837edf5
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov ecx, 0x4c76479e
mov eax, 0x769f34ec
mov edx, 0x15bd5d81
mov edi, 0xc80c3665
mov dword [esi + 0x64], edx
mov dword [esi + 0x60], edi
mov edx, 0xece84bc4
mov edi, 0x85ce1832
mov dword [esi + 0x6c], edx
mov dword [esi + 0x68], edi
mov edx, 0x88379e9b
mov edi, 0x7d9905f7
mov dword [esi + 0x74], edx
mov dword [esi + 0x70], edi
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov dword [esi + 0x7c], ecx
mov dword [esi + 0x78], eax
xor eax, eax
mov ecx, ebx
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [ecx]
movaps xmmword [esi + 0x20], xmm0
movaps xmm0, xmmword [esi + 0x30]
xorps xmm0, xmmword [ecx + 0x10]
mov eax, dword [0x1025adcc]
mov dword [esi + 0x1c], eax
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0x3108], 6
lea ecx, [esi + 0x80]
lea eax, [esi + 0x20]
push eax
call fcn.10015170
cmp dword [esi + 0x94], 0x10
lea eax, [esi + 0x80]
mov dword [esi + 0xc], eax
jb 0x10096b13
mov eax, dword [esi + 0x80]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x10], eax
test eax, eax
je 0x10096e77
mov eax, dword [esi + 0x10]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x18], ecx
cmp eax, 4
jae 0x1009712c
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10097176
or eax, 1
mov dword [0x102606cc], eax
mov eax, 0xbb6d7426
mov ecx, 0x61d318e4
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xa8b76c5b
mov ecx, 0x9ab726fa
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x1cd46692
mov ecx, 0x8837ede3
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov ecx, 0x4c76479e
mov eax, 0x769f34ec
mov edx, 0x15bd5d81
mov edi, 0xc80c3665
mov dword [esi + 0x64], edx
mov dword [esi + 0x60], edi
mov edx, 0xece84bc4
mov edi, 0x85ce1832
mov dword [esi + 0x6c], edx
mov dword [esi + 0x68], edi
mov edx, 0x88379e9b
mov edi, 0x7d9905f7
mov dword [esi + 0x74], edx
mov dword [esi + 0x70], edi
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov dword [esi + 0x7c], ecx
mov dword [esi + 0x78], eax
xor eax, eax
mov ecx, ebx
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [ecx]
movaps xmmword [esi + 0x20], xmm0
movaps xmm0, xmmword [esi + 0x30]
xorps xmm0, xmmword [ecx + 0x10]
mov eax, dword [0x1025adcc]
mov dword [esi + 0x1c], eax
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0x3108], 8
lea ecx, [esi + 0x80]
lea eax, [esi + 0x20]
push eax
call fcn.10015170
cmp dword [esi + 0x94], 0x10
lea eax, [esi + 0x80]
mov dword [esi + 0xc], eax
jb 0x10096c19
mov eax, dword [esi + 0x80]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x10], eax
test eax, eax
je 0x10096e81
mov eax, dword [esi + 0x10]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x18], ecx
cmp eax, 4
jae 0x10097207
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x10097251
or eax, 1
mov dword [0x102606b4], eax
mov eax, 0xbb6d7426
mov ecx, 0x61d318e4
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xa8b76c5b
mov ecx, 0x9ab726fa
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0xfd66692
mov ecx, 0xe65ef9f2
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov ecx, 0x4c76479e
mov eax, 0x769f34ec
mov edx, 0x15bd5d81
mov edi, 0xc80c3665
mov dword [esi + 0x64], edx
mov dword [esi + 0x60], edi
mov edx, 0xece84bc4
mov edi, 0x85ce1832
mov dword [esi + 0x6c], edx
mov dword [esi + 0x68], edi
mov edx, 0x88379e9b
mov edi, 0x7d9905f7
mov dword [esi + 0x74], edx
mov dword [esi + 0x70], edi
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov dword [esi + 0x7c], ecx
mov dword [esi + 0x78], eax
xor eax, eax
mov ecx, ebx
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [ecx]
movaps xmmword [esi + 0x20], xmm0
movaps xmm0, xmmword [esi + 0x30]
xorps xmm0, xmmword [ecx + 0x10]
mov eax, dword [0x1025adcc]
mov dword [esi + 0xa8], eax
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0x3108], 0xa
lea ecx, [esi + 0x80]
lea eax, [esi + 0x20]
push eax
call fcn.10015170
cmp dword [esi + 0x94], 0x10
lea eax, [esi + 0x80]
mov dword [esi + 0x18], eax
jb 0x10096d22
mov eax, dword [esi + 0x80]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x1c], eax
test eax, eax
je 0x10096e8b
mov eax, dword [esi + 0x1c]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xa4], ecx
cmp eax, 4
jae 0x100972e2
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x1009732c
or eax, 1
mov dword [0x102606b4], eax
mov eax, 0xbb6d7426
mov ecx, 0x61d318e4
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xa8b76c5b
mov ecx, 0x9ab726fa
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0xfd66692
mov ecx, 0xe65ef9f2
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov ecx, 0x4c76479e
mov eax, 0x769f34ec
mov edx, 0x15bd5d81
mov edi, 0xc80c3665
mov dword [esi + 0x64], edx
mov dword [esi + 0x60], edi
mov edx, 0xece84bc4
mov edi, 0x85ce1832
mov dword [esi + 0x6c], edx
mov dword [esi + 0x68], edi
mov edx, 0x88379e9b
mov edi, 0x7d9905f7
mov dword [esi + 0x74], edx
mov dword [esi + 0x70], edi
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov dword [esi + 0x7c], ecx
mov dword [esi + 0x78], eax
xor eax, eax
lea ecx, [esi + 0x60]
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [ecx]
movaps xmmword [esi + 0x20], xmm0
movaps xmm0, xmmword [esi + 0x30]
xorps xmm0, xmmword [ecx + 0x10]
mov eax, dword [0x1025adcc]
mov dword [esi + 0x1c], eax
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0x3108], 0xc
lea ecx, [esi + 0x80]
lea eax, [esi + 0x20]
push eax
call fcn.10015170
cmp dword [esi + 0x94], 0x10
lea eax, [esi + 0x80]
mov dword [esi + 0xc], eax
jb 0x10096e2c
mov eax, dword [esi + 0x80]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x10], eax
test eax, eax
je 0x10096e95
mov eax, dword [esi + 0x10]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x18], ecx
cmp eax, 4
jae 0x100973d0
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x1009741a
mov ecx, 0x811c9dc5
jmp 0x10096f06
mov ecx, 0x811c9dc5
jmp 0x10096fe1
mov ecx, 0x811c9dc5
jmp 0x100970bc
mov ecx, 0x811c9dc5
jmp 0x10097193
mov ecx, 0x811c9dc5
jmp 0x1009726e
mov ecx, 0x811c9dc5
jmp 0x1009734c
mov ecx, 0x811c9dc5
jmp 0x10097437
mov edi, dword [esi + 0x10]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0xc]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x10096eaf
mov eax, dword [esi + 0x18]
test eax, eax
je 0x10096f06
add edx, dword [esi + 0xc]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp eax, edi
jne 0x10096ef5
mov edx, dword [esi + 0x1c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
mov edx, dword [esi + 0x10]
je 0x10097689
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp edx, dword [edi + 0x18]
jne 0x10096f4c
cmp dword [edi + 0x1c], 0x10
jb 0x10096f34
mov eax, dword [edi + 8]
jmp 0x10096f37
lea eax, [edi + 8]
mov ecx, dword [esi + 0xc]
push edx
push eax
push ecx
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esi + 0x10]
add esp, 0xc
test eax, eax
je 0x10096f5e
cmp edi, ebx
je 0x10097689
mov edi, dword [edi + 4]
cmp edx, dword [edi + 0x18]
je 0x10096f29
jmp 0x10096f4c
add edi, 0x20
lea ecx, [esi + 0x80]
call fcn.10015110
mov dword [0x10260700], edi
lea ebx, [esi + 0x60]
jmp 0x10096473
mov edi, dword [esi + 0x10]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0xc]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x10096f8a
mov eax, dword [esi + 0x18]
test eax, eax
je 0x10096fe1
add edx, dword [esi + 0xc]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp eax, edi
jne 0x10096fd0
mov edx, dword [esi + 0x1c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
mov edx, dword [esi + 0x10]
je 0x100976a0
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp edx, dword [edi + 0x18]
jne 0x10097027
cmp dword [edi + 0x1c], 0x10
jb 0x1009700f
mov eax, dword [edi + 8]
jmp 0x10097012
lea eax, [edi + 8]
mov ecx, dword [esi + 0xc]
push edx
push eax
push ecx
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esi + 0x10]
add esp, 0xc
test eax, eax
je 0x10097039
cmp edi, ebx
je 0x100976a0
mov edi, dword [edi + 4]
cmp edx, dword [edi + 0x18]
je 0x10097004
jmp 0x10097027
add edi, 0x20
lea ecx, [esi + 0x80]
call fcn.10015110
mov dword [0x102606b0], edi
lea ebx, [esi + 0x60]
jmp 0x100964a4
mov edi, dword [esi + 0x10]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0xc]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x10097065
mov eax, dword [esi + 0x18]
test eax, eax
je 0x100970bc
add edx, dword [esi + 0xc]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp eax, edi
jne 0x100970ab
mov edx, dword [esi + 0x1c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
mov edx, dword [esi + 0x10]
je 0x100976b7
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp edx, dword [edi + 0x18]
jne 0x10097102
cmp dword [edi + 0x1c], 0x10
jb 0x100970ea
mov eax, dword [edi + 8]
jmp 0x100970ed
lea eax, [edi + 8]
mov ecx, dword [esi + 0xc]
push edx
push eax
push ecx
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esi + 0x10]
add esp, 0xc
test eax, eax
je 0x10097114
cmp edi, ebx
je 0x100976b7
mov edi, dword [edi + 4]
cmp edx, dword [edi + 0x18]
je 0x100970df
jmp 0x10097102
add edi, 0x20
lea ebx, [esi + 0x60]
mov ecx, ebx
call fcn.10015110
mov dword [0x102606b8], edi
jmp 0x100964d3
mov edi, dword [esi + 0x10]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0xc]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x1009713c
mov eax, dword [esi + 0x18]
test eax, eax
je 0x10097193
add edx, dword [esi + 0xc]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp eax, edi
jne 0x10097182
mov edx, dword [esi + 0x1c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
mov edx, dword [esi + 0x10]
je 0x100976ce
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp edx, dword [edi + 0x18]
jne 0x100971d9
cmp dword [edi + 0x1c], 0x10
jb 0x100971c1
mov eax, dword [edi + 8]
jmp 0x100971c4
lea eax, [edi + 8]
mov ecx, dword [esi + 0xc]
push edx
push eax
push ecx
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esi + 0x10]
add esp, 0xc
test eax, eax
je 0x100971eb
cmp edi, ebx
je 0x100976ce
mov edi, dword [edi + 4]
cmp edx, dword [edi + 0x18]
je 0x100971b6
jmp 0x100971d9
add edi, 0x20
lea ecx, [esi + 0x80]
call fcn.10015110
mov dword [0x102606c0], edi
lea ebx, [esi + 0x60]
jmp 0x10096502
mov edi, dword [esi + 0x10]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0xc]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x10097217
mov eax, dword [esi + 0x18]
test eax, eax
je 0x1009726e
add edx, dword [esi + 0xc]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp eax, edi
jne 0x1009725d
mov edx, dword [esi + 0x1c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
mov edx, dword [esi + 0x10]
je 0x1009765b
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp edx, dword [edi + 0x18]
jne 0x100972b4
cmp dword [edi + 0x1c], 0x10
jb 0x1009729c
mov eax, dword [edi + 8]
jmp 0x1009729f
lea eax, [edi + 8]
mov ecx, dword [esi + 0xc]
push edx
push eax
push ecx
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esi + 0x10]
add esp, 0xc
test eax, eax
je 0x100972c6
cmp edi, ebx
je 0x1009765b
mov edi, dword [edi + 4]
cmp edx, dword [edi + 0x18]
je 0x10097291
jmp 0x100972b4
add edi, 0x20
lea ecx, [esi + 0x80]
call fcn.10015110
mov dword [0x102606c8], edi
lea ebx, [esi + 0x60]
jmp 0x10096531
mov edi, dword [esi + 0x1c]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x18]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x100972f2
mov eax, dword [esi + 0xa4]
test eax, eax
je 0x1009734c
add edx, dword [esi + 0x18]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp eax, edi
jne 0x1009733b
mov edx, dword [esi + 0xa8]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
mov edx, dword [esi + 0x1c]
je 0x10097672
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp edx, dword [edi + 0x18]
jne 0x10097395
cmp dword [edi + 0x1c], 0x10
jb 0x1009737d
mov eax, dword [edi + 8]
jmp 0x10097380
lea eax, [edi + 8]
mov ecx, dword [esi + 0x18]
push edx
push eax
push ecx
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esi + 0x1c]
add esp, 0xc
test eax, eax
je 0x100973a7
cmp edi, ebx
je 0x10097672
mov edi, dword [edi + 4]
cmp edx, dword [edi + 0x18]
je 0x10097372
jmp 0x10097395
add edi, 0x20
lea ecx, [esi + 0x80]
call fcn.10015110
mov dword [0x102606b0], edi
mov dword [esi + 0x3108], 0xffffffff
lea ebx, [esi + 0x60]
mov ecx, dword [esi + 0x10]
jmp 0x100965d2
mov edi, dword [esi + 0x10]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0xc]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x100973e0
mov eax, dword [esi + 0x18]
test eax, eax
je 0x10097437
add edx, dword [esi + 0xc]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp eax, edi
jne 0x10097426
mov edx, dword [esi + 0x1c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
mov edx, dword [esi + 0x10]
je 0x10097644
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp edx, dword [edi + 0x18]
jne 0x1009747d
cmp dword [edi + 0x1c], 0x10
jb 0x10097465
mov eax, dword [edi + 8]
jmp 0x10097468
lea eax, [edi + 8]
mov ecx, dword [esi + 0xc]
push edx
push eax
push ecx
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esi + 0x10]
add esp, 0xc
test eax, eax
je 0x1009748f
cmp edi, ebx
je 0x10097644
mov edi, dword [edi + 4]
cmp edx, dword [edi + 0x18]
je 0x1009745a
jmp 0x1009747d
add edi, 0x20
lea ecx, [esi + 0x80]
call fcn.10015110
mov dword [0x102606b0], edi
mov dword [esi + 0x3108], 0xffffffff
jmp 0x1009670b
mov eax, dword [esi + 0xa0]
mov edi, dword [eax + 0x9c]
mov eax, dword [eax + 0xa0]
mov edx, eax
mov dword [esi + 0x5c], eax
cmp edi, eax
je 0x1009760a
mov ebx, dword [esi + 0x5c]
nop word cs:[eax + eax]
push edi
call fcn.10090b80
test al, al
je 0x100974f8
add edi, 0x20
cmp edi, ebx
jne 0x100974e0
mov edx, ebx
jmp 0x1009760a
cmp edi, ebx
je 0x10097608
mov eax, ebx
lea ebx, [edi + 0x20]
mov edx, edi
cmp ebx, eax
jne 0x1009751f
jmp 0x1009760a
mov edx, dword [esi + 0x14]
add ebx, 0x20
cmp ebx, dword [esi + 0x5c]
je 0x1009760a
mov dword [esi + 0x14], edx
push ebx
call fcn.10090b80
test al, al
je 0x10097510
mov eax, dword [ebx]
mov edx, dword [esi + 0x14]
mov dword [edx], eax
movsd xmm0, qword [ebx + 4]
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov edi, dword [edx + 8]
movsd qword [edx + 4], xmm0
test edi, edi
je 0x10097580
lock dec dword [edi + 4]
jne 0x10097580
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov edx, dword [esi + 0x14]
lock dec dword [edi + 8]
jne 0x10097580
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov edx, dword [esi + 0x14]
nop word cs:[eax + eax]
cmp ebx, edx
je 0x100975f6
mov ecx, dword [edx + 0xc]
test ecx, ecx
je 0x100975cf
mov eax, dword [edx + 0x14]
sub eax, ecx
cmp eax, 0x1000
jb 0x100975ad
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1009763e
add eax, 0x23
mov ecx, edx
push eax
push ecx
call fcn.10157950
add esp, 8
mov edx, dword [esi + 0x14]
mov dword [edx + 0xc], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov eax, dword [ebx + 0xc]
mov dword [edx + 0xc], eax
mov eax, dword [ebx + 0x10]
mov dword [edx + 0x10], eax
mov eax, dword [ebx + 0x14]
mov dword [edx + 0x14], eax
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x14], 0
movsd xmm0, qword [ebx + 0x18]
movsd qword [edx + 0x18], xmm0
add edx, 0x20
jmp 0x10097513
mov edx, edi
mov ecx, dword [esi + 0xac]
push dword [esi + 0x5c]
push edx
lea eax, [esi + 0xb4]
push eax
call fcn.100978b0
mov eax, dword [esi + 0x3100]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.1009f460
call fcn.1009f460
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov dword [esi + 0x3108], 0xd
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0x3108], 9
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0x3108], 0xb
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0x3108], 1
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0x3108], 3
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0x3108], 5
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0x3108], 7
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
nop word cs:[eax + eax]
push ebp
sub esp, 0x10
lea esi, [ebp - 0x310c]
mov ebp, dword [esi + 0x30f8]
lea ecx, [esi + 0x80]
call fcn.10015110
add esp, 0x10
pop ebp
ret