Function at 0x100e938e
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, 0x31e0
call fcn.10155d20
mov esi, esp
mov dword [esi + 0x31b8], ebp
mov edx, ecx
mov dword [esi + 0x31bc], esp
mov dword [esi + 0x31c8], 0xffffffff
lea eax, [esi + 0x31c0]
mov dword [esi + 0x31c4], 0x100ef240
mov ecx, dword fs:[0]
mov dword [esi + 0x31c0], ecx
mov dword fs:[0], eax
mov eax, dword [0x10259d94]
cmp dword [eax], 0
je 0x100e8389
mov ecx, dword [0x10259da0]
mov eax, dword [ecx]
mov dword [esi + 0xbc], edx
call dword [eax + 0x68]
mov edx, dword [esi + 0xbc]
test al, al
je 0x100e8389
mov edi, dword [edx]
mov eax, dword [edx + 0xc]
mov ebx, dword [edx + 0x10]
mov edx, eax
add ebx, eax
mov dword [esi + 0x1c], ebx
jmp 0x100e8431
mov ecx, edx
call fcn.10019ef0
jmp 0x100ea960
movss xmm0, dword [esi + 0x160]
mov dword [esi + 0xc0], 0
movss dword [esi + 0xc4], xmm0
mov dword [esi + 0xc8], 0
mov eax, dword [0x10259d58]
mov ecx, edi
lea edx, [esi + 0xc0]
push edx
call dword [eax + 0x14]
mov eax, dword [esi + 0x3198]
mov dword [edi + 0x26ac], eax
mov eax, dword [esi + 0x319c]
mov dword [edi + 0x26b0], eax
mov eax, dword [esi + 0x3194]
shl eax, 4
lea eax, [eax + eax*2]
push eax
lea eax, [esi + 0x194]
push eax
push dword [edi + 0x2910]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x31a0]
mov dword [edi + 0x2690], eax
mov edi, dword [esi + 0xb8]
mov edx, dword [esi + 0xb0]
mov ecx, dword [esi + 0x18]
mov byte [ecx + 0x64], 1
nop word cs:[eax + eax]
inc edx
cmp edx, ebx
je 0x100ea6b6
mov eax, dword [edi]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
dec eax
and eax, edx
mov ecx, dword [ecx + eax*4]
cmp byte [ecx + 0x64], 0
jne 0x100e8430
mov eax, dword [ecx + 0x78]
test eax, eax
je 0x100e8430
mov dword [esi + 0x18], ecx
mov ecx, dword [0x10259d9c]
cmp dword [ecx + 0x1c], eax
mov ecx, dword [esi + 0x18]
jl 0x100e8430
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x100e841f
cmp dword [ecx + 0x10], 0
je 0x100e841f
mov ebx, dword [eax]
mov eax, ebx
mov dword [esi + 0x10], ebx
test ebx, ebx
mov ebx, dword [esi + 0x1c]
je 0x100e841f
mov dword [esi + 0xb8], edi
mov eax, dword [0x10259ee8]
test al, 1
je 0x100e9522
mov edi, dword [0x10259ee4]
mov eax, dword [edi + 4]
mov edi, dword [esi + 0x10]
cmp dword [eax + edi], 0
mov edi, dword [esi + 0xb8]
jle 0x100e841f
mov eax, dword [0x10259ef0]
test al, 1
je 0x100e9662
mov edi, dword [0x10259eec]
mov eax, dword [edi + 4]
mov edi, dword [esi + 0x10]
cmp byte [eax + edi], 0
mov edi, dword [esi + 0xb8]
jne 0x100e841f
mov dword [esi + 0xb0], edx
mov eax, dword [ecx + 0xc]
mov eax, dword [eax]
mov dword [esi + 0x10], eax
push 0x3044
push 0
lea eax, [esi + 0x160]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [0x1025f694]
test al, 1
je 0x100e9883
mov edi, dword [0x1025f690]
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx + eax - 0x14]
test eax, eax
je 0x100e852d
movss xmm0, dword [eax + 0x80]
movss dword [esi + 0x160], xmm0
mov eax, dword [0x1025f644]
test al, 1
je 0x100e9996
mov edi, dword [0x1025f640]
mov eax, dword [edi + 4]
mov edi, dword [esi + 0x10]
mov ecx, dword [eax + edi + 8]
lea edx, [esi + 0x164]
mov dword [edx + 8], ecx
movsd xmm0, qword [eax + edi]
movsd qword [edx], xmm0
mov eax, dword [0x1025f64c]
test al, 1
je 0x100e9aa9
mov edi, dword [0x1025f648]
mov eax, dword [edi + 4]
mov edi, dword [esi + 0x10]
mov ecx, dword [eax + edi + 8]
lea edx, [esi + 0x170]
mov dword [edx + 8], ecx
movsd xmm0, qword [eax + edi]
movsd qword [edx], xmm0
mov eax, dword [0x1025f654]
test al, 1
je 0x100e9b6e
mov edi, dword [0x1025f650]
mov eax, dword [edi + 4]
mov edi, dword [esi + 0x10]
mov ecx, dword [eax + edi + 8]
lea edx, [esi + 0x17c]
mov dword [edx + 8], ecx
movsd xmm0, qword [eax + edi]
movsd qword [edx], xmm0
mov eax, dword [0x1025f65c]
test al, 1
je 0x100e9c81
mov edi, dword [0x1025f658]
mov eax, dword [edi + 4]
mov edi, dword [esi + 0x10]
mov ecx, dword [eax + edi + 8]
lea edx, [esi + 0x188]
mov dword [edx + 8], ecx
movsd xmm0, qword [eax + edi]
movsd qword [edx], xmm0
mov eax, dword [edi + 0x26ac]
mov dword [esi + 0x3198], eax
mov eax, dword [edi + 0x26b0]
mov dword [esi + 0x319c], eax
mov eax, dword [edi + 0x291c]
shl eax, 4
lea eax, [eax + eax*2]
push eax
push dword [edi + 0x2910]
lea eax, [esi + 0x194]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x291c]
mov dword [esi + 0x3194], eax
mov eax, dword [edi + 0x2690]
mov dword [esi + 0x31a0], eax
mov edi, dword [esi + 0x18]
cmp dword [edi + 0x8c], 0
mov ecx, dword [edi + 0x10]
je 0x100e8ace
cmp byte [ecx + 1], 0
je 0x100e930c
xorps xmm0, xmm0
movaps xmmword [esi + 0x100], xmm0
movaps xmmword [esi + 0xf0], xmm0
movaps xmmword [esi + 0xe0], xmm0
movaps xmmword [esi + 0xd0], xmm0
movaps xmmword [esi + 0xc0], xmm0
mov dword [esi + 0x110], 0
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
mov ecx, dword [ecx + 0x18]
xor edi, edi
cmp ecx, 3
cmovge ecx, edi
mov eax, dword [eax]
mov dword [esi + 8], eax
mov dword [esi + 0x58], ecx
mov dword [esi + 4], ecx
jmp 0x100e86c2
mov ecx, dword [esi + 0x14]
lea edi, [ecx + 1]
cmp ecx, 1
mov ebx, dword [esi + 0x1c]
ja 0x100e92f5
mov dword [esi + 0x14], edi
mov ebx, dword [esi + 4]
add ebx, edi
mov eax, ebx
mov ecx, 0x55555556
imul ecx
mov eax, dword [esi + 0x18]
mov ecx, dword [eax + 0x10]
test edi, edi
jne 0x100e8758
mov eax, dword [0x1025f644]
test al, 1
mov dword [esi + 0xc], edx
mov dword [esi + 0x10], ecx
je 0x100e88c9
mov edi, dword [0x1025f640]
mov dword [esi + 0x31c8], 0xffffffff
lea eax, [ecx + 0x6c]
mov ecx, dword [edi + 4]
mov edx, dword [eax + 8]
mov edi, dword [esi + 8]
mov dword [ecx + edi + 8], edx
movsd xmm0, qword [eax]
movsd qword [ecx + edi], xmm0
mov edx, dword [0x10259d58]
mov ecx, edi
push eax
call dword [edx + 0x18]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xc]
mov ecx, dword [esi + 0x10]
test eax, eax
mov edx, dword [esi + 0xc]
je 0x100e8758
lea edx, [ecx + 0x78]
lea edi, [ecx + 0x84]
mov dword [esi + 4], ebx
mov ebx, dword [0x10259d58]
mov ecx, eax
push edi
push edx
call dword [ebx + 0x28]
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
mov ebx, dword [esi + 4]
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
sub ebx, eax
add ecx, 0x3c8
mov dword [esi + 0x31c8], 0xffffffff
cmp ebx, 3
jae 0x100ea974
mov dword [esi + 4], ebx
imul ebx, ebx, 0x32e0
lea eax, [ecx + ebx]
mov dword [esi + 0xc], eax
movss xmm0, dword [ecx + ebx + 0x3004]
mov dword [esi + 0x60], 0
movss dword [esi + 0x64], xmm0
mov dword [esi + 0x68], 0
mov eax, dword [0x10259d58]
mov edi, dword [esi + 8]
mov dword [esi + 0x10], ecx
mov ecx, edi
lea edx, [esi + 0x60]
push edx
call dword [eax + 0x14]
mov eax, dword [esi + 0x10]
mov eax, dword [eax + ebx + 0x3000]
shl eax, 4
lea eax, [eax + eax*2]
push eax
push dword [esi + 0xc]
push dword [edi + 0x2910]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [0x10259d58]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 0xa]
mov eax, dword [eax]
mov dword [edi + 0x2690], eax
mov ecx, dword [0x10259dbc]
mov ebx, dword [esi + 0x18]
mov eax, dword [ebx + 0xc]
mov eax, dword [eax]
mov edx, dword [ebx + 8]
mov dword [esi + 0x68], edx
movsd xmm0, qword [ebx]
movsd qword [esi + 0x60], xmm0
mov dword [esi + 0x6c], 0
movss xmm0, dword [ebx + 0x84]
subss xmm0, dword [ebx + 8]
movsd xmm2, qword [ebx]
movsd xmm1, qword [ebx + 0x7c]
subps xmm1, xmm2
movlps qword [esi + 0x70], xmm1
movss dword [esi + 0x78], xmm0
xorps xmm2, xmm2
lea edx, [esi + 0x7c]
movups xmmword [edx + 0x10], xmm2
movups xmmword [edx], xmm2
mov dword [edx + 0x24], 0
mov dword [edx + 0x20], 0
mov byte [esi + 0xa4], 1
movaps xmm2, xmm1
mulps xmm2, xmm1
shufps xmm2, xmm2, 0x55
mulss xmm1, xmm1
addss xmm1, xmm2
mulss xmm0, xmm0
addss xmm0, xmm1
ucomiss xmm0, dword [0x101a8780]
setp dl
setne dh
or dh, dl
mov byte [esi + 0xa5], dh
mov edx, dword [ecx]
lea edi, [esi + 0xc0]
push edi
push eax
push 0x4600400b
lea eax, [esi + 0x60]
push eax
call dword [edx + 0xc]
mov eax, dword [ebx + 0xc]
mov eax, dword [eax]
mov dword [esi + 8], eax
cmp dword [esi + 0x10c], eax
jne 0x100e86b0
mov eax, dword [esi + 0x104]
cmp eax, dword [ebx + 0x90]
jne 0x100e86b0
jmp 0x100e925f
mov dword [esi + 4], ebx
or eax, 1
mov dword [0x1025f644], eax
mov eax, 0x7096200
mov ecx, 0xdbe13c86
mov dword [esi + 0x24], eax
mov dword [esi + 0x20], ecx
mov eax, 0xe7d5452a
mov ecx, 0xe1b9c7b7
mov dword [esi + 0x2c], eax
mov dword [esi + 0x28], ecx
mov eax, 0xeff6d552
mov ecx, 0x112309a2
mov dword [esi + 0x34], eax
mov dword [esi + 0x30], ecx
mov eax, 0xeaa104f0
mov ecx, 0xbf48e8ca
mov edx, 0xa8807ec5
mov edi, 0x73672765
mov dword [esi + 0x64], edi
mov dword [esi + 0x60], edx
mov edx, 0xccc0b3de
mov edi, 0x918a2814
mov dword [esi + 0x6c], edi
mov dword [esi + 0x68], edx
mov edx, 0x636c6ac7
mov edi, 0x819fb23b
mov dword [esi + 0x74], edi
mov dword [esi + 0x70], edx
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 [0x10259d5c]
mov dword [esi + 0x130], eax
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0x31c8], 0xe
lea ecx, [esi + 0x138]
lea eax, [esi + 0x20]
push eax
call fcn.10015240
cmp dword [esi + 0x14c], 0x10
lea eax, [esi + 0x138]
mov dword [esi + 0xb4], eax
jb 0x100e89ab
mov eax, dword [esi + 0x138]
mov dword [esi + 0xb4], eax
mov eax, dword [esi + 0x148]
mov dword [esi + 0x5c], eax
test eax, eax
je 0x100e89d4
mov eax, dword [esi + 0x5c]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x12c], ecx
cmp eax, 4
jae 0x100e89db
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100e8a28
mov ecx, 0x811c9dc5
jmp 0x100e8a4e
mov edi, dword [esi + 0x5c]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0xb4]
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 0x100e89e8
cmp dword [esi + 0x12c], 0
je 0x100e8a4e
add edx, dword [esi + 0xb4]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x12c], edi
jne 0x100e8a39
mov edx, dword [esi + 0x130]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100ea987
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 0x5c]
cmp eax, dword [edi + 0x18]
jne 0x100e8a98
cmp dword [edi + 0x1c], 0x10
jb 0x100e8a7f
mov eax, dword [edi + 8]
jmp 0x100e8a82
lea eax, [edi + 8]
push dword [esi + 0x5c]
push eax
push dword [esi + 0xb4]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100e8aa5
cmp edi, ebx
je 0x100ea987
mov edi, dword [edi + 4]
jmp 0x100e8a6c
add edi, 0x20
lea ecx, [esi + 0x138]
call fcn.10014f60
mov dword [0x1025f640], edi
mov dword [esi + 0x31c8], 0xffffffff
mov ebx, dword [esi + 4]
mov ecx, dword [esi + 0x10]
jmp 0x100e8700
mov eax, dword [ecx + 0x18]
mov dword [esi + 8], eax
mov eax, dword [edi + 0xc]
mov eax, dword [eax]
mov dword [esi + 0x10], eax
mov eax, dword [0x1025f644]
test al, 1
je 0x100e9f8b
mov ebx, dword [0x1025f640]
mov dword [esi + 0x31c8], 0xffffffff
lea eax, [ecx + 0x6c]
mov edi, ecx
mov ecx, dword [ebx + 4]
mov edx, dword [eax + 8]
mov ebx, dword [esi + 0x10]
mov dword [ecx + ebx + 8], edx
movsd xmm0, qword [eax]
movsd qword [ecx + ebx], xmm0
mov edx, dword [0x10259d58]
mov ecx, ebx
push eax
call dword [edx + 0x18]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xc]
test eax, eax
je 0x100e8b46
lea ecx, [edi + 0x78]
mov dword [esi + 4], ecx
lea edx, [edi + 0x84]
mov ebx, dword [0x10259d58]
mov ecx, eax
push edx
push dword [esi + 4]
call dword [ebx + 0x28]
mov eax, dword [esi + 8]
cmp eax, 2
jg 0x100e8b5e
add edi, 0x3c8
cmp eax, 3
jb 0x100e8b70
jmp 0x100ea980
add edi, 0x9c68
add eax, 0xfffffffd
cmp eax, 2
jae 0x100ea979
imul eax, eax, 0x32e0
add edi, eax
mov dword [esi + 4], edi
movss xmm0, dword [edi + 0x3004]
mov dword [esi + 0xc0], 0
movss dword [esi + 0xc4], xmm0
mov dword [esi + 0xc8], 0
mov eax, dword [0x10259d58]
mov ebx, dword [esi + 0x10]
mov ecx, ebx
lea edi, [esi + 0xc0]
push edi
call dword [eax + 0x14]
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 0x3000]
shl eax, 4
lea eax, [eax + eax*2]
push eax
push ecx
push dword [ebx + 0x2910]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [0x10259d58]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 0xa]
mov eax, dword [eax]
mov dword [ebx + 0x2690], eax
xorpd xmm3, xmm3
movapd xmmword [esi + 0x100], xmm3
movapd xmmword [esi + 0xf0], xmm3
movapd xmmword [esi + 0xe0], xmm3
movapd xmmword [esi + 0xd0], xmm3
movapd xmmword [esi + 0xc0], xmm3
mov dword [esi + 0x110], 0
mov ecx, dword [0x10259dbc]
mov edi, dword [esi + 0x18]
mov eax, dword [edi + 0xc]
mov eax, dword [eax]
mov edx, dword [edi + 8]
mov dword [esi + 0x68], edx
movsd xmm0, qword [edi]
movsd qword [esi + 0x60], xmm0
mov dword [esi + 0x6c], 0
movss xmm0, dword [edi + 0x84]
subss xmm0, dword [edi + 8]
movsd xmm2, qword [edi]
movsd xmm1, qword [edi + 0x7c]
subps xmm1, xmm2
movlps qword [esi + 0x70], xmm1
movss dword [esi + 0x78], xmm0
lea edx, [esi + 0x7c]
movupd xmmword [edx + 0x10], xmm3
movupd xmmword [edx], xmm3
mov dword [edx + 0x24], 0
mov dword [edx + 0x20], 0
mov byte [esi + 0xa4], 1
movaps xmm2, xmm1
mulps xmm2, xmm1
shufps xmm2, xmm2, 0x55
mulss xmm1, xmm1
addss xmm1, xmm2
mulss xmm0, xmm0
addss xmm0, xmm1
ucomiss xmm0, dword [0x101a8780]
setp dl
setne dh
or dh, dl
mov byte [esi + 0xa5], dh
mov edx, dword [ecx]
lea ebx, [esi + 0xc0]
push ebx
push eax
push 0x4600400b
lea eax, [esi + 0x60]
push eax
call dword [edx + 0xc]
mov eax, dword [esi + 0x10c]
mov ecx, dword [edi + 0xc]
cmp eax, dword [ecx]
je 0x100e8d20
movss xmm0, dword [edi + 8]
subss xmm0, dword [edi + 0x2c]
movss xmm1, dword [edi]
movss xmm2, dword [edi + 4]
subss xmm2, dword [edi + 0x28]
subss xmm1, dword [edi + 0x24]
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm1, xmm2
mulss xmm0, xmm0
addss xmm0, xmm1
cvtss2sd xmm0, xmm0
xorpd xmm3, xmm3
ucomisd xmm0, xmm3
jb 0x100e8f44
sqrtsd xmm0, xmm0
jmp 0x100e8f69
mov ecx, dword [0x10259d4c]
call fcn.1014cbb0
mov eax, 0xdbf317a8
mov ecx, 0x474300
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xecb4dcb6
mov ecx, 0xb1ef5d70
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x634c05b3
mov ecx, 0x819fb23b
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov ecx, 0xeaa104f0
mov eax, 0xbf48e8ca
mov dword [esi + 4], eax
mov dword [esi + 0x10], ecx
mov ecx, 0xa8807ec5
mov edx, 0x73672765
mov dword [esi + 0xc], edx
mov dword [esi + 8], ecx
mov ecx, 0xccc0b3de
mov eax, 0x918a2814
mov dword [esi + 0x58], eax
mov dword [esi + 0x14], ecx
mov edx, 0x636c6ac7
mov eax, 0x819fb23b
mov dword [esi + 0x5c], 0
lea ecx, [esi + 0x60]
mov ebx, dword [esi + 0x5c]
mov ebx, dword [esi + 4]
mov dword [esi + 0x3c], ebx
mov ebx, dword [esi + 0x10]
mov dword [esi + 0x38], ebx
mov ebx, dword [esi + 0xc]
mov dword [esi + 0x64], ebx
mov ebx, dword [esi + 8]
mov dword [esi + 0x60], ebx
mov ebx, dword [esi + 0x58]
mov dword [esi + 0x6c], ebx
mov ebx, dword [esi + 0x14]
mov dword [esi + 0x68], ebx
mov dword [esi + 0xb4], eax
mov dword [esi + 0x74], eax
mov dword [esi + 0x5c], edx
mov dword [esi + 0x70], edx
mov eax, dword [esi + 4]
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x78], eax
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [ecx]
movaps xmmword [esi + 0x20], xmm0
movaps xmm0, xmmword [esi + 0x30]
xorps xmm0, xmmword [ecx + 0x10]
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0x60], 0xff998877
mov eax, dword [0x10259d4c]
lea ebx, [esi + 0x20]
push ebx
lea ebx, [esi + 0x60]
push ebx
push 1
push 1
push eax
call fcn.1014c8f0
add esp, 0x14
mov eax, 0x88e41fa7
mov ecx, 0x1c144217
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xc6a5c5b2
mov ecx, 0x918a2814
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
xor eax, eax
mov ecx, ebx
mov eax, dword [esi + 0xc]
mov dword [esi + 0x64], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x58]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x14]
mov dword [esi + 0x68], eax
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [ecx]
mov eax, dword [0x10259d4c]
movaps xmmword [esi + 0x20], xmm0
mov dword [esi + 0x60], 0xff0045ff
lea ecx, [esi + 0x20]
push ecx
push ebx
push 1
push 1
push eax
call fcn.1014c8f0
add esp, 0x14
mov eax, dword [edi + 0xc]
inc dword [eax + 0x3030]
mov eax, dword [edi + 0x10]
cmp byte [eax + 1], 0
je 0x100e9257
cmp dword [edi + 0x4c], 2
jg 0x100e9257
test byte [eax + 0xc], 1
je 0x100e9257
cmp byte [eax + 3], 0
jne 0x100e9257
cmp byte [eax + 4], 0
jne 0x100e9257
mov ebx, dword [eax + 0x18]
test ebx, ebx
je 0x100e938b
mov ecx, dword [edi + 0xc]
cmp dword [ecx + 0x303c], 1
jne 0x100e8ee8
mov byte [ecx + 0x302d], 0
mov eax, dword [edi + 0x10]
mov ebx, dword [eax + 0x18]
test ebx, ebx
je 0x100e938b
mov ecx, dword [edi + 0xc]
cmp dword [ecx + 0x303c], 2
jne 0x100e8f09
mov byte [ecx + 0x302e], 0
mov eax, dword [edi + 0x10]
mov ebx, dword [eax + 0x18]
test ebx, ebx
je 0x100e938b
mov ecx, dword [edi + 0xc]
cmp dword [ecx + 0x303c], 3
jne 0x100e8f25
mov byte [ecx + 0x302c], 0
mov eax, dword [esi + 0x18]
mov eax, dword [eax + 0x10]
mov ebx, dword [eax + 0x18]
add eax, 0x18
cmp ebx, 4
ja case.default.0x100e8f33
mov ecx, ebx
jmp dword [ebx*4 + 0x101b0e28]
mov edx, 1
jmp 0x100e93b9
sub esp, 8
movsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
mov edi, dword [esi + 0x18]
xorpd xmm3, xmm3
add esp, 8
fstp qword [esi + 0x158]
movsd xmm0, qword [esi + 0x158]
cvtsd2ss xmm4, xmm0
addss xmm4, dword [0x101a8fc8]
movss xmm0, dword [edi + 8]
subss xmm0, dword [edi + 0x84]
movss xmm1, dword [edi]
movss xmm2, dword [edi + 4]
subss xmm2, dword [edi + 0x80]
subss xmm1, dword [edi + 0x7c]
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm1, xmm2
mulss xmm0, xmm0
addss xmm0, xmm1
cvtss2sd xmm0, xmm0
ucomisd xmm0, xmm3
jb 0x100e8fbc
sqrtsd xmm0, xmm0
jmp 0x100e8fe4
sub esp, 8
movsd qword [esp], xmm0
movss dword [esi + 0x10], xmm4
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movss xmm4, dword [esi + 0x10]
add esp, 8
fstp qword [esi + 0x150]
movsd xmm0, qword [esi + 0x150]
cvtsd2ss xmm0, xmm0
ucomiss xmm4, xmm0
jbe 0x100e9121
mov ecx, dword [0x10259d4c]
call fcn.1014cbb0
mov eax, 0xdbf317a8
mov ecx, 0x474300
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xecb4dcb6
mov ecx, 0xb1ef5d70
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x819fb23b
mov ecx, 0x634c05b3
mov dword [esi + 0x34], eax
mov dword [esi + 0x30], ecx
mov eax, 0xeaa104f0
mov ecx, 0xbf48e8ca
mov edx, 0xa8807ec5
mov edi, 0x73672765
mov dword [esi + 4], edi
mov dword [esi + 0x10], edx
mov dword [esi + 0x64], edi
mov dword [esi + 0x60], edx
mov ebx, 0x918a2814
mov edx, 0xccc0b3de
mov dword [esi + 8], edx
mov dword [esi + 0x6c], ebx
mov dword [esi + 0x68], edx
mov edx, 0x636c6ac7
mov edi, 0x819fb23b
mov dword [esi + 0x74], edi
mov dword [esi + 0x70], edx
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x7c], ecx
mov dword [esi + 0x38], eax
mov dword [esi + 0x78], eax
xor eax, eax
lea edi, [esi + 0x60]
mov ecx, edi
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [ecx]
movaps xmmword [esi + 0x20], xmm0
movaps xmm0, xmmword [esi + 0x30]
xorps xmm0, xmmword [ecx + 0x10]
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0x60], 0xffc0c0c0
mov eax, dword [0x10259d4c]
lea ecx, [esi + 0x20]
push ecx
push edi
push 1
push 1
push eax
call fcn.1014c8f0
add esp, 0x14
mov eax, 0x1c0e5410
mov ecx, 0xc4e31daa
mov dword [esi + 0x24], eax
mov dword [esi + 0x20], ecx
mov eax, 0x918a2814
mov ecx, 0xccc0b9b0
mov dword [esi + 0x2c], eax
mov dword [esi + 0x28], ecx
mov eax, dword [esi + 4]
mov dword [esi + 0x64], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x60], eax
mov dword [esi + 0x6c], ebx
mov eax, dword [esi + 8]
mov dword [esi + 0x68], eax
xor eax, eax
mov ecx, edi
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [ecx]
mov eax, dword [0x10259d4c]
movaps xmmword [esi + 0x20], xmm0
mov dword [esi + 0x60], 0xff60a4f4
lea ecx, [esi + 0x20]
push ecx
push edi
push 1
push 1
push eax
call fcn.1014c8f0
add esp, 0x14
mov edi, dword [esi + 0x18]
jmp 0x100e9257
mov eax, dword [0x10259d54]
cmp byte [eax + 0xcc], 0
mov edi, dword [esi + 0x18]
je 0x100e9257
mov ecx, dword [0x10259d4c]
call fcn.1014cbb0
mov eax, 0xdbf317a8
mov ecx, 0x474300
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xecb4dcb6
mov ecx, 0xb1ef5d70
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x819fb23b
mov ecx, 0x634c05b3
mov dword [esi + 0x34], eax
mov dword [esi + 0x30], ecx
mov eax, 0xeaa104f0
mov ecx, 0xbf48e8ca
mov edx, 0xa8807ec5
mov edi, 0x73672765
mov dword [esi + 4], edi
mov dword [esi + 0x10], edx
mov dword [esi + 0x64], edi
mov dword [esi + 0x60], edx
mov edx, 0xccc0b3de
mov ebx, 0x918a2814
mov dword [esi + 8], edx
mov dword [esi + 0x6c], ebx
mov dword [esi + 0x68], edx
mov edx, 0x636c6ac7
mov edi, 0x819fb23b
mov dword [esi + 0x74], edi
mov dword [esi + 0x70], edx
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x7c], ecx
mov dword [esi + 0x38], eax
mov dword [esi + 0x78], eax
xor eax, eax
lea edi, [esi + 0x60]
mov ecx, edi
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [ecx]
movaps xmmword [esi + 0x20], xmm0
movaps xmm0, xmmword [esi + 0x30]
xorps xmm0, xmmword [ecx + 0x10]
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0x60], 0xffc0c0c0
mov eax, dword [0x10259d4c]
lea ecx, [esi + 0x20]
push ecx
push edi
push 1
push 1
push eax
call fcn.1014c8f0
add esp, 0x14
mov eax, 0xcdf20eb6
mov ecx, 0x736d4304
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x64], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x60], eax
mov dword [esi + 0x2c], ebx
mov eax, dword [esi + 8]
mov dword [esi + 0x28], eax
mov dword [esi + 0x6c], ebx
mov dword [esi + 0x68], eax
xor eax, eax
mov ecx, edi
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [ecx]
mov eax, dword [0x10259d4c]
movaps xmmword [esi + 0x20], xmm0
mov dword [esi + 0x60], 0xff60a4f4
lea ecx, [esi + 0x20]
push ecx
push edi
push 1
push 1
push eax
call fcn.1014c8f0
mov edi, dword [esi + 0x18]
add esp, 0x14
mov ebx, dword [esi + 0x1c]
jmp 0x100e930c
mov eax, dword [ebx + 0x10]
mov ecx, dword [esi + 4]
cmp ecx, dword [eax + 0x18]
mov ebx, dword [esi + 0x1c]
je 0x100e92f5
mov edx, dword [esi + 4]
mov dword [eax + 0x18], edx
mov ecx, dword [esi + 0x18]
mov eax, dword [ecx + 0xc]
mov dword [eax + 0x3034], edx
mov ecx, dword [ecx + 0xc]
mov eax, dword [ecx + 0x3050]
test eax, eax
je 0x100e92f5
mov edx, dword [ecx + 0x3040]
mov dword [esi + 8], edx
mov edx, dword [ecx + 0x304c]
jmp 0x100e92a8
inc edx
dec eax
mov ebx, dword [esi + 0x1c]
je 0x100e92f5
mov ecx, dword [esi + 8]
mov ecx, dword [ecx]
mov edi, edx
shr edi, 1
mov ebx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
dec ecx
and ecx, edi
mov edi, edx
and edi, 1
mov ecx, dword [ebx + ecx*4]
mov dword [esi + 0x10], ecx
mov ecx, dword [ecx + edi*8]
cmp byte [ecx + 1], 0
je 0x100e92a1
mov ebx, dword [esi + 0x58]
cmp dword [ecx + 0x18], ebx
jne 0x100e92a1
mov ebx, dword [esi + 4]
mov dword [ecx + 0x18], ebx
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx + edi*8]
mov edi, dword [ecx + 0x1c]
cmp edi, 3
mov ebx, 3
cmovge edi, ebx
mov dword [ecx + 0x1c], edi
jmp 0x100e92a1
mov edi, dword [esi + 0x18]
mov eax, dword [edi + 0x10]
mov ecx, dword [eax + 0x1c]
cmp ecx, 3
mov edx, 3
cmovge ecx, edx
mov dword [eax + 0x1c], ecx
mov eax, dword [edi + 0xc]
mov eax, dword [eax]
mov dword [esi + 0x10], eax
mov eax, dword [0x1025f644]
test al, 1
je 0x100e9d9e
mov edi, dword [0x1025f640]
mov dword [esi + 0x31c8], 0xffffffff
mov eax, dword [edi + 4]
lea edx, [esi + 0x164]
mov ecx, dword [edx + 8]
mov edi, dword [esi + 0x10]
mov dword [eax + edi + 8], ecx
movsd xmm0, qword [edx]
movsd qword [eax + edi], xmm0
mov eax, dword [0x10259d58]
mov ecx, edi
lea edx, [esi + 0x170]
push edx
call dword [eax + 0x18]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xc]
test eax, eax
je 0x100e8395
mov edx, dword [0x10259d58]
mov ecx, eax
lea eax, [esi + 0x188]
push eax
lea eax, [esi + 0x17c]
push eax
call dword [edx + 0x28]
jmp 0x100e8395
add eax, 0x18
mov edx, 1
xor ebx, ebx
mov edi, dword [esi + 0x18]
jmp 0x100e93be
xor ecx, ecx
mov edi, dword [esi + 0x18]
cmp dword [edi + 0x4c], 2
setl cl
mov edx, 2
sub edx, ecx
mov ebx, 3
jmp 0x100e93be
mov edx, 2
mov edi, dword [esi + 0x18]
mov ebx, ecx
mov dword [eax], edx
mov eax, dword [edi + 0xc]
mov dword [eax + 0x3034], edx
mov ecx, dword [0x10259d4c]
mov edi, edx
call fcn.1014cbb0
mov eax, 0x16134400
mov ecx, 0xdaf211a6
mov dword [esi + 0x24], eax
mov dword [esi + 0x20], ecx
mov eax, 0xf7aa4d70
mov ecx, 0xa5b393ba
mov dword [esi + 0x2c], eax
mov dword [esi + 0x28], ecx
mov eax, 0xf5bfd61e
mov ecx, 0x430105b5
mov dword [esi + 0x34], eax
mov dword [esi + 0x30], ecx
mov eax, 0xbf48e8c0
mov ecx, 0x8e84249f
mov dword [esi + 0x3c], eax
mov dword [esi + 0x38], ecx
mov eax, dword [esi + 0xc]
mov dword [esi + 0x64], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x58]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x14]
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0xb4]
mov dword [esi + 0x74], eax
mov eax, dword [esi + 0x5c]
mov dword [esi + 0x70], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x78], eax
xor eax, eax
lea edx, [esi + 0x60]
mov ecx, edx
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 [0x10259d4c]
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0x60], 0xff998877
mov dword [esi + 0xc], edi
push edi
mov dword [esi + 8], ebx
push ebx
lea ecx, [esi + 0x20]
push ecx
push edx
push 0
push 1
push eax
call fcn.1014c8f0
add esp, 0x1c
mov eax, dword [esi + 0x18]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + 0x3050]
test eax, eax
je 0x100e94ff
mov edx, dword [ecx + 0x3040]
mov dword [esi + 4], edx
mov edx, dword [ecx + 0x304c]
jmp 0x100e94b2
inc edx
dec eax
je 0x100e94ff
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
mov edi, edx
shr edi, 1
mov ebx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
dec ecx
and ecx, edi
mov edi, edx
and edi, 1
mov ecx, dword [ebx + ecx*4]
mov dword [esi + 0x10], ecx
mov ecx, dword [ecx + edi*8]
cmp byte [ecx + 1], 0
je 0x100e94ae
mov ebx, dword [esi + 8]
cmp dword [ecx + 0x18], ebx
jne 0x100e94ae
mov ebx, dword [esi + 0xc]
mov dword [ecx + 0x18], ebx
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx + edi*8]
mov edi, dword [ecx + 0x1c]
cmp edi, 3
mov ebx, 3
cmovge edi, ebx
mov dword [ecx + 0x1c], edi
jmp 0x100e94ae
mov edi, dword [esi + 0x18]
mov eax, dword [edi + 0x10]
mov ecx, dword [eax + 0x1c]
cmp ecx, 3
mov edx, 3
cmovge ecx, edx
mov dword [eax + 0x1c], ecx
jmp 0x100e9257
mov edx, ebx
jmp 0x100e9395
mov dword [esi + 0xb0], edx
or eax, 1
mov dword [0x10259ee8], eax
mov eax, 0xdbe13c86
mov ecx, 0x120b7700
mov dword [esi + 0xc4], ecx
mov dword [esi + 0xc0], eax
mov eax, 0xe1b2d6a7
mov ecx, 0xf8d5452a
mov dword [esi + 0xcc], ecx
mov dword [esi + 0xc8], eax
mov eax, 0xf0d0f8f
mov ecx, 0x819fda4f
mov dword [esi + 0xd4], ecx
mov dword [esi + 0xd0], eax
mov eax, 0xeaa104f0
mov ecx, 0xbf48e8ca
mov edx, 0xa8807ec5
mov edi, 0x73672765
mov dword [esi + 0x164], edi
mov dword [esi + 0x160], edx
mov edx, 0xccc0b3de
mov edi, 0x918a2814
mov dword [esi + 0x16c], edi
mov dword [esi + 0x168], edx
mov edx, 0x636c6ac7
mov edi, 0x819fb23b
mov dword [esi + 0x174], edi
mov dword [esi + 0x170], edx
mov dword [esi + 0xdc], ecx
mov dword [esi + 0xd8], eax
mov dword [esi + 0x17c], ecx
mov dword [esi + 0x178], eax
lea eax, [esi + 0x160]
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]
mov eax, dword [0x10259d5c]
mov dword [esi + 0x14], eax
movaps xmmword [esi + 0xd0], xmm0
mov dword [esi + 0x31c8], 0
lea ecx, [esi + 0x60]
lea eax, [esi + 0xc0]
push eax
call fcn.10015240
cmp dword [esi + 0x74], 0x10
lea eax, [esi + 0x60]
mov dword [esi + 8], eax
jb 0x100e9634
mov eax, dword [esi + 0x60]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x70]
mov dword [esi + 4], eax
test eax, eax
je 0x100e97a2
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100e97a9
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100e97f3
mov dword [esi + 0xb0], edx
or eax, 1
mov dword [0x10259ef0], eax
mov eax, 0xdbe13c86
mov ecx, 0x120b7700
mov dword [esi + 0xc4], ecx
mov dword [esi + 0xc0], eax
mov eax, 0xe1b2d6a7
mov ecx, 0xfdd5452a
mov dword [esi + 0xcc], ecx
mov dword [esi + 0xc8], eax
mov eax, 0x30090cae
mov ecx, 0xe4ebd34f
mov dword [esi + 0xd4], ecx
mov dword [esi + 0xd0], eax
mov eax, 0xeaa104f0
mov ecx, 0xbf48e8ca
mov edx, 0xa8807ec5
mov edi, 0x73672765
mov dword [esi + 0x164], edi
mov dword [esi + 0x160], edx
mov edx, 0xccc0b3de
mov edi, 0x918a2814
mov dword [esi + 0x16c], edi
mov dword [esi + 0x168], edx
mov edx, 0x636c6ac7
mov edi, 0x819fb23b
mov dword [esi + 0x174], edi
mov dword [esi + 0x170], edx
mov dword [esi + 0xdc], ecx
mov dword [esi + 0xd8], eax
mov dword [esi + 0x17c], ecx
mov dword [esi + 0x178], eax
lea eax, [esi + 0x160]
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]
mov eax, dword [0x10259d5c]
mov dword [esi + 0x14], eax
movaps xmmword [esi + 0xd0], xmm0
mov dword [esi + 0x31c8], 2
lea ecx, [esi + 0x60]
lea eax, [esi + 0xc0]
push eax
call fcn.10015240
cmp dword [esi + 0x74], 0x10
lea eax, [esi + 0x60]
mov dword [esi + 8], eax
jb 0x100e9774
mov eax, dword [esi + 0x60]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x70]
mov dword [esi + 4], eax
test eax, eax
je 0x100e9d94
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100e9eb1
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100e9efb
mov ecx, 0x811c9dc5
jmp 0x100e9810
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 0x100e97b6
cmp dword [esi + 0xc], 0
je 0x100e9810
add edx, dword [esi + 8]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0xc], edi
jne 0x100e97fe
mov edx, dword [esi + 0x14]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100eaa56
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [edi + 0x18]
jne 0x100e9854
cmp dword [edi + 0x1c], 0x10
jb 0x100e983e
mov eax, dword [edi + 8]
jmp 0x100e9841
lea eax, [edi + 8]
push dword [esi + 4]
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100e9861
cmp edi, ebx
je 0x100eaa56
mov edi, dword [edi + 4]
jmp 0x100e982b
add edi, 0x20
lea ecx, [esi + 0x60]
call fcn.10014f60
mov dword [0x10259ee4], edi
mov edx, dword [esi + 0xb0]
mov ebx, dword [esi + 0x1c]
mov ecx, dword [esi + 0x18]
jmp 0x100e8499
or eax, 1
mov dword [0x1025f694], eax
mov eax, 0xf8d33d86
mov ecx, 0x161e4609
mov dword [esi + 0x64], ecx
mov dword [esi + 0x60], eax
mov eax, 0xa1fe9eac
mov ecx, 0xe2c34a4b
mov dword [esi + 0x6c], ecx
mov dword [esi + 0x68], eax
mov eax, 0x13030994
mov ecx, 0x819fd65e
mov dword [esi + 0x74], ecx
mov dword [esi + 0x70], eax
mov eax, 0xeaa104f0
mov ecx, 0xbf48e8ca
mov edx, 0xa8807ec5
mov edi, 0x73672765
mov dword [esi + 0xc4], edi
mov dword [esi + 0xc0], edx
mov edx, 0xccc0b3de
mov edi, 0x918a2814
mov dword [esi + 0xcc], edi
mov dword [esi + 0xc8], edx
mov edx, 0x636c6ac7
mov edi, 0x819fb23b
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
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]
mov eax, dword [0x10259d5c]
mov dword [esi + 0x14], eax
movaps xmmword [esi + 0x70], xmm0
mov dword [esi + 0x31c8], 4
lea ecx, [esi + 0x20]
lea eax, [esi + 0x60]
push eax
call fcn.10015240
cmp dword [esi + 0x34], 0x10
lea eax, [esi + 0x20]
mov dword [esi + 8], eax
jb 0x100e9968
mov eax, dword [esi + 0x20]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 4], eax
test eax, eax
je 0x100ea0a1
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100ea0dd
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ea127
or eax, 1
mov dword [0x1025f644], eax
mov eax, 0x7096200
mov ecx, 0xdbe13c86
mov dword [esi + 0x64], eax
mov dword [esi + 0x60], ecx
mov eax, 0xe7d5452a
mov ecx, 0xe1b9c7b7
mov dword [esi + 0x6c], eax
mov dword [esi + 0x68], ecx
mov eax, 0xeff6d552
mov ecx, 0x112309a2
mov dword [esi + 0x74], eax
mov dword [esi + 0x70], ecx
mov eax, 0xeaa104f0
mov ecx, 0xbf48e8ca
mov edx, 0xa8807ec5
mov edi, 0x73672765
mov dword [esi + 0xc4], edi
mov dword [esi + 0xc0], edx
mov edx, 0xccc0b3de
mov edi, 0x918a2814
mov dword [esi + 0xcc], edi
mov dword [esi + 0xc8], edx
mov edx, 0x636c6ac7
mov edi, 0x819fb23b
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
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]
mov eax, dword [0x10259d5c]
mov dword [esi + 0x14], eax
movaps xmmword [esi + 0x70], xmm0
mov dword [esi + 0x31c8], 6
lea ecx, [esi + 0x20]
lea eax, [esi + 0x60]
push eax
call fcn.10015240
cmp dword [esi + 0x34], 0x10
lea eax, [esi + 0x20]
mov dword [esi + 8], eax
jb 0x100e9a7b
mov eax, dword [esi + 0x20]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 4], eax
test eax, eax
je 0x100ea0ab
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100ea1ae
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ea1f8
or eax, 1
mov dword [0x1025f64c], eax
mov eax, dword [0x10259d5c]
mov dword [esi + 0x14], eax
mov eax, 0xcdf621a8
mov ecx, 0x56606
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0xaba9c191
mov ecx, 0x918a467d
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0xa8807ec5
mov ecx, 0x73672765
mov dword [esi + 0x64], ecx
mov dword [esi + 0x60], eax
mov eax, 0xccc0b3de
mov ecx, 0x918a2814
mov dword [esi + 0x6c], ecx
mov dword [esi + 0x68], eax
xor eax, eax
lea ecx, [esi + 0x60]
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [ecx]
movaps xmmword [esi + 0x20], xmm0
mov dword [esi + 0x31c8], 8
lea ecx, [esi + 0xc0]
lea eax, [esi + 0x20]
push eax
call fcn.10015240
cmp dword [esi + 0xd4], 0x10
lea eax, [esi + 0xc0]
mov dword [esi + 8], eax
jb 0x100e9b3d
mov eax, dword [esi + 0xc0]
mov dword [esi + 8], eax
mov eax, dword [esi + 0xd0]
mov dword [esi + 4], eax
test eax, eax
je 0x100ea0b5
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100ea27f
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ea2c9
or eax, 1
mov dword [0x1025f654], eax
mov eax, 0x7096200
mov ecx, 0xdbe13c86
mov dword [esi + 0x64], eax
mov dword [esi + 0x60], ecx
mov eax, 0xe7d5452a
mov ecx, 0xe1b9c7b7
mov dword [esi + 0x6c], eax
mov dword [esi + 0x68], ecx
mov eax, 0xa2109a2
mov ecx, 0x819fc155
mov dword [esi + 0x74], ecx
mov dword [esi + 0x70], eax
mov eax, 0xeaa104f0
mov ecx, 0xbf48e8ca
mov edx, 0xa8807ec5
mov edi, 0x73672765
mov dword [esi + 0xc4], edi
mov dword [esi + 0xc0], edx
mov edx, 0xccc0b3de
mov edi, 0x918a2814
mov dword [esi + 0xcc], edi
mov dword [esi + 0xc8], edx
mov edx, 0x636c6ac7
mov edi, 0x819fb23b
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
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]
mov eax, dword [0x10259d5c]
mov dword [esi + 0x14], eax
movaps xmmword [esi + 0x70], xmm0
mov dword [esi + 0x31c8], 0xa
lea ecx, [esi + 0x20]
lea eax, [esi + 0x60]
push eax
call fcn.10015240
cmp dword [esi + 0x34], 0x10
lea eax, [esi + 0x20]
mov dword [esi + 8], eax
jb 0x100e9c53
mov eax, dword [esi + 0x20]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 4], eax
test eax, eax
je 0x100ea0bf
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100ea353
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ea39d
or eax, 1
mov dword [0x1025f65c], eax
mov eax, 0x7096200
mov ecx, 0xdbe13c86
mov dword [esi + 0x64], eax
mov dword [esi + 0x60], ecx
mov eax, 0xe7d5452a
mov ecx, 0xe1b9c7b7
mov dword [esi + 0x6c], eax
mov dword [esi + 0x68], ecx
mov eax, 0x819fc143
mov ecx, 0x22109a2
mov dword [esi + 0x74], eax
mov dword [esi + 0x70], ecx
mov eax, 0xeaa104f0
mov ecx, 0xbf48e8ca
mov edx, 0xa8807ec5
mov edi, 0x73672765
mov dword [esi + 0xc4], edi
mov dword [esi + 0xc0], edx
mov edx, 0xccc0b3de
mov edi, 0x918a2814
mov dword [esi + 0xcc], edi
mov dword [esi + 0xc8], edx
mov edx, 0x636c6ac7
mov edi, 0x819fb23b
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
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]
mov eax, dword [0x10259d5c]
mov dword [esi + 0x14], eax
movaps xmmword [esi + 0x70], xmm0
mov dword [esi + 0x31c8], 0xc
lea ecx, [esi + 0x20]
lea eax, [esi + 0x60]
push eax
call fcn.10015240
cmp dword [esi + 0x34], 0x10
lea eax, [esi + 0x20]
mov dword [esi + 8], eax
jb 0x100e9d66
mov eax, dword [esi + 0x20]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 4], eax
test eax, eax
je 0x100ea0c9
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100ea424
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ea46e
mov ecx, 0x811c9dc5
jmp 0x100e9f18
or eax, 1
mov dword [0x1025f644], eax
mov eax, 0x7096200
mov ecx, 0xdbe13c86
mov dword [esi + 0x64], eax
mov dword [esi + 0x60], ecx
mov eax, 0xe7d5452a
mov ecx, 0xe1b9c7b7
mov dword [esi + 0x6c], eax
mov dword [esi + 0x68], ecx
mov eax, 0xeff6d552
mov ecx, 0x112309a2
mov dword [esi + 0x74], eax
mov dword [esi + 0x70], ecx
mov eax, 0xeaa104f0
mov ecx, 0xbf48e8ca
mov edx, 0xa8807ec5
mov edi, 0x73672765
mov dword [esi + 0xc4], edi
mov dword [esi + 0xc0], edx
mov edx, 0xccc0b3de
mov edi, 0x918a2814
mov dword [esi + 0xcc], edi
mov dword [esi + 0xc8], edx
mov edx, 0x636c6ac7
mov edi, 0x819fb23b
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
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]
mov eax, dword [0x10259d5c]
mov dword [esi + 0x14], eax
movaps xmmword [esi + 0x70], xmm0
mov dword [esi + 0x31c8], 0x12
lea ecx, [esi + 0x20]
lea eax, [esi + 0x60]
push eax
call fcn.10015240
cmp dword [esi + 0x34], 0x10
lea eax, [esi + 0x20]
mov dword [esi + 8], eax
jb 0x100e9e83
mov eax, dword [esi + 0x20]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 4], eax
test eax, eax
je 0x100ea0d3
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100ea4f5
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ea53f
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 0x100e9ebe
cmp dword [esi + 0xc], 0
je 0x100e9f18
add edx, dword [esi + 8]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0xc], edi
jne 0x100e9f06
mov edx, dword [esi + 0x14]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100eaa3f
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [edi + 0x18]
jne 0x100e9f5c
cmp dword [edi + 0x1c], 0x10
jb 0x100e9f46
mov eax, dword [edi + 8]
jmp 0x100e9f49
lea eax, [edi + 8]
push dword [esi + 4]
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100e9f69
cmp edi, ebx
je 0x100eaa3f
mov edi, dword [edi + 4]
jmp 0x100e9f33
add edi, 0x20
lea ecx, [esi + 0x60]
call fcn.10014f60
mov dword [0x10259eec], edi
mov edx, dword [esi + 0xb0]
mov ebx, dword [esi + 0x1c]
mov ecx, dword [esi + 0x18]
jmp 0x100e84c2
mov dword [esi + 4], ecx
or eax, 1
mov dword [0x1025f644], eax
mov eax, 0x7096200
mov ecx, 0xdbe13c86
mov dword [esi + 0x64], eax
mov dword [esi + 0x60], ecx
mov eax, 0xe7d5452a
mov ecx, 0xe1b9c7b7
mov dword [esi + 0x6c], eax
mov dword [esi + 0x68], ecx
mov eax, 0xeff6d552
mov ecx, 0x112309a2
mov dword [esi + 0x74], eax
mov dword [esi + 0x70], ecx
mov eax, 0xeaa104f0
mov ecx, 0xbf48e8ca
mov edx, 0xa8807ec5
mov edi, 0x73672765
mov dword [esi + 0xc4], edi
mov dword [esi + 0xc0], edx
mov edx, 0xccc0b3de
mov edi, 0x918a2814
mov dword [esi + 0xcc], edi
mov dword [esi + 0xc8], edx
mov edx, 0x636c6ac7
mov edi, 0x819fb23b
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
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]
mov eax, dword [0x10259d5c]
mov dword [esi + 0x5c], eax
movaps xmmword [esi + 0x70], xmm0
mov dword [esi + 0x31c8], 0x10
lea ecx, [esi + 0x20]
lea eax, [esi + 0x60]
push eax
call fcn.10015240
cmp dword [esi + 0x34], 0x10
lea eax, [esi + 0x20]
mov dword [esi + 0x14], eax
jb 0x100ea073
mov eax, dword [esi + 0x20]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 0xc], eax
test eax, eax
je 0x100ea5d0
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x58], ecx
cmp eax, 4
jae 0x100ea5d7
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ea621
mov ecx, 0x811c9dc5
jmp 0x100ea144
mov ecx, 0x811c9dc5
jmp 0x100ea215
mov ecx, 0x811c9dc5
jmp 0x100ea2e6
mov ecx, 0x811c9dc5
jmp 0x100ea3ba
mov ecx, 0x811c9dc5
jmp 0x100ea48b
mov ecx, 0x811c9dc5
jmp 0x100ea55c
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 0x100ea0ea
cmp dword [esi + 0xc], 0
je 0x100ea144
add edx, dword [esi + 8]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0xc], edi
jne 0x100ea132
mov edx, dword [esi + 0x14]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100eaa28
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [edi + 0x18]
jne 0x100ea188
cmp dword [edi + 0x1c], 0x10
jb 0x100ea172
mov eax, dword [edi + 8]
jmp 0x100ea175
lea eax, [edi + 8]
push dword [esi + 4]
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100ea195
cmp edi, ebx
je 0x100eaa28
mov edi, dword [edi + 4]
jmp 0x100ea15f
add edi, 0x20
lea ecx, [esi + 0x20]
call fcn.10014f60
mov dword [0x1025f690], edi
mov ebx, dword [esi + 0x1c]
jmp 0x100e850f
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 0x100ea1bb
cmp dword [esi + 0xc], 0
je 0x100ea215
add edx, dword [esi + 8]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0xc], edi
jne 0x100ea203
mov edx, dword [esi + 0x14]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100eaa11
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [edi + 0x18]
jne 0x100ea259
cmp dword [edi + 0x1c], 0x10
jb 0x100ea243
mov eax, dword [edi + 8]
jmp 0x100ea246
lea eax, [edi + 8]
push dword [esi + 4]
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100ea266
cmp edi, ebx
je 0x100eaa11
mov edi, dword [edi + 4]
jmp 0x100ea230
add edi, 0x20
lea ecx, [esi + 0x20]
call fcn.10014f60
mov dword [0x1025f640], edi
mov ebx, dword [esi + 0x1c]
jmp 0x100e8540
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 0x100ea28c
cmp dword [esi + 0xc], 0
je 0x100ea2e6
add edx, dword [esi + 8]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0xc], edi
jne 0x100ea2d4
mov edx, dword [esi + 0x14]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100ea9fa
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [edi + 0x18]
jne 0x100ea32a
cmp dword [edi + 0x1c], 0x10
jb 0x100ea314
mov eax, dword [edi + 8]
jmp 0x100ea317
lea eax, [edi + 8]
push dword [esi + 4]
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100ea337
cmp edi, ebx
je 0x100ea9fa
mov edi, dword [edi + 4]
jmp 0x100ea301
add edi, 0x20
lea ecx, [esi + 0xc0]
call fcn.10014f60
mov dword [0x1025f648], edi
mov ebx, dword [esi + 0x1c]
jmp 0x100e856f
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 0x100ea360
cmp dword [esi + 0xc], 0
je 0x100ea3ba
add edx, dword [esi + 8]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0xc], edi
jne 0x100ea3a8
mov edx, dword [esi + 0x14]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100ea9e3
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [edi + 0x18]
jne 0x100ea3fe
cmp dword [edi + 0x1c], 0x10
jb 0x100ea3e8
mov eax, dword [edi + 8]
jmp 0x100ea3eb
lea eax, [edi + 8]
push dword [esi + 4]
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100ea40b
cmp edi, ebx
je 0x100ea9e3
mov edi, dword [edi + 4]
jmp 0x100ea3d5
add edi, 0x20
lea ecx, [esi + 0x20]
call fcn.10014f60
mov dword [0x1025f650], edi
mov ebx, dword [esi + 0x1c]
jmp 0x100e859e
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 0x100ea431
cmp dword [esi + 0xc], 0
je 0x100ea48b
add edx, dword [esi + 8]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0xc], edi
jne 0x100ea479
mov edx, dword [esi + 0x14]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100ea9cc
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [edi + 0x18]
jne 0x100ea4cf
cmp dword [edi + 0x1c], 0x10
jb 0x100ea4b9
mov eax, dword [edi + 8]
jmp 0x100ea4bc
lea eax, [edi + 8]
push dword [esi + 4]
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100ea4dc
cmp edi, ebx
je 0x100ea9cc
mov edi, dword [edi + 4]
jmp 0x100ea4a6
add edi, 0x20
lea ecx, [esi + 0x20]
call fcn.10014f60
mov dword [0x1025f658], edi
mov ebx, dword [esi + 0x1c]
jmp 0x100e85cd
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 0x100ea502
cmp dword [esi + 0xc], 0
je 0x100ea55c
add edx, dword [esi + 8]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0xc], edi
jne 0x100ea54a
mov edx, dword [esi + 0x14]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100ea99e
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [edi + 0x18]
jne 0x100ea5a0
cmp dword [edi + 0x1c], 0x10
jb 0x100ea58a
mov eax, dword [edi + 8]
jmp 0x100ea58d
lea eax, [edi + 8]
push dword [esi + 4]
push eax
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100ea5ad
cmp edi, ebx
je 0x100ea99e
mov edi, dword [edi + 4]
jmp 0x100ea577
add edi, 0x20
lea ecx, [esi + 0x20]
call fcn.10014f60
mov dword [0x1025f640], edi
mov dword [esi + 0x31c8], 0xffffffff
mov ebx, dword [esi + 0x1c]
jmp 0x100e9331
mov ecx, 0x811c9dc5
jmp 0x100ea63e
mov edi, dword [esi + 0xc]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x14]
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 0x100ea5e4
cmp dword [esi + 0x58], 0
je 0x100ea63e
add edx, dword [esi + 0x14]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x58], edi
jne 0x100ea62c
mov edx, dword [esi + 0x5c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100ea9b5
mov edi, ebx
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [edi + 0x18]
jne 0x100ea684
cmp dword [edi + 0x1c], 0x10
jb 0x100ea66e
mov eax, dword [edi + 8]
jmp 0x100ea671
lea eax, [edi + 8]
push dword [esi + 0xc]
push eax
push dword [esi + 0x14]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100ea691
cmp edi, ebx
je 0x100ea9b5
mov edi, dword [edi + 4]
jmp 0x100ea65b
mov ebx, edi
add ebx, 0x20
lea ecx, [esi + 0x20]
call fcn.10014f60
mov dword [0x1025f640], ebx
mov dword [esi + 0x31c8], 0xffffffff
mov ecx, dword [esi + 4]
jmp 0x100e8af9
mov ecx, dword [0x10259da0]
mov eax, dword [ecx]
mov eax, dword [eax + 0x138]
mov dword [esi + 0x31c8], 0xffffffff
call eax
mov edx, dword [eax]
mov ecx, eax
push 0
call dword [edx + 0x28]
mov ecx, dword [esi + 0xbc]
fstp dword [esi + 0x134]
movss xmm0, dword [esi + 0x134]
mulss xmm0, dword [0x101a8dc0]
mov dword [esi + 0x14], esp
cvttss2si eax, xmm0
mov dword [esi + 0x60], eax
sub esp, 0x1c
mov edi, esp
mov dword [esi + 0xb0], esp
mov eax, dword [ecx + 0x10]
add eax, dword [ecx + 0xc]
mov edx, dword [ecx]
mov dword [edi + 0x14], 0
mov dword [edi + 0x10], edx
mov dword [esi + 0xb8], edi
mov dword [edi + 0x18], eax
sub esp, 0x20
mov edi, esp
lea eax, [esi + 0x60]
mov dword [edi + 0x1c], eax
mov edx, dword [ecx + 0xc]
mov ebx, dword [ecx + 0x10]
mov dword [edi + 0x14], 0
lea eax, [ebx + edx]
mov dword [esi + 0x1c], eax
mov dword [edi + 0x18], eax
mov eax, dword [ecx]
mov dword [edi + 0x10], eax
mov dword [edi + 8], 0
mov dword [esi + 4], edx
mov dword [edi + 0xc], edx
mov dword [edi + 4], eax
lea edx, [esi + 0x160]
mov dword [esi + 0x58], edi
mov dword [edi], edx
test eax, eax
je 0x100ea76e
mov edi, dword [eax]
jmp 0x100ea770
xor edi, edi
lea edx, [esi + 0x60]
mov dword [esi + 0xc0], edx
test ebx, ebx
mov dword [esi + 0x18], edi
mov dword [esi + 0x10], eax
je 0x100ea7cf
mov edi, dword [esi + 4]
nop word cs:[eax + eax]
mov ecx, dword [esi + 0x18]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
dec ecx
and ecx, edi
mov edx, dword [eax + ecx*4]
lea ecx, [esi + 0xc0]
call fcn.100edeb0
test al, al
jne 0x100ea7c3
inc edi
dec ebx
jne 0x100ea790
mov ecx, dword [esi + 0xbc]
mov ebx, dword [esi + 0x1c]
mov eax, dword [esi + 0x10]
jmp 0x100ea915
mov dword [esi + 4], edi
mov ecx, dword [esi + 0xbc]
mov edi, dword [esi + 0x18]
mov eax, dword [esi + 4]
mov ebx, dword [esi + 0x1c]
cmp eax, ebx
jne 0x100ea7e1
mov eax, dword [esi + 0x10]
jmp 0x100ea915
lea edx, [eax + 1]
cmp edx, ebx
jne 0x100ea7f2
mov ebx, eax
mov eax, dword [esi + 0x10]
jmp 0x100ea915
mov eax, dword [esi + 0x58]
add eax, 0x1c
mov dword [esi + 8], eax
jmp 0x100ea869
movsd xmm0, qword [ebx + 0x58]
movsd qword [edi + 0x58], xmm0
movups xmm0, xmmword [ebx + 0x48]
movups xmmword [edi + 0x48], xmm0
movups xmm0, xmmword [ebx + 0x38]
movups xmmword [edi + 0x38], xmm0
movups xmm0, xmmword [ebx + 0x18]
movups xmm1, xmmword [ebx + 0x28]
movups xmmword [edi + 0x28], xmm1
movups xmmword [edi + 0x18], xmm0
movups xmm0, xmmword [ebx + 0x60]
movups xmm1, xmmword [ebx + 0x70]
movups xmmword [edi + 0x60], xmm0
movups xmmword [edi + 0x70], xmm1
movups xmm0, xmmword [ebx + 0x80]
movups xmmword [edi + 0x80], xmm0
mov eax, dword [ebx + 0x90]
mov dword [edi + 0x90], eax
inc dword [esi + 4]
mov ebx, dword [esi + 0x1c]
mov edi, dword [esi + 0x18]
mov edx, dword [esi + 0x10]
inc edx
cmp ebx, edx
je 0x100ea906
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
dec ecx
and ecx, edx
mov ebx, edx
mov edx, dword [eax + ecx*4]
mov ecx, dword [esi + 8]
call fcn.100edeb0
test al, al
mov dword [esi + 0x10], ebx
je 0x100ea890
mov ebx, dword [esi + 0x1c]
jmp 0x100ea85d
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
dec ecx
mov edx, ecx
and edx, ebx
mov ebx, dword [eax + edx*4]
and ecx, dword [esi + 4]
mov edi, dword [eax + ecx*4]
mov eax, dword [ebx + 8]
mov dword [edi + 8], eax
movsd xmm0, qword [ebx]
movsd qword [edi], xmm0
mov eax, dword [ebx + 0xc]
mov dword [edi + 0xc], eax
movsd xmm0, qword [ebx + 0x10]
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x14], 0
mov ecx, dword [edi + 0x14]
movsd qword [edi + 0x10], xmm0
test ecx, ecx
je 0x100ea800
lock dec dword [ecx + 4]
jne 0x100ea800
mov eax, dword [ecx]
mov dword [esi + 0xc], ecx
mov ecx, dword [esi + 0xc]
call dword [eax]
mov ecx, dword [esi + 0xc]
lock dec dword [ecx + 8]
jne 0x100ea800
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x100ea800
mov eax, dword [esi + 0x58]
mov eax, dword [eax + 4]
mov ebx, dword [esi + 4]
mov ecx, dword [esi + 0xbc]
mov dword [esi + 0x164], 0
mov dword [esi + 0x160], eax
mov dword [esi + 0x168], ebx
mov esp, dword [esi + 0xb0]
mov edx, dword [esi + 0xb8]
mov dword [edx + 8], 0
mov eax, dword [esi + 0x160]
mov dword [edx + 4], eax
mov eax, dword [esi + 0x168]
mov dword [edx + 0xc], eax
lea eax, [esi + 0xc0]
mov dword [edx], eax
call fcn.100eacf0
mov esp, dword [esi + 0x14]
mov eax, dword [esi + 0x31c0]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.1009f400
mov ecx, edi
call fcn.1009f400
mov ecx, edi
call fcn.1009f400
mov dword [esi + 0x31c8], 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 + 0x31c8], 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 + 0x31c8], 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 + 0x31c8], 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 + 0x31c8], 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 + 0x31c8], 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 + 0x31c8], 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 + 0x31c8], 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 + 0x31c8], 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 + 0x31c8], 1
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
nop dword [eax]
push ebp
sub esp, 0x1c
lea esi, [ebp - 0x31cc]
mov ebp, dword [esi + 0x31b8]
lea ecx, [esi + 0x60]
call fcn.10014f60
add esp, 0x1c
pop ebp
ret