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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xffffffe0
sub esp, 0x1a0
mov esi, esp
mov dword [esi + 0x178], ebp
mov edx, dword [ebp + 8]
mov dword [esi + 0x17c], esp
mov dword [esi + 0x188], 0xffffffff
lea eax, [esi + 0x180]
mov dword [esi + 0x184], 0x100a0750
mov ecx, dword fs:[0]
mov dword [esi + 0x180], ecx
mov dword fs:[0], eax
mov eax, dword [edx]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x294c]
mov eax, dword [eax]
mov dword [esi + 0x58], eax
mov eax, dword [0x102606ac]
test al, 1
je 0x1008b95a
mov ebx, dword [0x102606a8]
mov eax, dword [ebx + 4]
mov eax, dword [eax + ecx]
mov dword [esi + 0x12c], eax
mov eax, dword [esi + 0x58]
add eax, dword [eax + 0xb0]
mov dword [esi + 0x58], eax
mov ecx, dword [0x1025ae10]
mov dword [esi + 0x13c], 0
xorps xmm0, xmm0
movlps qword [esi + 0x134], xmm0
mov eax, dword [ecx]
lea edx, [esi + 0x134]
mov dword [esp], edx
call dword [eax + 0x48]
sub esp, 4
mov eax, dword [0x1025adc8]
mov dword [esi + 0x4c], eax
mov edx, dword [eax + 0x1d8]
mov eax, dword [0x1025af40]
test al, 1
je 0x1008ba8a
mov ebx, dword [0x1025af3c]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebx + 4]
movzx eax, word [eax + edx]
mov word [esi + 0x5e], ax
movss xmm2, dword [ecx + 8]
mov eax, dword [esi + 0x4c]
subss xmm2, dword [eax + 0x198]
movss xmm1, dword [ecx]
movss xmm0, dword [ecx + 4]
subss xmm0, dword [eax + 0x194]
subss xmm1, dword [eax + 0x190]
movss dword [esi + 0x44], xmm0
mulss xmm0, xmm0
movss dword [esi + 0x48], xmm1
mulss xmm1, xmm1
addss xmm1, xmm0
movss dword [esi + 0x40], xmm2
movaps xmm0, xmm2
mulss xmm0, xmm2
addss xmm0, xmm1
cvtss2sd xmm0, xmm0
xorps xmm1, xmm1
ucomisd xmm0, xmm1
jb 0x1008b3a3
sqrtsd xmm0, xmm0
jmp 0x1008b3bb
movsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
fstp qword [esi + 0x170]
movsd xmm0, qword [esi + 0x170]
movsd qword [esi + 0x50], xmm0
movss xmm0, dword [esi + 0x134]
mulss xmm0, dword [0x101b173c]
cvtss2sd xmm0, xmm0
movsd qword [esi + 0x118], xmm0
movsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
fstp qword [esi + 0x168]
movsd xmm0, qword [esi + 0x168]
movsd qword [esi + 0xa0], xmm0
movsd xmm0, qword [esi + 0x118]
movsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
fstp qword [esi + 0x160]
movsd xmm0, qword [esi + 0x160]
movsd qword [esi + 0x118], xmm0
movss xmm0, dword [esi + 0x138]
mulss xmm0, dword [0x101b173c]
cvtss2sd xmm0, xmm0
movsd qword [esi + 0x120], xmm0
movsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
fstp qword [esi + 0x158]
movsd xmm0, qword [esi + 0x158]
movsd qword [esi + 0x148], xmm0
movsd xmm0, qword [esi + 0x120]
movsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
movss xmm1, dword [0x101b173c]
fstp qword [esi + 0x150]
mulss xmm1, dword [esi + 0x13c]
movsd xmm4, qword [esi + 0x150]
ucomiss xmm1, dword [0x101b1740]
jae 0x1008b916
movss xmm0, dword [0x101b1744]
ucomiss xmm0, xmm1
jae 0x1008b916
movsd xmm0, qword [esi + 0x50]
cvtsd2ss xmm0, xmm0
xorps xmm2, xmm2
movaps xmm1, xmm0
cmpneqss xmm1, xmm2
andps xmm0, xmm1
movss xmm2, dword [0x101a8280]
andnps xmm1, xmm2
orps xmm1, xmm0
movsd xmm0, qword [esi + 0xa0]
cvtsd2ss xmm0, xmm0
movss xmm3, dword [esi + 0x40]
divss xmm3, xmm1
mulss xmm3, xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm4
movss xmm4, dword [esi + 0x44]
divss xmm4, xmm1
movss xmm2, dword [esi + 0x48]
divss xmm2, xmm1
movsd xmm1, qword [esi + 0x118]
cvtsd2ss xmm1, xmm1
mulss xmm0, xmm1
mulss xmm0, xmm2
movsd xmm2, qword [esi + 0x148]
cvtsd2ss xmm2, xmm2
mulss xmm2, xmm1
mulss xmm2, xmm4
addss xmm2, xmm0
subss xmm2, xmm3
xorps xmm0, xmm0
cvtss2sd xmm0, xmm2
movsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_acos
fstp dword [esi + 0x130]
movss xmm0, dword [esi + 0x130]
mulss xmm0, dword [0x101b1748]
mov eax, dword [0x1025adc4]
xorps xmm1, xmm1
cvtsi2ss xmm1, dword [eax + 0xc8]
xorps xmm2, xmm2
maxss xmm2, xmm0
ucomiss xmm2, xmm1
ja 0x1008b900
xor eax, eax
cmp word [esi + 0x5e], 0x1f
sete al
mov ecx, dword [esi + 0x4c]
movss xmm0, dword [ecx + 0x190]
movss xmm1, dword [ecx + 0x194]
movss xmm2, dword [ecx + 0x198]
mov ecx, dword [0x1025adc8]
mov edx, dword [ecx + 0x1dc]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov edi, dword [ecx]
mov ecx, dword [0x1025ae04]
mov ebx, dword [ecx]
mov dword [esi + 0x188], 0xffffffff
mov ecx, dword [0x1025ade4]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
mov dword [esp + 8], edi
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x20], edi
movss dword [esp + 0x1c], xmm2
movss dword [esp + 0x18], xmm1
movss dword [esp + 0x14], xmm0
mov dword [esp + 4], ebx
lea ebx, [esi + 0xc0]
mov dword [esp], ebx
call fcn.100bf4b0
sub esp, 0x24
movsd xmm0, qword [esi + 0xd0]
movsd qword [edi + 0x1c], xmm0
movups xmm0, xmmword [esi + 0xc0]
movups xmmword [edi + 0xc], xmm0
cmp dword [edi + 0x30], 0
jne 0x1008b631
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x18], 1
jne 0x1008b900
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x10], 0
jle 0x1008b900
mov eax, dword [0x1025adc4]
cmp byte [eax + 0xb0], 0
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x1c]
jne 0x1008b65b
cmp ecx, 4
jl 0x1008b900
cmp byte [ebp + 0x10], 0
jne 0x1008b6f8
xor edx, edx
cmp ecx, 4
setne dl
mov edi, dword [eax + edx*8 + 0xac]
mov ecx, dword [eax + 0xb8]
mov eax, dword [eax + 0xbc]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.10087260
test al, al
je 0x1008b69b
mov eax, dword [0x1025adc4]
mov edi, dword [eax + 0xc0]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [0x1025af58]
test al, 1
je 0x1008bf26
mov ebx, dword [0x1025af54]
mov eax, dword [ebx + 4]
mov ecx, dword [eax + ecx]
add ecx, 5
cmp ecx, edi
cmovge ecx, edi
cmp word [esi + 0x5e], 0x1f
lea ebx, [esi + 0xc0]
jne 0x1008b6ec
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov edx, dword [ecx]
mov ecx, dword [0x1025af58]
test cl, 1
je 0x1008c05f
mov ecx, dword [eax + edx]
add ecx, 5
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x10], ecx
jl 0x1008b900
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [0x1025af50]
test al, 1
je 0x1008be03
mov ebx, dword [0x1025af4c]
mov eax, dword [ebx + 4]
test byte [eax + ecx + 1], 2
jne 0x1008b8f2
mov eax, dword [esi + 0x12c]
lea eax, [eax + eax*2]
mov edx, dword [esi + 0x58]
lea edi, [edx + eax*4]
mov ecx, dword [ebp + 8]
mov ebx, dword [ecx + 4]
add edi, dword [edx + eax*4 + 8]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x30]
mov ecx, eax
shl ecx, 6
lea eax, [ecx + eax*4]
mov dword [esi + 0x58], eax
mov edx, dword [edi + eax]
mov ecx, edx
shl ecx, 4
lea eax, [ecx + ecx*2]
movss xmm4, dword [ebx + eax + 0x3d4]
movss xmm0, dword [ebx + eax + 0x36b4]
ucomiss xmm4, xmm0
jne 0x1008b772
jnp 0x1008b8e3
lea ecx, [ebx + 0x6988]
lea edx, [edx + edx*2]
shl edx, 4
mov dword [esi + 0x40], ecx
movss xmm1, dword [ecx + edx + 0xc]
ucomiss xmm4, xmm1
jne 0x1008b792
jnp 0x1008b8e3
lea ecx, [ebx + 0x9c68]
mov dword [esi + 0x44], ecx
movss xmm2, dword [ecx + edx + 0xc]
ucomiss xmm4, xmm2
jne 0x1008b7ac
jnp 0x1008b8e3
lea ecx, [ebx + 0xcf48]
movss xmm3, dword [ecx + edx + 0xc]
ucomiss xmm4, xmm3
jne 0x1008b7c3
jnp 0x1008b8e3
ucomiss xmm0, xmm2
jne 0x1008b7ce
jnp 0x1008b8e3
ucomiss xmm0, xmm3
jne 0x1008b7d9
jnp 0x1008b8e3
ucomiss xmm0, xmm1
jne 0x1008b7e4
jnp 0x1008b8e3
ucomiss xmm1, xmm2
jne 0x1008b7ef
jnp 0x1008b8e3
ucomiss xmm1, xmm3
jne 0x1008b7fa
jnp 0x1008b8e3
ucomiss xmm2, xmm3
jne 0x1008b805
jnp 0x1008b8e3
mov dword [esi + 0x48], ecx
mov ecx, dword [esi + 0x4c]
add ecx, 0x190
add edi, dword [esi + 0x58]
add eax, ebx
add eax, 0x3c8
add ebx, 0x36a8
mov dword [esp + 4], eax
mov dword [esp], edi
mov dword [esi + 0x4c], ecx
mov edx, dword [ebp + 0xc]
call fcn.1008aad0
test al, al
je 0x1008b84c
mov eax, dword [ebp + 0xc]
movq xmm0, qword [eax + 0x28]
pcmpeqd xmm1, xmm1
psubd xmm0, xmm1
movq qword [eax + 0x28], xmm0
mov eax, dword [edi]
lea eax, [eax + eax*2]
shl eax, 4
add ebx, eax
mov dword [esp], edi
mov dword [esp + 4], ebx
mov ecx, dword [esi + 0x4c]
mov ebx, dword [ebp + 0xc]
mov edx, ebx
call fcn.1008aad0
test al, al
je 0x1008b871
inc dword [ebx + 0x28]
mov eax, dword [edi]
lea eax, [eax + eax*2]
shl eax, 4
mov ecx, dword [esi + 0x40]
add ecx, eax
mov dword [esp], edi
mov dword [esp + 4], ecx
mov ecx, dword [esi + 0x4c]
mov edx, ebx
call fcn.1008aad0
test al, al
je 0x1008b896
inc dword [ebx + 0x28]
mov eax, dword [edi]
lea eax, [eax + eax*2]
shl eax, 4
mov ecx, dword [esi + 0x44]
add ecx, eax
mov dword [esp], edi
mov dword [esp + 4], ecx
mov ecx, dword [esi + 0x4c]
mov edx, ebx
call fcn.1008aad0
test al, al
je 0x1008b8bb
inc dword [ebx + 0x2c]
mov eax, dword [edi]
lea eax, [eax + eax*2]
shl eax, 4
mov ecx, dword [esi + 0x48]
add ecx, eax
mov dword [esp], edi
mov dword [esp + 4], ecx
mov ecx, dword [esi + 0x4c]
mov edx, ebx
call fcn.1008aad0
test al, al
je 0x1008b8e3
mov eax, dword [ebp + 0xc]
inc dword [eax + 0x2c]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x28]
cmp eax, dword [ecx + 0x38]
setge byte [ecx + 0x25]
jmp 0x1008b900
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x28], 3
mov byte [eax + 0x25], 1
mov eax, dword [esi + 0x180]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0xc
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
movsd qword [esi + 0x140], xmm0
movsd qword [esp], xmm0
movsd qword [esi + 0x120], xmm4
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
fstp st(0)
movsd xmm0, qword [esi + 0x140]
movsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
fstp st(0)
movsd xmm4, qword [esi + 0x120]
jmp 0x1008b4ae
mov dword [esi + 0x50], ecx
or eax, 1
mov dword [0x102606ac], eax
mov eax, dword [0x1025adcc]
mov dword [esi + 0x48], eax
mov eax, 0xbb6d7426
mov ecx, 0x7cd31ce4
mov dword [esi + 0x64], ecx
mov dword [esi + 0x60], eax
mov eax, 0xecba795f
mov ecx, 0xd2c52caa
mov dword [esi + 0x6c], ecx
mov dword [esi + 0x68], eax
mov eax, 0x35f75a9a
mov ecx, 0xe755eaf2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x70], eax
mov ecx, 0x2fa6794
mov eax, 0x4c76479e
mov edx, 0x4c76479e
mov dword [esi + 0x7c], edx
mov dword [esi + 0x78], ecx
mov ecx, 0xc80c3665
mov edx, 0x15bd5d81
mov dword [esi + 0xc4], edx
mov dword [esi + 0xc0], ecx
mov ecx, 0x85ce1832
mov edx, 0xece84bc4
mov dword [esi + 0xcc], edx
mov dword [esi + 0xc8], ecx
mov ecx, 0x7d9905f7
mov edx, 0x88379e9b
mov dword [esi + 0xd4], edx
mov dword [esi + 0xd0], ecx
mov ecx, 0x769f34ec
mov dword [esi + 0xdc], eax
mov dword [esi + 0xd8], ecx
lea eax, [esi + 0xc0]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x60]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x60], xmm0
movaps xmm0, xmmword [esi + 0x70]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0x70], xmm0
mov dword [esi + 0x188], 0
lea eax, [esi + 0x60]
mov dword [esp], eax
lea ecx, [esi + 0xa8]
mov dword [esi + 0x40], ecx
call fcn.10015170
sub esp, 4
mov eax, dword [esi + 0xb8]
mov dword [esi + 0x4c], eax
cmp dword [esi + 0xbc], 0x10
jb 0x1008ba60
mov eax, dword [esi + 0xa8]
mov dword [esi + 0x40], eax
cmp dword [esi + 0x4c], 0
je 0x1008bc2f
mov eax, dword [esi + 0x4c]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x44], ecx
cmp eax, 4
jae 0x1008bc40
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x1008bc8a
mov dword [esi + 0xa0], edx
or eax, 1
mov dword [0x1025af40], eax
mov eax, dword [0x1025adcc]
mov dword [esi + 0x50], eax
mov eax, 0xbb6d7426
mov ecx, 0x61c91ce4
mov dword [esi + 0xc4], ecx
mov dword [esi + 0xc0], eax
mov eax, 0xf0ac7140
mov ecx, 0x808a2ab0
mov dword [esi + 0xcc], ecx
mov dword [esi + 0xc8], eax
mov eax, 0x18ed4c92
mov ecx, 0xe509b3f6
mov dword [esi + 0xd4], ecx
mov dword [esi + 0xd0], eax
mov eax, 0x2d65db3
mov ecx, 0x29322afb
mov dword [esi + 0xdc], ecx
mov dword [esi + 0xd8], eax
mov eax, 0x88b4cf4f
mov ecx, 0xc0e8e229
mov dword [esi + 0xe4], ecx
mov dword [esi + 0xe0], eax
mov eax, 0x1d1b372f
mov ecx, 0xda6d6138
mov dword [esi + 0xec], ecx
mov dword [esi + 0xe8], eax
mov eax, 0xc80c3665
mov ecx, 0x15bd5d81
mov dword [esi + 0x64], ecx
mov dword [esi + 0x60], eax
mov eax, 0x85ce1832
mov ecx, 0xece84bc4
mov dword [esi + 0x6c], ecx
mov dword [esi + 0x68], eax
mov eax, 0x7d9905f7
mov ecx, 0x88379e9b
mov dword [esi + 0x74], ecx
mov dword [esi + 0x70], eax
mov eax, 0x769f34ec
mov ecx, 0x4c76479e
mov dword [esi + 0x7c], ecx
mov dword [esi + 0x78], eax
mov eax, 0xe1daa629
mov ecx, 0xae878b5d
mov dword [esi + 0x84], ecx
mov dword [esi + 0x80], eax
mov eax, 0x787f5966
mov ecx, 0xda6d6140
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x88], eax
lea eax, [esi + 0x60]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0xc0]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0xc0], xmm0
movaps xmm0, xmmword [esi + 0xd0]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0xd0], xmm0
movaps xmm0, xmmword [esi + 0xe0]
xorps xmm0, xmmword [eax + 0x20]
movaps xmmword [esi + 0xe0], xmm0
mov dword [esi + 0x188], 2
lea eax, [esi + 0xc0]
mov dword [esp], eax
lea ecx, [esi + 0xa8]
mov dword [esi + 0x44], ecx
call fcn.10015170
sub esp, 4
mov eax, dword [esi + 0xb8]
mov dword [esi + 0x40], eax
cmp dword [esi + 0xbc], 0x10
jb 0x1008bc09
mov eax, dword [esi + 0xa8]
mov dword [esi + 0x44], eax
cmp dword [esi + 0x40], 0
je 0x1008bc36
mov eax, dword [esi + 0x40]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x48], ecx
cmp eax, 4
jae 0x1008bd25
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x1008bd6f
mov ecx, 0x811c9dc5
jmp 0x1008bca7
mov ecx, 0x811c9dc5
jmp 0x1008bd8c
mov edi, dword [esi + 0x4c]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x40]
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 0x1008bc50
cmp dword [esi + 0x44], 0
je 0x1008bca7
add edx, dword [esi + 0x40]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x44], edi
jne 0x1008bc95
mov edx, dword [esi + 0x48]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x1008c43c
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x4c]
cmp eax, dword [ebx + 0x18]
jne 0x1008bcf2
cmp dword [ebx + 0x1c], 0x10
jb 0x1008bcd5
mov eax, dword [ebx + 8]
jmp 0x1008bcd8
lea eax, [ebx + 8]
mov ecx, dword [esi + 0x4c]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [esi + 0x40]
mov dword [esp], eax
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1008bcff
cmp ebx, edi
je 0x1008c43c
mov ebx, dword [ebx + 4]
jmp 0x1008bcc2
add ebx, 0x20
lea ecx, [esi + 0xa8]
call fcn.10015110
mov dword [0x102606a8], ebx
mov dword [esi + 0x188], 0xffffffff
mov ecx, dword [esi + 0x50]
jmp 0x1008b2cf
mov edi, dword [esi + 0x40]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x44]
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 0x1008bd35
cmp dword [esi + 0x48], 0
je 0x1008bd8c
add edx, dword [esi + 0x44]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x48], edi
jne 0x1008bd7a
mov edx, dword [esi + 0x50]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x1008c452
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x40]
cmp eax, dword [ebx + 0x18]
jne 0x1008bdd7
cmp dword [ebx + 0x1c], 0x10
jb 0x1008bdba
mov eax, dword [ebx + 8]
jmp 0x1008bdbd
lea eax, [ebx + 8]
mov ecx, dword [esi + 0x40]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [esi + 0x44]
mov dword [esp], eax
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1008bde4
cmp ebx, edi
je 0x1008c452
mov ebx, dword [ebx + 4]
jmp 0x1008bda7
add ebx, 0x20
lea ecx, [esi + 0xa8]
call fcn.10015110
mov dword [0x1025af3c], ebx
mov edx, dword [esi + 0xa0]
jmp 0x1008b333
mov dword [esi + 0xa0], ecx
or eax, 1
mov dword [0x1025af50], eax
mov eax, 0xbb6d7426
mov ecx, 0x74d10de4
mov dword [esi + 0x64], ecx
mov dword [esi + 0x60], eax
mov eax, 0xa8bc7d4b
mov ecx, 0x8ab726fa
mov dword [esi + 0x6c], ecx
mov dword [esi + 0x68], eax
mov eax, 0x1af869b1
mov ecx, 0x88379ee8
mov dword [esi + 0x74], ecx
mov dword [esi + 0x70], eax
mov eax, 0x769f34ec
mov ecx, 0x4c76479e
mov edx, 0xc80c3665
mov edi, 0x15bd5d81
mov dword [esi + 0xc4], edi
mov dword [esi + 0xc0], edx
mov edx, 0x85ce1832
mov edi, 0xece84bc4
mov dword [esi + 0xcc], edi
mov dword [esi + 0xc8], edx
mov edx, 0x7d9905f7
mov edi, 0x88379e9b
mov dword [esi + 0xd4], edi
mov dword [esi + 0xd0], edx
mov dword [esi + 0x7c], ecx
mov dword [esi + 0xdc], ecx
mov dword [esi + 0x78], eax
mov dword [esi + 0xd8], eax
xor eax, eax
movaps xmm0, xmmword [esi + 0x60]
xorps xmm0, xmmword [ebx]
movaps xmmword [esi + 0x60], xmm0
movaps xmm0, xmmword [esi + 0x70]
xorps xmm0, xmmword [ebx + 0x10]
mov eax, dword [0x1025adcc]
mov dword [esi + 0x50], eax
movaps xmmword [esi + 0x70], xmm0
mov dword [esi + 0x188], 8
lea eax, [esi + 0x60]
mov dword [esp], eax
lea ecx, [esi + 0xa8]
mov dword [esi + 0x44], ecx
call fcn.10015170
sub esp, 4
mov eax, dword [esi + 0xb8]
mov dword [esi + 0x40], eax
cmp dword [esi + 0xbc], 0x10
jb 0x1008befc
mov eax, dword [esi + 0xa8]
mov dword [esi + 0x44], eax
cmp dword [esi + 0x40], 0
je 0x1008c055
mov eax, dword [esi + 0x40]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x48], ecx
cmp eax, 4
jae 0x1008c185
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x1008c1cf
mov dword [esi + 0x118], ecx
mov dword [esi + 0xa0], edi
or eax, 1
mov dword [0x1025af58], eax
mov eax, 0xbb6d7426
mov ecx, 0x74d10de4
mov dword [esi + 0x64], ecx
mov dword [esi + 0x60], eax
mov eax, 0xa8bc7d4b
mov ecx, 0x85b726fa
mov dword [esi + 0x6c], ecx
mov dword [esi + 0x68], eax
mov eax, 0x11f860bf
mov ecx, 0x8837f6ef
mov dword [esi + 0x74], ecx
mov dword [esi + 0x70], eax
mov eax, 0x769f34ec
mov ecx, 0x4c76479e
mov edx, 0xc80c3665
mov edi, 0x15bd5d81
mov dword [esi + 0xc4], edi
mov dword [esi + 0xc0], edx
mov edx, 0x85ce1832
mov edi, 0xece84bc4
mov dword [esi + 0xcc], edi
mov dword [esi + 0xc8], edx
mov edx, 0x7d9905f7
mov edi, 0x88379e9b
mov dword [esi + 0xd4], edi
mov dword [esi + 0xd0], edx
mov dword [esi + 0x7c], ecx
mov dword [esi + 0x78], eax
mov dword [esi + 0xdc], ecx
mov dword [esi + 0xd8], eax
xor eax, eax
lea ecx, [esi + 0xc0]
movaps xmm0, xmmword [esi + 0x60]
xorps xmm0, xmmword [ecx]
movaps xmmword [esi + 0x60], xmm0
movaps xmm0, xmmword [esi + 0x70]
xorps xmm0, xmmword [ecx + 0x10]
mov eax, dword [0x1025adcc]
mov dword [esi + 0x50], eax
movaps xmmword [esi + 0x70], xmm0
mov dword [esi + 0x188], 4
lea eax, [esi + 0x60]
mov dword [esp], eax
lea ecx, [esi + 0xa8]
mov dword [esi + 0x44], ecx
call fcn.10015170
sub esp, 4
mov eax, dword [esi + 0xb8]
mov dword [esi + 0x40], eax
cmp dword [esi + 0xbc], 0x10
jb 0x1008c02b
mov eax, dword [esi + 0xa8]
mov dword [esi + 0x44], eax
cmp dword [esi + 0x40], 0
je 0x1008c263
mov eax, dword [esi + 0x40]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x48], ecx
cmp eax, 4
jae 0x1008c26a
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x1008c2b4
mov ecx, 0x811c9dc5
jmp 0x1008c1ec
mov dword [esi + 0xa0], edx
or ecx, 1
mov dword [0x1025af58], ecx
mov eax, 0xbb6d7426
mov ecx, 0x74d10de4
mov dword [esi + 0x64], ecx
mov dword [esi + 0x60], eax
mov eax, 0xa8bc7d4b
mov ecx, 0x85b726fa
mov dword [esi + 0x6c], ecx
mov dword [esi + 0x68], eax
mov eax, 0x11f860bf
mov ecx, 0x8837f6ef
mov dword [esi + 0x74], ecx
mov dword [esi + 0x70], eax
mov eax, 0x769f34ec
mov ecx, 0x4c76479e
mov edx, 0xc80c3665
mov edi, 0x15bd5d81
mov dword [esi + 0xc4], edi
mov dword [esi + 0xc0], edx
mov edx, 0x85ce1832
mov edi, 0xece84bc4
mov dword [esi + 0xcc], edi
mov dword [esi + 0xc8], edx
mov edx, 0x7d9905f7
mov edi, 0x88379e9b
mov dword [esi + 0xd4], edi
mov dword [esi + 0xd0], edx
mov dword [esi + 0x7c], ecx
mov dword [esi + 0x78], eax
mov dword [esi + 0xdc], ecx
mov dword [esi + 0xd8], eax
xor eax, eax
mov ecx, ebx
movaps xmm0, xmmword [esi + 0x60]
xorps xmm0, xmmword [ecx]
movaps xmmword [esi + 0x60], xmm0
movaps xmm0, xmmword [esi + 0x70]
xorps xmm0, xmmword [ecx + 0x10]
mov eax, dword [0x1025adcc]
mov dword [esi + 0x50], eax
movaps xmmword [esi + 0x70], xmm0
mov dword [esi + 0x188], 6
lea eax, [esi + 0x60]
mov dword [esp], eax
lea ecx, [esi + 0xa8]
mov dword [esi + 0x44], ecx
call fcn.10015170
sub esp, 4
mov eax, dword [esi + 0xb8]
mov dword [esi + 0x40], eax
cmp dword [esi + 0xbc], 0x10
jb 0x1008c15b
mov eax, dword [esi + 0xa8]
mov dword [esi + 0x44], eax
cmp dword [esi + 0x40], 0
je 0x1008c34e
mov eax, dword [esi + 0x40]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x48], ecx
cmp eax, 4
jae 0x1008c355
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x1008c39f
mov edi, dword [esi + 0x40]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x44]
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 0x1008c195
cmp dword [esi + 0x48], 0
je 0x1008c1ec
add edx, dword [esi + 0x44]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x48], edi
jne 0x1008c1da
mov edx, dword [esi + 0x50]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x1008c468
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x40]
cmp eax, dword [ebx + 0x18]
jne 0x1008c237
cmp dword [ebx + 0x1c], 0x10
jb 0x1008c21a
mov eax, dword [ebx + 8]
jmp 0x1008c21d
lea eax, [ebx + 8]
mov ecx, dword [esi + 0x40]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [esi + 0x44]
mov dword [esp], eax
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1008c244
cmp ebx, edi
je 0x1008c468
mov ebx, dword [ebx + 4]
jmp 0x1008c207
add ebx, 0x20
lea ecx, [esi + 0xa8]
call fcn.10015110
mov dword [0x1025af4c], ebx
mov ecx, dword [esi + 0xa0]
jmp 0x1008b712
mov ecx, 0x811c9dc5
jmp 0x1008c2d1
mov edi, dword [esi + 0x40]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x44]
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 0x1008c27a
cmp dword [esi + 0x48], 0
je 0x1008c2d1
add edx, dword [esi + 0x44]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x48], edi
jne 0x1008c2bf
mov edx, dword [esi + 0x50]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x1008c47e
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x40]
cmp eax, dword [ebx + 0x18]
jne 0x1008c31c
cmp dword [ebx + 0x1c], 0x10
jb 0x1008c2ff
mov eax, dword [ebx + 8]
jmp 0x1008c302
lea eax, [ebx + 8]
mov ecx, dword [esi + 0x40]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [esi + 0x44]
mov dword [esp], eax
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1008c329
cmp ebx, edi
je 0x1008c47e
mov ebx, dword [ebx + 4]
jmp 0x1008c2ec
add ebx, 0x20
lea ecx, [esi + 0xa8]
call fcn.10015110
mov dword [0x1025af54], ebx
mov edi, dword [esi + 0xa0]
mov ecx, dword [esi + 0x118]
jmp 0x1008b6b5
mov ecx, 0x811c9dc5
jmp 0x1008c3bc
mov edi, dword [esi + 0x40]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x44]
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 0x1008c365
cmp dword [esi + 0x48], 0
je 0x1008c3bc
add edx, dword [esi + 0x44]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x48], edi
jne 0x1008c3aa
mov edx, dword [esi + 0x50]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x1008c494
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x40]
cmp eax, dword [ebx + 0x18]
jne 0x1008c407
cmp dword [ebx + 0x1c], 0x10
jb 0x1008c3ea
mov eax, dword [ebx + 8]
jmp 0x1008c3ed
lea eax, [ebx + 8]
mov ecx, dword [esi + 0x40]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [esi + 0x44]
mov dword [esp], eax
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1008c414
cmp ebx, edi
je 0x1008c494
mov ebx, dword [ebx + 4]
jmp 0x1008c3d7
lea edi, [ebx + 0x20]
lea ecx, [esi + 0xa8]
call fcn.10015110
mov dword [0x1025af54], edi
mov eax, dword [ebx + 0x24]
lea ebx, [esi + 0xc0]
mov edx, dword [esi + 0xa0]
jmp 0x1008b6e6
mov dword [esi + 0x188], 1
mov dword [esp], str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
mov dword [esi + 0x188], 3
mov dword [esp], str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
mov dword [esi + 0x188], 9
mov dword [esp], str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
mov dword [esi + 0x188], 5
mov dword [esp], str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
mov dword [esi + 0x188], 7
mov dword [esp], str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
nop word [eax + eax]
push ebp
sub esp, 0x24
lea esi, [ebp - 0x18c]
mov ebp, dword [esi + 0x178]
lea ecx, [esi + 0xa8]
call fcn.10015110
add esp, 0x24
pop ebp
ret