Function at 0x100a9a40
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, 0x800
mov esi, esp
mov dword [esi + 0x7d8], ebp
mov dword [esi + 0xf0], ecx
mov edx, dword [ebp + 8]
mov dword [esi + 0x7dc], esp
mov dword [esi + 0x7e8], 0xffffffff
lea eax, [esi + 0x7e0]
mov dword [esi + 0x7e4], 0x100b5df0
mov ecx, dword fs:[0]
mov dword [esi + 0x7e0], ecx
mov dword fs:[0], eax
mov edi, dword [edx]
mov eax, dword [0x10260704]
test al, 1
je 0x100aabfe
mov ebx, dword [0x10260700]
mov eax, dword [ebx + 4]
lea ecx, [esi + 0x140]
push 0x344
push dword [edi + eax - 0x14]
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esi + 0x484]
push 0x2d8
push dword [edi + 0x2980]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [0x10260714]
test al, 1
je 0x100aad3a
mov ebx, dword [0x10260710]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebx + 4]
movups xmm0, xmmword [eax + edi + 0x50]
movups xmmword [esi + 0x7ac], xmm0
movups xmm0, xmmword [eax + edi + 0x40]
movups xmmword [esi + 0x79c], xmm0
movups xmm0, xmmword [eax + edi + 0x30]
movups xmmword [esi + 0x78c], xmm0
movups xmm0, xmmword [eax + edi + 0x20]
movups xmmword [esi + 0x77c], xmm0
movups xmm0, xmmword [eax + edi]
movups xmm1, xmmword [eax + edi + 0x10]
movups xmmword [esi + 0x76c], xmm1
movups xmmword [esi + 0x75c], xmm0
test ecx, ecx
je 0x100a9bfd
movss xmm0, dword [edx + 0x74]
subss xmm0, dword [ecx + 0x74]
movss xmm1, dword [edx + 0x6c]
movss xmm2, dword [edx + 0x70]
subss xmm2, dword [ecx + 0x70]
subss xmm1, dword [ecx + 0x6c]
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm1, xmm2
mulss xmm0, xmm0
addss xmm0, xmm1
ucomiss xmm0, dword [0x101b1a04]
mov edi, dword [ebp + 8]
jbe 0x100a9b8a
mov byte [edx + 2], 1
mov eax, dword [ebp + 0x10]
movss xmm1, dword [eax + 0x320]
movss xmm0, dword [edx + 0x320]
ucomiss xmm1, xmm0
jne 0x100a9c04
jp 0x100a9c04
mov eax, dword [eax + 0x10]
cmp eax, dword [edx + 0x10]
jne 0x100a9c04
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x100a9c04
movss xmm1, dword [edx + 0x324]
mov eax, dword [ebp + 0x10]
movss xmm2, dword [eax + 0x324]
ucomiss xmm1, xmm2
jbe 0x100a9c04
mov eax, dword [edx + 0x14]
subss xmm1, xmm2
divss xmm1, xmm0
mov ecx, dword [0x1025ae0c]
divss xmm1, dword [ecx + 0x20]
addss xmm1, dword [0x101a82c0]
inc eax
cvttss2si ecx, xmm1
cmp eax, ecx
jge 0x100a9c04
cmp ecx, 0x13
jg 0x100a9c04
mov dword [edx + 0x14], ecx
jmp 0x100a9c04
mov byte [edx + 2], 1
mov edi, dword [ebp + 8]
mov eax, dword [edx + 0x14]
lea ecx, [eax - 0x12]
cmp ecx, 0xffffffee
ja 0x100a9c1b
mov dword [edx + 0x14], 1
mov eax, 1
test byte [edx + 0xd], 2
je 0x100a9c2d
mov dword [edx + 0x14], 1
mov eax, 1
cvtsi2ss xmm3, eax
mov eax, dword [0x1025ae0c]
mulss xmm3, dword [eax + 0x20]
mov ecx, dword [edx + 0x10]
test ecx, ecx
je 0x100a9d20
mov eax, dword [ebp + 0xc]
movss xmm0, dword [eax + 0x30]
movss xmm1, dword [eax + 0x44]
ucomiss xmm0, xmm1
movaps xmmword [esi + 0x20], xmm3
jb 0x100a9cbc
subss xmm0, xmm3
ucomiss xmm1, xmm0
jbe 0x100a9cbc
mov eax, dword [ecx]
mov eax, dword [eax + 0x730]
mov dword [esi + 0x7e8], 0xffffffff
call eax
movaps xmm3, xmmword [esi + 0x20]
test eax, eax
je 0x100a9cbc
mov eax, dword [eax + 0xcc]
add eax, 0xfffffffe
cmp eax, 6
jb 0x100a9cb5
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x10]
mov eax, dword [0x1025af40]
test al, 1
je 0x100ab925
mov ebx, dword [0x1025af3c]
mov eax, dword [ebx + 4]
cmp word [eax + ecx], 0x1f
mov edi, dword [ebp + 8]
jne 0x100a9cbc
mov eax, dword [ebp + 0xc]
mov byte [eax + 3], 1
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x100a9d20
mov eax, dword [ecx]
mov eax, dword [eax + 0x730]
mov dword [esi + 0x7e8], 0xffffffff
call eax
movaps xmm3, xmmword [esi + 0x20]
test eax, eax
je 0x100a9d20
cmp dword [eax + 0xc8], 9
jne 0x100a9d20
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x10]
mov eax, dword [0x1025af78]
test al, 1
je 0x100ab7fa
mov ebx, dword [0x1025af74]
mov eax, dword [ebx + 4]
movss xmm0, dword [eax + ecx]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
mov edi, dword [ebp + 8]
jne 0x100a9d19
jnp 0x100a9d20
mov eax, dword [ebp + 0xc]
mov byte [eax + 4], 1
cmp dword [ebp + 0x10], 0
je 0x100a9d6b
xorps xmm0, xmm0
ucomiss xmm3, xmm0
jbe 0x100a9d6b
movss xmm0, dword [0x101a8280]
ucomiss xmm0, xmm3
jbe 0x100a9d6b
mov eax, dword [ebp + 0xc]
movss xmm0, dword [eax + 0x74]
mov ecx, dword [ebp + 0x10]
subss xmm0, dword [ecx + 0x74]
divss xmm0, xmm3
movsd xmm1, qword [eax + 0x6c]
movsd xmm2, qword [ecx + 0x6c]
subps xmm1, xmm2
unpcklps xmm3, xmm3
divps xmm1, xmm3
movlps qword [eax + 0x60], xmm1
movss dword [eax + 0x68], xmm0
mov eax, dword [ebp + 0xc]
test byte [eax + 0xc], 1
je 0x100a9dbb
cmp dword [ebp + 0x10], 0
je 0x100a9d83
mov eax, dword [ebp + 0x10]
test byte [eax + 0xc], 1
je 0x100a9dbb
mov eax, dword [ebp + 0xc]
movss xmm0, dword [eax + 0x208]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x100a9da6
jp 0x100a9da6
xorps xmm0, xmm0
movlps qword [eax + 0x60], xmm0
mov dword [eax + 0x68], 0
cmp dword [ebp + 0x10], 0
je 0x100a9dbb
mov ecx, dword [eax + 0x10]
mov eax, dword [ebp + 0x10]
cmp ecx, dword [eax + 0x10]
je 0x100aaa94
mov ecx, dword [edi]
mov eax, dword [ebp + 0xc]
add eax, 0x6c
mov edx, dword [0x1025adc8]
mov edx, dword [edx + 0x18]
mov dword [esi + 0x7e8], 0xffffffff
push eax
call edx
mov edx, dword [edi]
mov eax, dword [0x102606e4]
test al, 1
je 0x100aae65
mov ebx, dword [0x102606e0]
mov ecx, dword [ebx + 4]
mov edi, dword [ecx + edx]
mov edx, dword [0x1025ae04]
mov edx, dword [edx]
test al, 1
je 0x100aaf86
cmp edi, dword [ecx + edx]
mov ebx, dword [ebp + 8]
jne 0x100a9e30
mov eax, dword [0x1025adc8]
mov ecx, dword [eax + 0x154]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
mov dword [esi + 0x7e8], 0xffffffff
call eax
test eax, eax
je 0x100aa348
mov eax, 1
cmp eax, 5
jae 0x100aa329
nop
mov dword [esi + 0x7e8], 0xffffffff
mov ecx, dword [esi + 0xf0]
mov dword [esi + 0x10], eax
push eax
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.100a0840
mov eax, dword [ebx]
mov dword [esi + 0x20], eax
mov eax, dword [0x10260704]
test al, 1
je 0x100a9f18
mov edi, dword [0x10260700]
mov eax, dword [edi + 4]
push 0x344
lea ecx, [esi + 0x140]
push ecx
mov edi, dword [esi + 0x20]
push dword [edi + eax - 0x14]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x2d8
lea eax, [esi + 0x484]
push eax
push dword [edi + 0x2980]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [0x10260714]
test al, 1
je 0x100aa03a
mov edi, dword [0x10260710]
mov eax, dword [edi + 4]
lea ecx, [esi + 0x75c]
movups xmm0, xmmword [ecx + 0x50]
mov edx, dword [esi + 0x20]
movups xmmword [eax + edx + 0x50], xmm0
movups xmm0, xmmword [ecx + 0x40]
movups xmmword [eax + edx + 0x40], xmm0
movups xmm0, xmmword [ecx + 0x30]
movups xmmword [eax + edx + 0x30], xmm0
movups xmm0, xmmword [ecx + 0x20]
movups xmmword [eax + edx + 0x20], xmm0
movups xmm0, xmmword [ecx]
movups xmm1, xmmword [ecx + 0x10]
movups xmmword [eax + edx + 0x10], xmm1
movups xmmword [eax + edx], xmm0
mov eax, dword [esi + 0x10]
inc eax
cmp eax, 5
jb 0x100a9e40
jmp 0x100aa329
or eax, 1
mov dword [0x10260704], eax
mov eax, 0xfd0d1634
mov ecx, 0x8ac38274
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, 0xd27ece42
mov ecx, 0x61a3a472
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0x63bd59b2
mov ecx, 0x62354057
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov eax, 0x9db8cf2
mov ecx, 0x7278c207
mov edx, 0xad5e5577
mov edi, 0xefbae318
mov dword [esi + 0xa4], edi
mov dword [esi + 0xa0], edx
mov edx, 0xbf40e330
mov edi, 0x12eac62d
mov dword [esi + 0xac], edi
mov dword [esi + 0xa8], edx
mov edx, 0x13d23ae1
mov edi, 0x62352432
mov dword [esi + 0xb4], edi
mov dword [esi + 0xb0], edx
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x58], eax
mov dword [esi + 0xbc], ecx
mov dword [esi + 0xb8], eax
lea eax, [esi + 0xa0]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x40]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x40], xmm0
movaps xmm0, xmmword [esi + 0x50]
xorps xmm0, xmmword [eax + 0x10]
mov eax, dword [0x1025adcc]
mov dword [esi + 0xc], eax
movaps xmmword [esi + 0x50], xmm0
mov dword [esi + 0x7e8], 0xc
lea ecx, [esi + 0x80]
lea eax, [esi + 0x40]
push eax
call fcn.10015170
cmp dword [esi + 0x94], 0x10
lea eax, [esi + 0x80]
mov dword [esi + 8], eax
jb 0x100aa009
mov eax, dword [esi + 0x80]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 4], eax
test eax, eax
je 0x100aa162
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x3c], ecx
cmp eax, 4
jae 0x100aa173
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100aa1bd
or eax, 1
mov dword [0x10260714], eax
mov eax, dword [0x1025adcc]
mov dword [esi + 0xc], eax
mov eax, 0xfd0d1634
mov ecx, 0x8ac38274
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, 0xd27ece42
mov ecx, 0x4286a072
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0x43b7498e
mov ecx, 0xf545653
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov eax, 0x7bbef897
mov ecx, 0x7278c207
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x58], eax
mov eax, 0xad5e5577
mov ecx, 0xefbae318
mov dword [esi + 0xa4], ecx
mov dword [esi + 0xa0], eax
mov eax, 0xbf40e330
mov ecx, 0x12eac62d
mov dword [esi + 0xac], ecx
mov dword [esi + 0xa8], eax
mov eax, 0x13d23ae1
mov ecx, 0x62352432
mov dword [esi + 0xb4], ecx
mov dword [esi + 0xb0], eax
mov eax, 0x9db8cf2
mov ecx, 0x7278c207
mov dword [esi + 0xbc], ecx
mov dword [esi + 0xb8], eax
lea eax, [esi + 0xa0]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x40]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x40], xmm0
movaps xmm0, xmmword [esi + 0x50]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0x50], xmm0
mov dword [esi + 0x7e8], 0xe
lea ecx, [esi + 0x80]
lea eax, [esi + 0x40]
push eax
call fcn.10015170
cmp dword [esi + 0x94], 0x10
lea eax, [esi + 0x80]
mov dword [esi + 8], eax
jb 0x100aa135
mov eax, dword [esi + 0x80]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 4], eax
test eax, eax
je 0x100aa169
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x3c], ecx
cmp eax, 4
jae 0x100aa24e
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100aa298
mov ecx, 0x811c9dc5
jmp 0x100aa1da
mov ecx, 0x811c9dc5
jmp 0x100aa2b5
mov edi, dword [esi + 4]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 8]
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 0x100aa183
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x100aa1da
add edx, dword [esi + 8]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp eax, edi
jne 0x100aa1c9
mov edx, dword [esi + 0xc]
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 + 4]
je 0x100abc8f
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp edx, dword [edi + 0x18]
jne 0x100aa220
cmp dword [edi + 0x1c], 0x10
jb 0x100aa208
mov eax, dword [edi + 8]
jmp 0x100aa20b
lea eax, [edi + 8]
mov ecx, dword [esi + 8]
push edx
push eax
push ecx
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esi + 4]
add esp, 0xc
test eax, eax
je 0x100aa232
cmp edi, ebx
je 0x100abc8f
mov edi, dword [edi + 4]
cmp edx, dword [edi + 0x18]
je 0x100aa1fd
jmp 0x100aa220
add edi, 0x20
lea ecx, [esi + 0x80]
call fcn.10015110
mov dword [0x10260700], edi
mov ebx, dword [ebp + 8]
jmp 0x100a9e7b
mov edi, dword [esi + 4]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 8]
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 0x100aa25e
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x100aa2b5
add edx, dword [esi + 8]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp eax, edi
jne 0x100aa2a4
mov edx, dword [esi + 0xc]
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 + 4]
je 0x100abc78
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp edx, dword [edi + 0x18]
jne 0x100aa2fb
cmp dword [edi + 0x1c], 0x10
jb 0x100aa2e3
mov eax, dword [edi + 8]
jmp 0x100aa2e6
lea eax, [edi + 8]
mov ecx, dword [esi + 8]
push edx
push eax
push ecx
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esi + 4]
add esp, 0xc
test eax, eax
je 0x100aa30d
cmp edi, ebx
je 0x100abc78
mov edi, dword [edi + 4]
cmp edx, dword [edi + 0x18]
je 0x100aa2d8
jmp 0x100aa2fb
add edi, 0x20
lea ecx, [esi + 0x80]
call fcn.10015110
mov dword [0x10260710], edi
mov ebx, dword [ebp + 8]
jmp 0x100a9ec6
mov eax, dword [0x1025adc4]
cmp byte [eax + 0xe4], 0
je 0x100aa348
mov eax, dword [ebp + 0xc]
mov byte [eax + 1], 1
mov dword [esi + 0x7e8], 0xffffffff
mov dword [esi + 0x7e8], 0xffffffff
mov ecx, dword [esi + 0xf0]
push 0
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.100a0840
mov ecx, dword [ebx]
mov eax, dword [0x102606bc]
test al, 1
je 0x100ab0aa
mov ebx, dword [0x102606b8]
mov edx, dword [ebx + 4]
mov eax, dword [0x1025ae04]
mov edi, dword [eax]
mov eax, dword [0x102606b4]
test al, 1
je 0x100ab186
mov ebx, dword [0x102606b0]
mov eax, dword [ebx + 4]
movss xmm2, dword [eax + edi + 8]
subss xmm2, dword [ecx + edx + 8]
movss xmm0, dword [eax + edi + 4]
subss xmm0, dword [ecx + edx + 4]
movss xmm1, dword [eax + edi]
subss xmm1, dword [ecx + edx]
movss dword [esi + 0x20], xmm0
mulss xmm0, xmm0
movss dword [esi + 0x10], xmm1
mulss xmm1, xmm1
addss xmm1, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm0, xmm1
jb 0x100aa3ec
sqrtsd xmm0, xmm0
jmp 0x100aa41a
sub esp, 8
movsd qword [esp], xmm0
movss dword [esi + 0xf0], xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movss xmm2, dword [esi + 0xf0]
add esp, 8
fstp qword [esi + 0x130]
movsd xmm0, qword [esi + 0x130]
mov ebx, dword [ebp + 8]
cvtsd2ss xmm0, xmm0
cvtss2sd xmm0, xmm0
xorps xmm1, xmm1
cvtss2sd xmm1, xmm2
divsd xmm1, xmm0
sub esp, 8
movsd qword [esp], xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_atan
fstp st(0)
add esp, 8
movss xmm0, dword [esi + 0x20]
divss xmm0, dword [esi + 0x10]
cvtss2sd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_atan
add esp, 8
fstp dword [esi + 0x128]
movss xmm0, dword [esi + 0x128]
mulss xmm0, dword [0x101b1818]
movss xmm1, dword [0x101b17e0]
addss xmm1, xmm0
xorps xmm2, xmm2
movss dword [esi + 0x20], xmm2
cmpnless xmm2, dword [esi + 0x10]
andps xmm0, xmm2
andnps xmm2, xmm1
orps xmm2, xmm0
movaps xmmword [esi + 0x10], xmm2
movss dword [esi + 0xa0], xmm2
lea edi, [esi + 0xa0]
push edi
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll__fdtest]
add esp, 4
xorps xmm0, xmm0
test ax, ax
jg 0x100aa52e
movaps xmm0, xmmword [esi + 0x10]
ucomiss xmm0, dword [0x101b19d4]
jb 0x100aa4de
movss xmm0, dword [0x101b17e0]
movaps xmm1, xmmword [esi + 0x10]
ucomiss xmm0, xmm1
movaps xmm0, xmm1
jae 0x100aa52e
xorps xmm0, xmm0
xor ebx, ebx
movaps xmm1, xmmword [esi + 0x10]
ucomiss xmm0, xmm1
seta bl
movaps xmm0, xmm1
divss xmm0, dword [0x101b0e00]
andps xmm0, xmmword [0x101a97c0]
sub esp, 4
movss dword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
add esp, 4
fstp dword [esi + 0x124]
movss xmm0, dword [esi + 0x124]
mulss xmm0, dword [ebx*4 + 0x101b19d8]
mov ebx, dword [ebp + 8]
addss xmm0, dword [esi + 0x10]
movss dword [esi + 0x10], xmm0
mov eax, dword [ebp + 0xc]
movss xmm0, dword [eax + 0x4c]
movss dword [esi + 0xf0], xmm0
movss dword [esi + 0xa0], xmm0
push edi
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll__fdtest]
add esp, 4
test ax, ax
jg 0x100aa5d3
movss xmm1, dword [esi + 0xf0]
ucomiss xmm1, dword [0x101b19d4]
jb 0x100aa57f
movss xmm0, dword [0x101b17e0]
ucomiss xmm0, xmm1
jb 0x100aa57f
movss dword [esi + 0x20], xmm1
jmp 0x100aa5d3
xorps xmm0, xmm0
xor ebx, ebx
ucomiss xmm0, xmm1
seta bl
movaps xmm0, xmm1
divss xmm0, dword [0x101b0e00]
andps xmm0, xmmword [0x101a97c0]
sub esp, 4
movss dword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
add esp, 4
fstp dword [esi + 0x120]
movss xmm0, dword [esi + 0x120]
mulss xmm0, dword [ebx*4 + 0x101b19d8]
mov ebx, dword [ebp + 8]
addss xmm0, dword [esi + 0xf0]
movss dword [esi + 0x20], xmm0
movss xmm0, dword [0x101b0a14]
addss xmm0, dword [esi + 0x10]
movss dword [esi + 4], xmm0
movss dword [esi + 0xa0], xmm0
push edi
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll__fdtest]
add esp, 4
xorps xmm0, xmm0
movaps xmmword [esi + 0xf0], xmm0
test ax, ax
jg 0x100aa672
movss xmm1, dword [esi + 4]
ucomiss xmm1, dword [0x101b19d4]
jb 0x100aa626
movss xmm0, dword [0x101b17e0]
ucomiss xmm0, xmm1
jb 0x100aa626
movaps xmm0, xmm1
jmp 0x100aa672
xorps xmm0, xmm0
xor ebx, ebx
ucomiss xmm0, xmm1
seta bl
movaps xmm0, xmm1
divss xmm0, dword [0x101b0e00]
andps xmm0, xmmword [0x101a97c0]
sub esp, 4
movss dword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
add esp, 4
fstp dword [esi + 0x11c]
movss xmm0, dword [esi + 0x11c]
mulss xmm0, dword [ebx*4 + 0x101b19d8]
mov ebx, dword [ebp + 8]
addss xmm0, dword [esi + 4]
movss xmm1, dword [esi + 0x20]
subss xmm1, xmm0
movss dword [esi + 4], xmm1
movss dword [esi + 0xa0], xmm1
push edi
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll__fdtest]
add esp, 4
test ax, ax
jg 0x100aa711
movss xmm1, dword [esi + 4]
ucomiss xmm1, dword [0x101b19d4]
jb 0x100aa6be
movss xmm0, dword [0x101b17e0]
ucomiss xmm0, xmm1
jb 0x100aa6be
movaps xmm0, xmm1
movaps xmmword [esi + 0xf0], xmm1
jmp 0x100aa711
xorps xmm0, xmm0
xor ebx, ebx
ucomiss xmm0, xmm1
seta bl
movaps xmm0, xmm1
divss xmm0, dword [0x101b0e00]
andps xmm0, xmmword [0x101a97c0]
sub esp, 4
movss dword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
add esp, 4
fstp dword [esi + 0x118]
movss xmm0, dword [esi + 0x118]
mulss xmm0, dword [ebx*4 + 0x101b19d8]
mov ebx, dword [ebp + 8]
addss xmm0, dword [esi + 4]
movaps xmmword [esi + 0xf0], xmm0
movaps xmm1, xmmword [esi + 0xf0]
andps xmm1, xmmword [0x101a97c0]
mov al, 1
movss xmm0, dword [0x101b1a14]
ucomiss xmm0, xmm1
ja 0x100aa88c
movss xmm0, dword [0x101b0a2c]
addss xmm0, dword [esi + 0x10]
movss dword [esi + 4], xmm0
movss dword [esi + 0xa0], xmm0
push edi
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll__fdtest]
add esp, 4
xorps xmm0, xmm0
movaps xmmword [esi + 0xf0], xmm0
test ax, ax
jg 0x100aa7d1
movss xmm1, dword [esi + 4]
ucomiss xmm1, dword [0x101b19d4]
jb 0x100aa785
movss xmm0, dword [0x101b17e0]
ucomiss xmm0, xmm1
jb 0x100aa785
movaps xmm0, xmm1
jmp 0x100aa7d1
xorps xmm0, xmm0
xor ebx, ebx
ucomiss xmm0, xmm1
seta bl
movaps xmm0, xmm1
divss xmm0, dword [0x101b0e00]
andps xmm0, xmmword [0x101a97c0]
sub esp, 4
movss dword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
add esp, 4
fstp dword [esi + 0x114]
movss xmm0, dword [esi + 0x114]
mulss xmm0, dword [ebx*4 + 0x101b19d8]
mov ebx, dword [ebp + 8]
addss xmm0, dword [esi + 4]
movss xmm1, dword [esi + 0x20]
subss xmm1, xmm0
movss dword [esi + 4], xmm1
movss dword [esi + 0xa0], xmm1
push edi
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll__fdtest]
add esp, 4
test ax, ax
jg 0x100aa870
movss xmm1, dword [esi + 4]
ucomiss xmm1, dword [0x101b19d4]
jb 0x100aa81d
movss xmm0, dword [0x101b17e0]
ucomiss xmm0, xmm1
jb 0x100aa81d
movaps xmm0, xmm1
movaps xmmword [esi + 0xf0], xmm1
jmp 0x100aa870
xorps xmm0, xmm0
xor ebx, ebx
ucomiss xmm0, xmm1
seta bl
movaps xmm0, xmm1
divss xmm0, dword [0x101b0e00]
andps xmm0, xmmword [0x101a97c0]
sub esp, 4
movss dword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
add esp, 4
fstp dword [esi + 0x110]
movss xmm0, dword [esi + 0x110]
mulss xmm0, dword [ebx*4 + 0x101b19d8]
mov ebx, dword [ebp + 8]
addss xmm0, dword [esi + 4]
movaps xmmword [esi + 0xf0], xmm0
movaps xmm1, xmmword [esi + 0xf0]
andps xmm1, xmmword [0x101a97c0]
movss xmm0, dword [0x101b1a14]
ucomiss xmm0, xmm1
seta al
mov ecx, dword [ebp + 0xc]
mov byte [ecx + 7], al
movss xmm0, dword [esi + 0x10]
addss xmm0, dword [0x101b17e0]
movss dword [esi + 0x10], xmm0
movss dword [esi + 0xa0], xmm0
push edi
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll__fdtest]
add esp, 4
xorps xmm0, xmm0
test ax, ax
jg 0x100aa92e
movss xmm0, dword [esi + 0x10]
ucomiss xmm0, dword [0x101b19d4]
jb 0x100aa8df
movaps xmm1, xmm0
movss xmm0, dword [0x101b17e0]
ucomiss xmm0, xmm1
movaps xmm0, xmm1
jae 0x100aa92e
movaps xmm1, xmm0
xorps xmm0, xmm0
xor ebx, ebx
ucomiss xmm0, xmm1
seta bl
movaps xmm0, xmm1
divss xmm0, dword [0x101b0e00]
andps xmm0, xmmword [0x101a97c0]
sub esp, 4
movss dword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
add esp, 4
fstp dword [esi + 0x10c]
movss xmm0, dword [esi + 0x10c]
mulss xmm0, dword [ebx*4 + 0x101b19d8]
mov ebx, dword [ebp + 8]
addss xmm0, dword [esi + 0x10]
movss xmm1, dword [esi + 0x20]
subss xmm1, xmm0
movss dword [esi + 0x20], xmm1
movss dword [esi + 0xa0], xmm1
push edi
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll__fdtest]
add esp, 4
test ax, ax
xorps xmm1, xmm1
jg 0x100aa9d5
movss xmm0, dword [esi + 0x20]
ucomiss xmm0, dword [0x101b19d4]
jb 0x100aa97c
movaps xmm1, xmm0
movss xmm0, dword [0x101b17e0]
ucomiss xmm0, xmm1
movaps xmm0, xmm1
jb 0x100aa97c
movaps xmm1, xmm0
jmp 0x100aa9d5
movaps xmm1, xmm0
xorps xmm0, xmm0
xor ebx, ebx
ucomiss xmm0, xmm1
seta bl
movaps xmm0, xmm1
divss xmm0, dword [0x101b0e00]
andps xmm0, xmmword [0x101a97c0]
sub esp, 4
movss dword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
add esp, 4
fstp dword [esi + 0x108]
movss xmm1, dword [esi + 0x108]
mulss xmm1, dword [ebx*4 + 0x101b19d8]
mov ebx, dword [ebp + 8]
addss xmm1, dword [esi + 0x20]
mov dword [esi + 0x7e8], 0xffffffff
andps xmm1, xmmword [0x101a97c0]
movss xmm0, dword [0x101b1a14]
ucomiss xmm0, xmm1
mov edi, dword [ebp + 0xc]
seta byte [edi + 8]
mov eax, dword [ebx]
mov dword [esi + 0x7e8], 0xffffffff
push eax
call fcn.100a8d40
fstp dword [edi + 0x40]
cmp byte [edi + 1], 0
je 0x100aaa16
sub esp, 4
push dword [ebp + 0x10]
push edi
push ebx
call fcn.100a9050
add edi, 0x90
mov eax, dword [ebx]
push 0x2d8
push edi
push dword [eax + 0x2980]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [0x1025adc8]
mov byte [eax + 0x1bf], 1
mov ecx, dword [ebx]
mov eax, dword [0x1025ae0c]
movss xmm0, dword [eax + 0x10]
add ebx, 0x2c
mov eax, dword [ecx + 4]
add ecx, 4
sub esp, 0x10
movss dword [esp + 0xc], xmm0
mov dword [esp], ebx
mov dword [esp + 8], 0xfff00
mov dword [esp + 4], 0x100
call dword [eax + 0x34]
mov eax, dword [0x1025adc8]
mov byte [eax + 0x1bf], 0
mov eax, dword [esi + 0x7e0]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x10
mov eax, dword [ebp + 0xc]
movss xmm0, dword [eax + 0x320]
mov eax, dword [ebp + 0x10]
ucomiss xmm0, dword [eax + 0x320]
jne 0x100a9dbb
jp 0x100a9dbb
mov eax, dword [ebp + 0xc]
movss xmm3, dword [eax + 0x318]
addss xmm3, dword [0x101a97b0]
mulss xmm3, dword [0x101b1a08]
test ecx, ecx
je 0x100aab08
mov eax, dword [ecx]
mov eax, dword [eax + 0x6e4]
mov dword [esi + 0x7e8], 0xffffffff
movaps xmmword [esi + 0x20], xmm3
call eax
movaps xmm3, xmmword [esi + 0x20]
fstp dword [esi + 0x12c]
movss xmm2, dword [esi + 0x12c]
maxss xmm2, dword [0x101a99b8]
jmp 0x100aab10
movss xmm2, dword [0x101b1a10]
addss xmm3, dword [0x101b1a0c]
mov eax, dword [ebp + 0xc]
movss xmm0, dword [eax + 0x60]
movss xmm1, dword [eax + 0x64]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
cvtss2sd xmm0, xmm0
xorps xmm1, xmm1
ucomisd xmm0, xmm1
jb 0x100aab44
sqrtsd xmm0, xmm0
jmp 0x100aab74
sub esp, 8
movsd qword [esp], xmm0
movaps xmmword [esi + 0x20], xmm3
movss dword [esi + 0x10], xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movss xmm2, dword [esi + 0x10]
movaps xmm3, xmmword [esi + 0x20]
add esp, 8
fstp qword [esi + 0x138]
movsd xmm0, qword [esi + 0x138]
mulss xmm3, xmm2
cvtsd2ss xmm0, xmm0
mov eax, dword [ebp + 0xc]
movss xmm1, dword [eax + 0x318]
ucomiss xmm1, dword [0x101a8280]
jb 0x100aabb9
ucomiss xmm0, xmm3
jbe 0x100aabb9
xorps xmm1, xmm1
ucomiss xmm0, xmm1
movss xmm1, dword [eax + 0x60]
jne 0x100aaba4
jnp 0x100aabdd
movss xmm2, dword [eax + 0x64]
unpcklps xmm1, xmm2
shufps xmm0, xmm0, 0
divps xmm1, xmm0
movlps qword [eax + 0x60], xmm1
jmp 0x100aabe5
movss xmm2, dword [0x101a8280]
ucomiss xmm2, xmm1
jbe 0x100a9dbb
ucomiss xmm3, xmm0
jae 0x100aab95
xorps xmm2, xmm2
ucomiss xmm1, xmm2
jbe 0x100a9dbb
jmp 0x100aab95
movss xmm0, dword [eax + 0x64]
unpcklps xmm1, xmm0
unpcklps xmm3, xmm3
mulps xmm3, xmm1
movlps qword [eax + 0x60], xmm3
mov dword [esi + 0x7e8], 0xffffffff
jmp 0x100a9dbb
mov dword [esi + 8], edi
or eax, 1
mov dword [0x10260704], eax
mov eax, 0xfd0d1634
mov ecx, 0x8ac38274
mov dword [esi + 0xa4], ecx
mov dword [esi + 0xa0], eax
mov eax, 0xd27ece42
mov ecx, 0x61a3a472
mov dword [esi + 0xac], ecx
mov dword [esi + 0xa8], eax
mov eax, 0x63bd59b2
mov ecx, 0x62354057
mov dword [esi + 0xb4], ecx
mov dword [esi + 0xb0], eax
mov eax, 0x9db8cf2
mov ecx, 0x7278c207
mov edx, 0xad5e5577
mov edi, 0xefbae318
mov dword [esi + 0x144], edi
mov dword [esi + 0x140], edx
mov edx, 0xbf40e330
mov edi, 0x12eac62d
mov dword [esi + 0x14c], edi
mov dword [esi + 0x148], edx
mov edx, 0x13d23ae1
mov edi, 0x62352432
mov dword [esi + 0x154], edi
mov dword [esi + 0x150], edx
mov dword [esi + 0xbc], ecx
mov dword [esi + 0xb8], eax
mov dword [esi + 0x15c], ecx
mov dword [esi + 0x158], eax
lea eax, [esi + 0x140]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0xa0]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0xa0], xmm0
movaps xmm0, xmmword [esi + 0xb0]
xorps xmm0, xmmword [eax + 0x10]
mov eax, dword [0x1025adcc]
mov dword [esi + 0xc], eax
movaps xmmword [esi + 0xb0], xmm0
mov dword [esi + 0x7e8], 0
lea eax, [esi + 0xa0]
lea ecx, [esi + 0x40]
mov dword [esi + 0x10], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x50]
mov dword [esi + 0x20], eax
cmp dword [esi + 0x54], 0x10
jb 0x100aad10
mov eax, dword [esi + 0x40]
mov dword [esi + 0x10], eax
cmp dword [esi + 0x20], 0
je 0x100ab2ac
mov eax, dword [esi + 0x20]
mov ecx, eax
and ecx, 3
mov dword [esi + 4], ecx
cmp eax, 4
jae 0x100ab2e8
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ab332
mov dword [esi + 8], edi
or eax, 1
mov dword [0x10260714], eax
mov eax, dword [0x1025adcc]
mov dword [esi + 0xc], eax
mov eax, 0xfd0d1634
mov ecx, 0x8ac38274
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, 0xd27ece42
mov ecx, 0x4286a072
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0x43b7498e
mov ecx, 0xf545653
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov ecx, 0x7bbef897
mov eax, 0x7278c207
mov edx, 0x7278c207
mov dword [esi + 0x5c], edx
mov dword [esi + 0x58], ecx
mov ecx, 0xad5e5577
mov edx, 0xefbae318
mov dword [esi + 0xa4], edx
mov dword [esi + 0xa0], ecx
mov ecx, 0xbf40e330
mov edx, 0x12eac62d
mov dword [esi + 0xac], edx
mov dword [esi + 0xa8], ecx
mov ecx, 0x13d23ae1
mov edx, 0x62352432
mov dword [esi + 0xb4], edx
mov dword [esi + 0xb0], ecx
mov ecx, 0x9db8cf2
mov dword [esi + 0xbc], eax
mov dword [esi + 0xb8], ecx
lea eax, [esi + 0xa0]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x40]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x40], xmm0
movaps xmm0, xmmword [esi + 0x50]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0x50], xmm0
mov dword [esi + 0x7e8], 2
lea eax, [esi + 0x40]
lea ecx, [esi + 0x80]
mov dword [esi + 0x10], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x90]
mov dword [esi + 0x20], eax
cmp dword [esi + 0x94], 0x10
jb 0x100aae3b
mov eax, dword [esi + 0x80]
mov dword [esi + 0x10], eax
cmp dword [esi + 0x20], 0
je 0x100ab2b6
mov eax, dword [esi + 0x20]
mov ecx, eax
and ecx, 3
mov dword [esi + 4], ecx
cmp eax, 4
jae 0x100ab3b9
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ab403
mov dword [esi + 0xc], edx
or eax, 1
mov dword [0x102606e4], eax
mov eax, 0xde3f1734
mov ecx, 0x9bd4a67d
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, 0x92399759
mov ecx, 0x7bb5ab13
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0x7eb35fb5
mov ecx, 0x6258517c
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov eax, 0x9db8cf2
mov ecx, 0x7278c207
mov edx, 0xad5e5577
mov edi, 0xefbae318
mov dword [esi + 0xa4], edi
mov dword [esi + 0xa0], edx
mov edx, 0xbf40e330
mov edi, 0x12eac62d
mov dword [esi + 0xac], edi
mov dword [esi + 0xa8], edx
mov edx, 0x13d23ae1
mov edi, 0x62352432
mov dword [esi + 0xb4], edi
mov dword [esi + 0xb0], edx
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x58], eax
mov dword [esi + 0xbc], ecx
mov dword [esi + 0xb8], eax
lea eax, [esi + 0xa0]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x40]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x40], xmm0
movaps xmm0, xmmword [esi + 0x50]
xorps xmm0, xmmword [eax + 0x10]
mov eax, dword [0x1025adcc]
mov dword [esi + 8], eax
movaps xmmword [esi + 0x50], xmm0
mov dword [esi + 0x7e8], 8
lea eax, [esi + 0x40]
lea ecx, [esi + 0x80]
mov dword [esi + 0x10], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x90]
mov dword [esi + 0x20], eax
cmp dword [esi + 0x94], 0x10
jb 0x100aaf5c
mov eax, dword [esi + 0x80]
mov dword [esi + 0x10], eax
cmp dword [esi + 0x20], 0
je 0x100ab2c0
mov eax, dword [esi + 0x20]
mov ecx, eax
and ecx, 3
mov dword [esi + 4], ecx
cmp eax, 4
jae 0x100ab48d
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ab4d7
mov dword [esi + 0x3c], edx
mov dword [esi + 0xc], edi
or eax, 1
mov dword [0x102606e4], eax
mov eax, 0xde3f1734
mov ecx, 0x9bd4a67d
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, 0x92399759
mov ecx, 0x7bb5ab13
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0x7eb35fb5
mov ecx, 0x6258517c
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov eax, 0x9db8cf2
mov ecx, 0x7278c207
mov edx, 0xad5e5577
mov edi, 0xefbae318
mov dword [esi + 0xa4], edi
mov dword [esi + 0xa0], edx
mov edx, 0xbf40e330
mov edi, 0x12eac62d
mov dword [esi + 0xac], edi
mov dword [esi + 0xa8], edx
mov edx, 0x13d23ae1
mov edi, 0x62352432
mov dword [esi + 0xb4], edi
mov dword [esi + 0xb0], edx
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x58], eax
mov dword [esi + 0xbc], ecx
mov dword [esi + 0xb8], eax
lea eax, [esi + 0xa0]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x40]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x40], xmm0
movaps xmm0, xmmword [esi + 0x50]
xorps xmm0, xmmword [eax + 0x10]
mov eax, dword [0x1025adcc]
mov dword [esi + 8], eax
movaps xmmword [esi + 0x50], xmm0
mov dword [esi + 0x7e8], 0xa
lea eax, [esi + 0x40]
lea ecx, [esi + 0x80]
mov dword [esi + 0x10], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x90]
mov dword [esi + 0x20], eax
cmp dword [esi + 0x94], 0x10
jb 0x100ab080
mov eax, dword [esi + 0x80]
mov dword [esi + 0x10], eax
cmp dword [esi + 0x20], 0
je 0x100ab2ca
mov eax, dword [esi + 0x20]
mov ecx, eax
and ecx, 3
mov dword [esi + 4], ecx
cmp eax, 4
jae 0x100ab566
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ab5b0
mov dword [esi + 4], ecx
or eax, 1
mov dword [0x102606bc], eax
mov eax, dword [0x1025adcc]
mov dword [esi + 8], eax
mov eax, 0xc8280a1a
mov ecx, 0x9cd8a27b
mov dword [esi + 0x84], ecx
mov dword [esi + 0x80], eax
mov eax, 0xd829917f
mov ecx, 0x12eaa844
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x88], eax
mov eax, 0xad5e5577
mov ecx, 0xefbae318
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, 0xbf40e330
mov ecx, 0x12eac62d
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
lea eax, [esi + 0x40]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x80]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x80], xmm0
mov dword [esi + 0x7e8], 0x10
lea eax, [esi + 0x80]
lea ecx, [esi + 0xa0]
mov dword [esi + 0x10], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0xb0]
mov dword [esi + 0x20], eax
cmp dword [esi + 0xb4], 0x10
jb 0x100ab159
mov eax, dword [esi + 0xa0]
mov dword [esi + 0x10], eax
cmp dword [esi + 0x20], 0
je 0x100ab2d4
mov eax, dword [esi + 0x20]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xf0], ecx
cmp eax, 4
jae 0x100ab640
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ab68a
mov dword [esi + 0x3c], edi
mov dword [esi + 0xc], edx
mov dword [esi + 4], ecx
or eax, 1
mov dword [0x102606b4], eax
mov eax, 0xde3f1734
mov ecx, 0x9bd4a67d
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, 0x92399759
mov ecx, 0x64b5ab13
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0x619d5984
mov ecx, 0xc5c435b
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov eax, 0x9db8cf2
mov ecx, 0x7278c207
mov edx, 0xad5e5577
mov edi, 0xefbae318
mov dword [esi + 0xa4], edi
mov dword [esi + 0xa0], edx
mov edx, 0xbf40e330
mov edi, 0x12eac62d
mov dword [esi + 0xac], edi
mov dword [esi + 0xa8], edx
mov edx, 0x13d23ae1
mov edi, 0x62352432
mov dword [esi + 0xb4], edi
mov dword [esi + 0xb0], edx
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x58], eax
mov dword [esi + 0xbc], ecx
mov dword [esi + 0xb8], eax
lea eax, [esi + 0xa0]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x40]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x40], xmm0
movaps xmm0, xmmword [esi + 0x50]
xorps xmm0, xmmword [eax + 0x10]
mov eax, dword [0x1025adcc]
mov dword [esi + 8], eax
movaps xmmword [esi + 0x50], xmm0
mov dword [esi + 0x7e8], 0x12
lea eax, [esi + 0x40]
lea ecx, [esi + 0x80]
mov dword [esi + 0x10], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x90]
mov dword [esi + 0x20], eax
cmp dword [esi + 0x94], 0x10
jb 0x100ab283
mov eax, dword [esi + 0x80]
mov dword [esi + 0x10], eax
cmp dword [esi + 0x20], 0
je 0x100ab2de
mov eax, dword [esi + 0x20]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xf0], ecx
cmp eax, 4
jae 0x100ab71a
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ab764
mov ecx, 0x811c9dc5
jmp 0x100ab34f
mov ecx, 0x811c9dc5
jmp 0x100ab420
mov ecx, 0x811c9dc5
jmp 0x100ab4f4
mov ecx, 0x811c9dc5
jmp 0x100ab5cd
mov ecx, 0x811c9dc5
jmp 0x100ab6ad
mov ecx, 0x811c9dc5
jmp 0x100ab787
mov edi, dword [esi + 0x20]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x10]
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 0x100ab2f8
cmp dword [esi + 4], 0
je 0x100ab34f
add edx, dword [esi + 0x10]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 4], edi
jne 0x100ab33d
mov edx, dword [esi + 0xc]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100abca6
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x20]
cmp eax, dword [ebx + 0x18]
jne 0x100ab393
cmp dword [ebx + 0x1c], 0x10
jb 0x100ab37d
mov eax, dword [ebx + 8]
jmp 0x100ab380
lea eax, [ebx + 8]
push dword [esi + 0x20]
push eax
push dword [esi + 0x10]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100ab3a0
cmp ebx, edi
je 0x100abca6
mov ebx, dword [ebx + 4]
jmp 0x100ab36a
add ebx, 0x20
lea ecx, [esi + 0x40]
call fcn.10015110
mov dword [0x10260700], ebx
mov edi, dword [esi + 8]
jmp 0x100a9aa8
mov edi, dword [esi + 0x20]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x10]
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 0x100ab3c9
cmp dword [esi + 4], 0
je 0x100ab420
add edx, dword [esi + 0x10]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 4], edi
jne 0x100ab40e
mov edx, dword [esi + 0xc]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100abcbd
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x20]
cmp eax, dword [ebx + 0x18]
jne 0x100ab464
cmp dword [ebx + 0x1c], 0x10
jb 0x100ab44e
mov eax, dword [ebx + 8]
jmp 0x100ab451
lea eax, [ebx + 8]
push dword [esi + 0x20]
push eax
push dword [esi + 0x10]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100ab471
cmp ebx, edi
je 0x100abcbd
mov ebx, dword [ebx + 4]
jmp 0x100ab43b
add ebx, 0x20
lea ecx, [esi + 0x80]
call fcn.10015110
mov dword [0x10260710], ebx
mov edi, dword [esi + 8]
jmp 0x100a9af0
mov edi, dword [esi + 0x20]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x10]
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 0x100ab49d
cmp dword [esi + 4], 0
je 0x100ab4f4
add edx, dword [esi + 0x10]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 4], edi
jne 0x100ab4e2
mov edx, dword [esi + 8]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100abcd4
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x20]
cmp eax, dword [ebx + 0x18]
jne 0x100ab538
cmp dword [ebx + 0x1c], 0x10
jb 0x100ab522
mov eax, dword [ebx + 8]
jmp 0x100ab525
lea eax, [ebx + 8]
push dword [esi + 0x20]
push eax
push dword [esi + 0x10]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100ab545
cmp ebx, edi
je 0x100abcd4
mov ebx, dword [ebx + 4]
jmp 0x100ab50f
add ebx, 0x20
lea ecx, [esi + 0x80]
call fcn.10015110
mov dword [0x102606e0], ebx
mov eax, dword [0x102606e4]
mov edx, dword [esi + 0xc]
jmp 0x100a9dee
mov edi, dword [esi + 0x20]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x10]
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 0x100ab576
cmp dword [esi + 4], 0
je 0x100ab5cd
add edx, dword [esi + 0x10]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 4], edi
jne 0x100ab5bb
mov edx, dword [esi + 8]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100abceb
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x20]
cmp eax, dword [ebx + 0x18]
jne 0x100ab611
cmp dword [ebx + 0x1c], 0x10
jb 0x100ab5fb
mov eax, dword [ebx + 8]
jmp 0x100ab5fe
lea eax, [ebx + 8]
push dword [esi + 0x20]
push eax
push dword [esi + 0x10]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100ab61e
cmp ebx, edi
je 0x100abceb
mov ebx, dword [ebx + 4]
jmp 0x100ab5e8
lea edi, [ebx + 0x20]
lea ecx, [esi + 0x80]
call fcn.10015110
mov dword [0x102606e0], edi
mov ecx, dword [ebx + 0x24]
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 0x3c]
jmp 0x100a9e04
mov edi, dword [esi + 0x20]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x10]
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 0x100ab650
cmp dword [esi + 0xf0], 0
je 0x100ab6ad
add edx, dword [esi + 0x10]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0xf0], edi
jne 0x100ab698
mov edx, dword [esi + 8]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100abd02
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x20]
cmp eax, dword [ebx + 0x18]
jne 0x100ab6f1
cmp dword [ebx + 0x1c], 0x10
jb 0x100ab6db
mov eax, dword [ebx + 8]
jmp 0x100ab6de
lea eax, [ebx + 8]
push dword [esi + 0x20]
push eax
push dword [esi + 0x10]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100ab6fe
cmp ebx, edi
je 0x100abd02
mov ebx, dword [ebx + 4]
jmp 0x100ab6c8
add ebx, 0x20
lea ecx, [esi + 0xa0]
call fcn.10015110
mov dword [0x102606b8], ebx
mov ecx, dword [esi + 4]
jmp 0x100aa37e
mov edi, dword [esi + 0x20]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x10]
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 0x100ab72a
cmp dword [esi + 0xf0], 0
je 0x100ab787
add edx, dword [esi + 0x10]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0xf0], edi
jne 0x100ab772
mov edx, dword [esi + 8]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100abd19
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x20]
cmp eax, dword [ebx + 0x18]
jne 0x100ab7cb
cmp dword [ebx + 0x1c], 0x10
jb 0x100ab7b5
mov eax, dword [ebx + 8]
jmp 0x100ab7b8
lea eax, [ebx + 8]
push dword [esi + 0x20]
push eax
push dword [esi + 0x10]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100ab7d8
cmp ebx, edi
je 0x100abd19
mov ebx, dword [ebx + 4]
jmp 0x100ab7a2
add ebx, 0x20
lea ecx, [esi + 0x80]
call fcn.10015110
mov dword [0x102606b0], ebx
mov ecx, dword [esi + 4]
mov edx, dword [esi + 0xc]
mov edi, dword [esi + 0x3c]
jmp 0x100aa39b
mov dword [esi + 0x3c], ecx
or eax, 1
mov dword [0x1025af78], eax
mov eax, dword [0x1025adcc]
mov dword [esi + 0xc], eax
mov eax, 0xde3f1734
mov ecx, 0xa8e9a07d
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, 0xde2e8642
mov ecx, 0x2cc7a349
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0x47b4658c
mov ecx, 0x155a565a
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov ecx, 0x6cb6e5a6
mov eax, 0x7278c207
mov edx, 0x7278c207
mov dword [esi + 0x5c], edx
mov dword [esi + 0x58], ecx
mov ecx, 0xad5e5577
mov edx, 0xefbae318
mov dword [esi + 0xa4], edx
mov dword [esi + 0xa0], ecx
mov ecx, 0xbf40e330
mov edx, 0x12eac62d
mov dword [esi + 0xac], edx
mov dword [esi + 0xa8], ecx
mov ecx, 0x13d23ae1
mov edx, 0x62352432
mov dword [esi + 0xb4], edx
mov dword [esi + 0xb0], ecx
mov ecx, 0x9db8cf2
mov dword [esi + 0xbc], eax
mov dword [esi + 0xb8], ecx
lea eax, [esi + 0xa0]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x40]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x40], xmm0
movaps xmm0, xmmword [esi + 0x50]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0x50], xmm0
mov dword [esi + 0x7e8], 6
lea eax, [esi + 0x40]
lea ecx, [esi + 0x80]
mov dword [esi + 4], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x90]
mov dword [esi + 0x10], eax
cmp dword [esi + 0x94], 0x10
jb 0x100ab8fb
mov eax, dword [esi + 0x80]
mov dword [esi + 4], eax
cmp dword [esi + 0x10], 0
je 0x100ababa
mov eax, dword [esi + 0x10]
mov ecx, eax
and ecx, 3
mov dword [esi + 8], ecx
cmp eax, 4
jae 0x100abac1
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100abb0b
mov dword [esi + 0x3c], ecx
or eax, 1
mov dword [0x1025af40], eax
mov eax, dword [0x1025adcc]
mov dword [esi + 0xc], eax
mov eax, 0xde3f1734
mov ecx, 0x9bcea27d
mov dword [esi + 0xa4], ecx
mov dword [esi + 0xa0], eax
mov eax, 0xca228a42
mov ecx, 0x7e88a759
mov dword [esi + 0xac], ecx
mov dword [esi + 0xa8], eax
mov eax, 0x76a67384
mov ecx, 0xf0b095f
mov dword [esi + 0xb4], ecx
mov dword [esi + 0xb0], eax
mov eax, 0x7d92e5ad
mov ecx, 0x173caf62
mov dword [esi + 0xbc], ecx
mov dword [esi + 0xb8], eax
mov eax, 0xb326f0cd
mov ecx, 0xe6ea7980
mov dword [esi + 0xc4], ecx
mov dword [esi + 0xc0], eax
mov eax, 0x572b445d
mov ecx, 0x6fdbd1
mov dword [esi + 0xcc], ecx
mov dword [esi + 0xc8], eax
mov eax, 0xad5e5577
mov ecx, 0xefbae318
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], eax
mov eax, 0xbf40e330
mov ecx, 0x12eac62d
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov eax, 0x13d23ae1
mov ecx, 0x62352432
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], eax
mov eax, 0x9db8cf2
mov ecx, 0x7278c207
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x58], eax
mov eax, 0xda4899ab
mov ecx, 0x888510f4
mov dword [esi + 0x64], ecx
mov dword [esi + 0x60], eax
mov eax, 0x324f2a14
mov ecx, 0x6fdba9
mov dword [esi + 0x6c], ecx
mov dword [esi + 0x68], eax
lea eax, [esi + 0x40]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0xa0]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0xa0], xmm0
movaps xmm0, xmmword [esi + 0xb0]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0xb0], xmm0
movaps xmm0, xmmword [esi + 0xc0]
xorps xmm0, xmmword [eax + 0x20]
movaps xmmword [esi + 0xc0], xmm0
mov dword [esi + 0x7e8], 4
lea eax, [esi + 0xa0]
lea ecx, [esi + 0x80]
mov dword [esi + 4], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x90]
mov dword [esi + 0x10], eax
cmp dword [esi + 0x94], 0x10
jb 0x100aba90
mov eax, dword [esi + 0x80]
mov dword [esi + 4], eax
cmp dword [esi + 0x10], 0
je 0x100abb99
mov eax, dword [esi + 0x10]
mov ecx, eax
and ecx, 3
mov dword [esi + 8], ecx
cmp eax, 4
jae 0x100abba0
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100abbea
mov ecx, 0x811c9dc5
jmp 0x100abb28
mov edi, dword [esi + 0x10]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 4]
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 0x100abad1
cmp dword [esi + 8], 0
je 0x100abb28
add edx, dword [esi + 4]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 8], edi
jne 0x100abb16
mov edx, dword [esi + 0xc]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100abd30
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x10]
cmp eax, dword [ebx + 0x18]
jne 0x100abb6c
cmp dword [ebx + 0x1c], 0x10
jb 0x100abb56
mov eax, dword [ebx + 8]
jmp 0x100abb59
lea eax, [ebx + 8]
push dword [esi + 0x10]
push eax
push dword [esi + 4]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100abb79
cmp ebx, edi
je 0x100abd30
mov ebx, dword [ebx + 4]
jmp 0x100abb43
add ebx, 0x20
lea ecx, [esi + 0x80]
call fcn.10015110
mov dword [0x1025af74], ebx
movaps xmm3, xmmword [esi + 0x20]
mov ecx, dword [esi + 0x3c]
jmp 0x100a9d04
mov ecx, 0x811c9dc5
jmp 0x100abc07
mov edi, dword [esi + 0x10]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 4]
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 0x100abbb0
cmp dword [esi + 8], 0
je 0x100abc07
add edx, dword [esi + 4]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 8], edi
jne 0x100abbf5
mov edx, dword [esi + 0xc]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100abd47
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x10]
cmp eax, dword [ebx + 0x18]
jne 0x100abc4b
cmp dword [ebx + 0x1c], 0x10
jb 0x100abc35
mov eax, dword [ebx + 8]
jmp 0x100abc38
lea eax, [ebx + 8]
push dword [esi + 0x10]
push eax
push dword [esi + 4]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100abc58
cmp ebx, edi
je 0x100abd47
mov ebx, dword [ebx + 4]
jmp 0x100abc22
add ebx, 0x20
lea ecx, [esi + 0x80]
call fcn.10015110
mov dword [0x1025af3c], ebx
movaps xmm3, xmmword [esi + 0x20]
mov ecx, dword [esi + 0x3c]
jmp 0x100a9ca8
mov dword [esi + 0x7e8], 0xf
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 + 0x7e8], 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 + 0x7e8], 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 + 0x7e8], 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 + 0x7e8], 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 + 0x7e8], 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 + 0x7e8], 0x11
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 + 0x7e8], 0x13
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 + 0x7e8], 7
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 + 0x7e8], 5
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
nop
push ebp
sub esp, 0x14
lea esi, [ebp - 0x7ec]
mov ebp, dword [esi + 0x7d8]
lea ecx, [esi + 0x40]
call fcn.10015110
add esp, 0x14
pop ebp
ret