Function at 0x100e81e0
Capabilities:
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.10155c00
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], 0x100ef120
mov ecx, dword fs:[0]
mov dword [esi + 0x31c0], ecx
mov dword fs:[0], eax
mov eax, dword [0x10258d94]
cmp dword [eax], 0
je 0x100e8269
mov ecx, dword [0x10258da0]
mov eax, dword [ecx]
mov dword [esi + 0xbc], edx
call dword [eax + 0x68]
mov edx, dword [esi + 0xbc]
test al, al
je 0x100e8269
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 0x100e8311
mov ecx, edx
call fcn.10019ef0
jmp 0x100ea840
movss xmm0, dword [esi + 0x160]
mov dword [esi + 0xc0], 0
movss dword [esi + 0xc4], xmm0
mov dword [esi + 0xc8], 0
mov eax, dword [0x10258d58]
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 0x100ea596
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 0x100e8310
mov eax, dword [ecx + 0x78]
test eax, eax
je 0x100e8310
mov dword [esi + 0x18], ecx
mov ecx, dword [0x10258d9c]
cmp dword [ecx + 0x1c], eax
mov ecx, dword [esi + 0x18]
jl 0x100e8310
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x100e82ff
cmp dword [ecx + 0x10], 0
je 0x100e82ff
mov ebx, dword [eax]
mov eax, ebx
mov dword [esi + 0x10], ebx
test ebx, ebx
mov ebx, dword [esi + 0x1c]
je 0x100e82ff
mov dword [esi + 0xb8], edi
mov eax, dword [0x10258ee8]
test al, 1
je 0x100e9402
mov edi, dword [0x10258ee4]
mov eax, dword [edi + 4]
mov edi, dword [esi + 0x10]
cmp dword [eax + edi], 0
mov edi, dword [esi + 0xb8]
jle 0x100e82ff
mov eax, dword [0x10258ef0]
test al, 1
je 0x100e9542
mov edi, dword [0x10258eec]
mov eax, dword [edi + 4]
mov edi, dword [esi + 0x10]
cmp byte [eax + edi], 0
mov edi, dword [esi + 0xb8]
jne 0x100e82ff
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 [0x1025e694]
test al, 1
je 0x100e9763
mov edi, dword [0x1025e690]
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx + eax - 0x14]
test eax, eax
je 0x100e840d
movss xmm0, dword [eax + 0x80]
movss dword [esi + 0x160], xmm0
mov eax, dword [0x1025e644]
test al, 1
je 0x100e9876
mov edi, dword [0x1025e640]
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 [0x1025e64c]
test al, 1
je 0x100e9989
mov edi, dword [0x1025e648]
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 [0x1025e654]
test al, 1
je 0x100e9a4e
mov edi, dword [0x1025e650]
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 [0x1025e65c]
test al, 1
je 0x100e9b61
mov edi, dword [0x1025e658]
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 0x100e89ae
cmp byte [ecx + 1], 0
je 0x100e91ec
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 0x100e85a2
mov ecx, dword [esi + 0x14]
lea edi, [ecx + 1]
cmp ecx, 1
mov ebx, dword [esi + 0x1c]
ja 0x100e91d5
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 0x100e8638
mov eax, dword [0x1025e644]
test al, 1
mov dword [esi + 0xc], edx
mov dword [esi + 0x10], ecx
je 0x100e87a9
mov edi, dword [0x1025e640]
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 [0x10258d58]
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 0x100e8638
lea edx, [ecx + 0x78]
lea edi, [ecx + 0x84]
mov dword [esi + 4], ebx
mov ebx, dword [0x10258d58]
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 0x100ea854
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 [0x10258d58]
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 [0x10258d58]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 0xa]
mov eax, dword [eax]
mov dword [edi + 0x2690], eax
mov ecx, dword [0x10258dbc]
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 [0x101a7780]
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 0x100e8590
mov eax, dword [esi + 0x104]
cmp eax, dword [ebx + 0x90]
jne 0x100e8590
jmp 0x100e913f
mov dword [esi + 4], ebx
or eax, 1
mov dword [0x1025e644], eax
mov eax, 0xc6362ae
mov ecx, 0x47db0ea6
mov dword [esi + 0x24], eax
mov dword [esi + 0x20], ecx
mov eax, 0x8d86ebe4
mov ecx, 0x74dcb167
mov dword [esi + 0x2c], eax
mov dword [esi + 0x28], ecx
mov eax, 0x86044058
mov ecx, 0xf4cc9392
mov dword [esi + 0x34], eax
mov dword [esi + 0x30], ecx
mov eax, 0xc187af88
mov ecx, 0x53f5da20
mov edx, 0x34ba4ce5
mov edi, 0x780d27cb
mov dword [esi + 0x64], edi
mov dword [esi + 0x60], edx
mov edx, 0x59a5c50e
mov edi, 0xfbd986da
mov dword [esi + 0x6c], edi
mov dword [esi + 0x68], edx
mov edx, 0x8683f0f7
mov edi, 0xe86d2731
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 [0x10258d5c]
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 0x100e888b
mov eax, dword [esi + 0x138]
mov dword [esi + 0xb4], eax
mov eax, dword [esi + 0x148]
mov dword [esi + 0x5c], eax
test eax, eax
je 0x100e88b4
mov eax, dword [esi + 0x5c]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x12c], ecx
cmp eax, 4
jae 0x100e88bb
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100e8908
mov ecx, 0x811c9dc5
jmp 0x100e892e
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 0x100e88c8
cmp dword [esi + 0x12c], 0
je 0x100e892e
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 0x100e8919
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 0x100ea867
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 0x5c]
cmp eax, dword [edi + 0x18]
jne 0x100e8978
cmp dword [edi + 0x1c], 0x10
jb 0x100e895f
mov eax, dword [edi + 8]
jmp 0x100e8962
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 0x100e8985
cmp edi, ebx
je 0x100ea867
mov edi, dword [edi + 4]
jmp 0x100e894c
add edi, 0x20
lea ecx, [esi + 0x138]
call fcn.10014f60
mov dword [0x1025e640], edi
mov dword [esi + 0x31c8], 0xffffffff
mov ebx, dword [esi + 4]
mov ecx, dword [esi + 0x10]
jmp 0x100e85e0
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 [0x1025e644]
test al, 1
je 0x100e9e6b
mov ebx, dword [0x1025e640]
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 [0x10258d58]
mov ecx, ebx
push eax
call dword [edx + 0x18]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xc]
test eax, eax
je 0x100e8a26
lea ecx, [edi + 0x78]
mov dword [esi + 4], ecx
lea edx, [edi + 0x84]
mov ebx, dword [0x10258d58]
mov ecx, eax
push edx
push dword [esi + 4]
call dword [ebx + 0x28]
mov eax, dword [esi + 8]
cmp eax, 2
jg 0x100e8a3e
add edi, 0x3c8
cmp eax, 3
jb 0x100e8a50
jmp 0x100ea860
add edi, 0x9c68
add eax, 0xfffffffd
cmp eax, 2
jae 0x100ea859
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 [0x10258d58]
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 [0x10258d58]
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 [0x10258dbc]
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 [0x101a7780]
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 0x100e8c00
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 0x100e8e24
sqrtsd xmm0, xmm0
jmp 0x100e8e49
mov ecx, dword [0x10258d4c]
call fcn.1014ca90
mov eax, 0x47c92588
mov ecx, 0xb2d43ae
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x79d1aa66
mov ecx, 0xdbbcf3be
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x86a39f83
mov ecx, 0xe86d2731
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov ecx, 0xc187af88
mov eax, 0x53f5da20
mov dword [esi + 4], eax
mov dword [esi + 0x10], ecx
mov ecx, 0x34ba4ce5
mov edx, 0x780d27cb
mov dword [esi + 0xc], edx
mov dword [esi + 8], ecx
mov ecx, 0x59a5c50e
mov eax, 0xfbd986da
mov dword [esi + 0x58], eax
mov dword [esi + 0x14], ecx
mov edx, 0x8683f0f7
mov eax, 0xe86d2731
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 [0x10258d4c]
lea ebx, [esi + 0x20]
push ebx
lea ebx, [esi + 0x60]
push ebx
push 1
push 1
push eax
call fcn.1014c7d0
add esp, 0x14
mov eax, 0x14de2d87
mov ecx, 0x177e42b9
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x53c0b362
mov ecx, 0xfbd986da
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 [0x10258d4c]
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.1014c7d0
add esp, 0x14
mov eax, dword [edi + 0xc]
inc dword [eax + 0x3030]
mov eax, dword [edi + 0x10]
cmp byte [eax + 1], 0
je 0x100e9137
cmp dword [edi + 0x4c], 2
jg 0x100e9137
test byte [eax + 0xc], 1
je 0x100e9137
cmp byte [eax + 3], 0
jne 0x100e9137
cmp byte [eax + 4], 0
jne 0x100e9137
mov ebx, dword [eax + 0x18]
test ebx, ebx
je 0x100e926b
mov ecx, dword [edi + 0xc]
cmp dword [ecx + 0x303c], 1
jne 0x100e8dc8
mov byte [ecx + 0x302d], 0
mov eax, dword [edi + 0x10]
mov ebx, dword [eax + 0x18]
test ebx, ebx
je 0x100e926b
mov ecx, dword [edi + 0xc]
cmp dword [ecx + 0x303c], 2
jne 0x100e8de9
mov byte [ecx + 0x302e], 0
mov eax, dword [edi + 0x10]
mov ebx, dword [eax + 0x18]
test ebx, ebx
je 0x100e926b
mov ecx, dword [edi + 0xc]
cmp dword [ecx + 0x303c], 3
jne 0x100e8e05
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.0x100e8e13
mov ecx, ebx
jmp dword [ebx*4 + 0x101afe28]
mov edx, 1
jmp 0x100e9299
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 [0x101a7fc8]
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 0x100e8e9c
sqrtsd xmm0, xmm0
jmp 0x100e8ec4
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 0x100e9001
mov ecx, dword [0x10258d4c]
call fcn.1014ca90
mov eax, 0x47c92588
mov ecx, 0xb2d43ae
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x79d1aa66
mov ecx, 0xdbbcf3be
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0xe86d2731
mov ecx, 0x86a39f83
mov dword [esi + 0x34], eax
mov dword [esi + 0x30], ecx
mov eax, 0xc187af88
mov ecx, 0x53f5da20
mov edx, 0x34ba4ce5
mov edi, 0x780d27cb
mov dword [esi + 4], edi
mov dword [esi + 0x10], edx
mov dword [esi + 0x64], edi
mov dword [esi + 0x60], edx
mov ebx, 0xfbd986da
mov edx, 0x59a5c50e
mov dword [esi + 8], edx
mov dword [esi + 0x6c], ebx
mov dword [esi + 0x68], edx
mov edx, 0x8683f0f7
mov edi, 0xe86d2731
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 [0x10258d4c]
lea ecx, [esi + 0x20]
push ecx
push edi
push 1
push 1
push eax
call fcn.1014c7d0
add esp, 0x14
mov eax, 0x176454be
mov ecx, 0x58d92f8a
mov dword [esi + 0x24], eax
mov dword [esi + 0x20], ecx
mov eax, 0xfbd986da
mov ecx, 0x59a5cf60
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 [0x10258d4c]
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.1014c7d0
add esp, 0x14
mov edi, dword [esi + 0x18]
jmp 0x100e9137
mov eax, dword [0x10258d54]
cmp byte [eax + 0xcc], 0
mov edi, dword [esi + 0x18]
je 0x100e9137
mov ecx, dword [0x10258d4c]
call fcn.1014ca90
mov eax, 0x47c92588
mov ecx, 0xb2d43ae
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x79d1aa66
mov ecx, 0xdbbcf3be
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0xe86d2731
mov ecx, 0x86a39f83
mov dword [esi + 0x34], eax
mov dword [esi + 0x30], ecx
mov eax, 0xc187af88
mov ecx, 0x53f5da20
mov edx, 0x34ba4ce5
mov edi, 0x780d27cb
mov dword [esi + 4], edi
mov dword [esi + 0x10], edx
mov dword [esi + 0x64], edi
mov dword [esi + 0x60], edx
mov edx, 0x59a5c50e
mov ebx, 0xfbd986da
mov dword [esi + 8], edx
mov dword [esi + 0x6c], ebx
mov dword [esi + 0x68], edx
mov edx, 0x8683f0f7
mov edi, 0xe86d2731
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 [0x10258d4c]
lea ecx, [esi + 0x20]
push ecx
push edi
push 1
push 1
push eax
call fcn.1014c7d0
add esp, 0x14
mov eax, 0x51c83c96
mov ecx, 0x780743aa
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 [0x10258d4c]
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.1014c7d0
mov edi, dword [esi + 0x18]
add esp, 0x14
mov ebx, dword [esi + 0x1c]
jmp 0x100e91ec
mov eax, dword [ebx + 0x10]
mov ecx, dword [esi + 4]
cmp ecx, dword [eax + 0x18]
mov ebx, dword [esi + 0x1c]
je 0x100e91d5
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 0x100e91d5
mov edx, dword [ecx + 0x3040]
mov dword [esi + 8], edx
mov edx, dword [ecx + 0x304c]
jmp 0x100e9188
inc edx
dec eax
mov ebx, dword [esi + 0x1c]
je 0x100e91d5
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 0x100e9181
mov ebx, dword [esi + 0x58]
cmp dword [ecx + 0x18], ebx
jne 0x100e9181
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 0x100e9181
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 [0x1025e644]
test al, 1
je 0x100e9c7e
mov edi, dword [0x1025e640]
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 [0x10258d58]
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 0x100e8275
mov edx, dword [0x10258d58]
mov ecx, eax
lea eax, [esi + 0x188]
push eax
lea eax, [esi + 0x17c]
push eax
call dword [edx + 0x28]
jmp 0x100e8275
add eax, 0x18
mov edx, 1
xor ebx, ebx
mov edi, dword [esi + 0x18]
jmp 0x100e929e
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 0x100e929e
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 [0x10258d4c]
mov edi, edx
call fcn.1014ca90
mov eax, 0x1d7944ae
mov ecx, 0x46c82386
mov dword [esi + 0x24], eax
mov dword [esi + 0x20], ecx
mov eax, 0x9df9e3be
mov ecx, 0x30d6e56a
mov dword [esi + 0x2c], eax
mov dword [esi + 0x28], ecx
mov eax, 0x9c4d4314
mov ecx, 0xa6ee9f85
mov dword [esi + 0x34], eax
mov dword [esi + 0x30], ecx
mov eax, 0x53f5da2a
mov ecx, 0xa5a28fe7
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 [0x10258d4c]
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.1014c7d0
add esp, 0x1c
mov eax, dword [esi + 0x18]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + 0x3050]
test eax, eax
je 0x100e93df
mov edx, dword [ecx + 0x3040]
mov dword [esi + 4], edx
mov edx, dword [ecx + 0x304c]
jmp 0x100e9392
inc edx
dec eax
je 0x100e93df
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 0x100e938e
mov ebx, dword [esi + 8]
cmp dword [ecx + 0x18], ebx
jne 0x100e938e
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 0x100e938e
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 0x100e9137
mov edx, ebx
jmp 0x100e9275
mov dword [esi + 0xb0], edx
or eax, 1
mov dword [0x10258ee8], eax
mov eax, 0x47db0ea6
mov ecx, 0x196177ae
mov dword [esi + 0xc4], ecx
mov dword [esi + 0xc0], eax
mov eax, 0x74d7a077
mov ecx, 0x9286ebe4
mov dword [esi + 0xcc], ecx
mov dword [esi + 0xc8], eax
mov eax, 0xeae295bf
mov ecx, 0xe86d4f45
mov dword [esi + 0xd4], ecx
mov dword [esi + 0xd0], eax
mov eax, 0xc187af88
mov ecx, 0x53f5da20
mov edx, 0x34ba4ce5
mov edi, 0x780d27cb
mov dword [esi + 0x164], edi
mov dword [esi + 0x160], edx
mov edx, 0x59a5c50e
mov edi, 0xfbd986da
mov dword [esi + 0x16c], edi
mov dword [esi + 0x168], edx
mov edx, 0x8683f0f7
mov edi, 0xe86d2731
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 [0x10258d5c]
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 0x100e9514
mov eax, dword [esi + 0x60]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x70]
mov dword [esi + 4], eax
test eax, eax
je 0x100e9682
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100e9689
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100e96d3
mov dword [esi + 0xb0], edx
or eax, 1
mov dword [0x10258ef0], eax
mov eax, 0x47db0ea6
mov ecx, 0x196177ae
mov dword [esi + 0xc4], ecx
mov dword [esi + 0xc0], eax
mov eax, 0x74d7a077
mov ecx, 0x9786ebe4
mov dword [esi + 0xcc], ecx
mov dword [esi + 0xc8], eax
mov eax, 0xd5e6969e
mov ecx, 0x8d194645
mov dword [esi + 0xd4], ecx
mov dword [esi + 0xd0], eax
mov eax, 0xc187af88
mov ecx, 0x53f5da20
mov edx, 0x34ba4ce5
mov edi, 0x780d27cb
mov dword [esi + 0x164], edi
mov dword [esi + 0x160], edx
mov edx, 0x59a5c50e
mov edi, 0xfbd986da
mov dword [esi + 0x16c], edi
mov dword [esi + 0x168], edx
mov edx, 0x8683f0f7
mov edi, 0xe86d2731
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 [0x10258d5c]
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 0x100e9654
mov eax, dword [esi + 0x60]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x70]
mov dword [esi + 4], eax
test eax, eax
je 0x100e9c74
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100e9d91
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100e9ddb
mov ecx, 0x811c9dc5
jmp 0x100e96f0
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 0x100e9696
cmp dword [esi + 0xc], 0
je 0x100e96f0
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 0x100e96de
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 0x100ea936
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [edi + 0x18]
jne 0x100e9734
cmp dword [edi + 0x1c], 0x10
jb 0x100e971e
mov eax, dword [edi + 8]
jmp 0x100e9721
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 0x100e9741
cmp edi, ebx
je 0x100ea936
mov edi, dword [edi + 4]
jmp 0x100e970b
add edi, 0x20
lea ecx, [esi + 0x60]
call fcn.10014f60
mov dword [0x10258ee4], edi
mov edx, dword [esi + 0xb0]
mov ebx, dword [esi + 0x1c]
mov ecx, dword [esi + 0x18]
jmp 0x100e8379
or eax, 1
mov dword [0x1025e694], eax
mov eax, 0x64e90fa6
mov ecx, 0x1d7446a7
mov dword [esi + 0x64], ecx
mov dword [esi + 0x60], eax
mov eax, 0x349be87c
mov ecx, 0x8890e485
mov dword [esi + 0x6c], ecx
mov dword [esi + 0x68], eax
mov eax, 0xf6ec93a4
mov ecx, 0xe86d4354
mov dword [esi + 0x74], ecx
mov dword [esi + 0x70], eax
mov eax, 0xc187af88
mov ecx, 0x53f5da20
mov edx, 0x34ba4ce5
mov edi, 0x780d27cb
mov dword [esi + 0xc4], edi
mov dword [esi + 0xc0], edx
mov edx, 0x59a5c50e
mov edi, 0xfbd986da
mov dword [esi + 0xcc], edi
mov dword [esi + 0xc8], edx
mov edx, 0x8683f0f7
mov edi, 0xe86d2731
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 [0x10258d5c]
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 0x100e9848
mov eax, dword [esi + 0x20]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 4], eax
test eax, eax
je 0x100e9f81
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100e9fbd
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ea007
or eax, 1
mov dword [0x1025e644], eax
mov eax, 0xc6362ae
mov ecx, 0x47db0ea6
mov dword [esi + 0x64], eax
mov dword [esi + 0x60], ecx
mov eax, 0x8d86ebe4
mov ecx, 0x74dcb167
mov dword [esi + 0x6c], eax
mov dword [esi + 0x68], ecx
mov eax, 0x86044058
mov ecx, 0xf4cc9392
mov dword [esi + 0x74], eax
mov dword [esi + 0x70], ecx
mov eax, 0xc187af88
mov ecx, 0x53f5da20
mov edx, 0x34ba4ce5
mov edi, 0x780d27cb
mov dword [esi + 0xc4], edi
mov dword [esi + 0xc0], edx
mov edx, 0x59a5c50e
mov edi, 0xfbd986da
mov dword [esi + 0xcc], edi
mov dword [esi + 0xc8], edx
mov edx, 0x8683f0f7
mov edi, 0xe86d2731
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 [0x10258d5c]
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 0x100e995b
mov eax, dword [esi + 0x20]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 4], eax
test eax, eax
je 0x100e9f8b
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100ea08e
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ea0d8
or eax, 1
mov dword [0x1025e64c], eax
mov eax, dword [0x10258d5c]
mov dword [esi + 0x14], eax
mov eax, 0x51cc1388
mov ecx, 0xb6f66a8
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov eax, 0x3eccb741
mov ecx, 0xfbd9e8b3
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov eax, 0x34ba4ce5
mov ecx, 0x780d27cb
mov dword [esi + 0x64], ecx
mov dword [esi + 0x60], eax
mov eax, 0x59a5c50e
mov ecx, 0xfbd986da
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 0x100e9a1d
mov eax, dword [esi + 0xc0]
mov dword [esi + 8], eax
mov eax, dword [esi + 0xd0]
mov dword [esi + 4], eax
test eax, eax
je 0x100e9f95
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100ea15f
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ea1a9
or eax, 1
mov dword [0x1025e654], eax
mov eax, 0xc6362ae
mov ecx, 0x47db0ea6
mov dword [esi + 0x64], eax
mov dword [esi + 0x60], ecx
mov eax, 0x8d86ebe4
mov ecx, 0x74dcb167
mov dword [esi + 0x6c], eax
mov dword [esi + 0x68], ecx
mov eax, 0xefce9392
mov ecx, 0xe86d545f
mov dword [esi + 0x74], ecx
mov dword [esi + 0x70], eax
mov eax, 0xc187af88
mov ecx, 0x53f5da20
mov edx, 0x34ba4ce5
mov edi, 0x780d27cb
mov dword [esi + 0xc4], edi
mov dword [esi + 0xc0], edx
mov edx, 0x59a5c50e
mov edi, 0xfbd986da
mov dword [esi + 0xcc], edi
mov dword [esi + 0xc8], edx
mov edx, 0x8683f0f7
mov edi, 0xe86d2731
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 [0x10258d5c]
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 0x100e9b33
mov eax, dword [esi + 0x20]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 4], eax
test eax, eax
je 0x100e9f9f
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100ea233
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ea27d
or eax, 1
mov dword [0x1025e65c], eax
mov eax, 0xc6362ae
mov ecx, 0x47db0ea6
mov dword [esi + 0x64], eax
mov dword [esi + 0x60], ecx
mov eax, 0x8d86ebe4
mov ecx, 0x74dcb167
mov dword [esi + 0x6c], eax
mov dword [esi + 0x68], ecx
mov eax, 0xe86d5449
mov ecx, 0xe7ce9392
mov dword [esi + 0x74], eax
mov dword [esi + 0x70], ecx
mov eax, 0xc187af88
mov ecx, 0x53f5da20
mov edx, 0x34ba4ce5
mov edi, 0x780d27cb
mov dword [esi + 0xc4], edi
mov dword [esi + 0xc0], edx
mov edx, 0x59a5c50e
mov edi, 0xfbd986da
mov dword [esi + 0xcc], edi
mov dword [esi + 0xc8], edx
mov edx, 0x8683f0f7
mov edi, 0xe86d2731
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 [0x10258d5c]
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 0x100e9c46
mov eax, dword [esi + 0x20]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 4], eax
test eax, eax
je 0x100e9fa9
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100ea304
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ea34e
mov ecx, 0x811c9dc5
jmp 0x100e9df8
or eax, 1
mov dword [0x1025e644], eax
mov eax, 0xc6362ae
mov ecx, 0x47db0ea6
mov dword [esi + 0x64], eax
mov dword [esi + 0x60], ecx
mov eax, 0x8d86ebe4
mov ecx, 0x74dcb167
mov dword [esi + 0x6c], eax
mov dword [esi + 0x68], ecx
mov eax, 0x86044058
mov ecx, 0xf4cc9392
mov dword [esi + 0x74], eax
mov dword [esi + 0x70], ecx
mov eax, 0xc187af88
mov ecx, 0x53f5da20
mov edx, 0x34ba4ce5
mov edi, 0x780d27cb
mov dword [esi + 0xc4], edi
mov dword [esi + 0xc0], edx
mov edx, 0x59a5c50e
mov edi, 0xfbd986da
mov dword [esi + 0xcc], edi
mov dword [esi + 0xc8], edx
mov edx, 0x8683f0f7
mov edi, 0xe86d2731
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 [0x10258d5c]
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 0x100e9d63
mov eax, dword [esi + 0x20]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 4], eax
test eax, eax
je 0x100e9fb3
mov eax, dword [esi + 4]
mov ecx, eax
and ecx, 3
mov dword [esi + 0xc], ecx
cmp eax, 4
jae 0x100ea3d5
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ea41f
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 0x100e9d9e
cmp dword [esi + 0xc], 0
je 0x100e9df8
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 0x100e9de6
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 0x100ea91f
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [edi + 0x18]
jne 0x100e9e3c
cmp dword [edi + 0x1c], 0x10
jb 0x100e9e26
mov eax, dword [edi + 8]
jmp 0x100e9e29
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 0x100e9e49
cmp edi, ebx
je 0x100ea91f
mov edi, dword [edi + 4]
jmp 0x100e9e13
add edi, 0x20
lea ecx, [esi + 0x60]
call fcn.10014f60
mov dword [0x10258eec], edi
mov edx, dword [esi + 0xb0]
mov ebx, dword [esi + 0x1c]
mov ecx, dword [esi + 0x18]
jmp 0x100e83a2
mov dword [esi + 4], ecx
or eax, 1
mov dword [0x1025e644], eax
mov eax, 0xc6362ae
mov ecx, 0x47db0ea6
mov dword [esi + 0x64], eax
mov dword [esi + 0x60], ecx
mov eax, 0x8d86ebe4
mov ecx, 0x74dcb167
mov dword [esi + 0x6c], eax
mov dword [esi + 0x68], ecx
mov eax, 0x86044058
mov ecx, 0xf4cc9392
mov dword [esi + 0x74], eax
mov dword [esi + 0x70], ecx
mov eax, 0xc187af88
mov ecx, 0x53f5da20
mov edx, 0x34ba4ce5
mov edi, 0x780d27cb
mov dword [esi + 0xc4], edi
mov dword [esi + 0xc0], edx
mov edx, 0x59a5c50e
mov edi, 0xfbd986da
mov dword [esi + 0xcc], edi
mov dword [esi + 0xc8], edx
mov edx, 0x8683f0f7
mov edi, 0xe86d2731
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 [0x10258d5c]
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 0x100e9f53
mov eax, dword [esi + 0x20]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 0xc], eax
test eax, eax
je 0x100ea4b0
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x58], ecx
cmp eax, 4
jae 0x100ea4b7
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ea501
mov ecx, 0x811c9dc5
jmp 0x100ea024
mov ecx, 0x811c9dc5
jmp 0x100ea0f5
mov ecx, 0x811c9dc5
jmp 0x100ea1c6
mov ecx, 0x811c9dc5
jmp 0x100ea29a
mov ecx, 0x811c9dc5
jmp 0x100ea36b
mov ecx, 0x811c9dc5
jmp 0x100ea43c
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 0x100e9fca
cmp dword [esi + 0xc], 0
je 0x100ea024
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 0x100ea012
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 0x100ea908
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [edi + 0x18]
jne 0x100ea068
cmp dword [edi + 0x1c], 0x10
jb 0x100ea052
mov eax, dword [edi + 8]
jmp 0x100ea055
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 0x100ea075
cmp edi, ebx
je 0x100ea908
mov edi, dword [edi + 4]
jmp 0x100ea03f
add edi, 0x20
lea ecx, [esi + 0x20]
call fcn.10014f60
mov dword [0x1025e690], edi
mov ebx, dword [esi + 0x1c]
jmp 0x100e83ef
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 0x100ea09b
cmp dword [esi + 0xc], 0
je 0x100ea0f5
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 0x100ea0e3
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 0x100ea8f1
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [edi + 0x18]
jne 0x100ea139
cmp dword [edi + 0x1c], 0x10
jb 0x100ea123
mov eax, dword [edi + 8]
jmp 0x100ea126
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 0x100ea146
cmp edi, ebx
je 0x100ea8f1
mov edi, dword [edi + 4]
jmp 0x100ea110
add edi, 0x20
lea ecx, [esi + 0x20]
call fcn.10014f60
mov dword [0x1025e640], edi
mov ebx, dword [esi + 0x1c]
jmp 0x100e8420
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 0x100ea16c
cmp dword [esi + 0xc], 0
je 0x100ea1c6
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 0x100ea1b4
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 0x100ea8da
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [edi + 0x18]
jne 0x100ea20a
cmp dword [edi + 0x1c], 0x10
jb 0x100ea1f4
mov eax, dword [edi + 8]
jmp 0x100ea1f7
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 0x100ea217
cmp edi, ebx
je 0x100ea8da
mov edi, dword [edi + 4]
jmp 0x100ea1e1
add edi, 0x20
lea ecx, [esi + 0xc0]
call fcn.10014f60
mov dword [0x1025e648], edi
mov ebx, dword [esi + 0x1c]
jmp 0x100e844f
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 0x100ea240
cmp dword [esi + 0xc], 0
je 0x100ea29a
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 0x100ea288
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 0x100ea8c3
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [edi + 0x18]
jne 0x100ea2de
cmp dword [edi + 0x1c], 0x10
jb 0x100ea2c8
mov eax, dword [edi + 8]
jmp 0x100ea2cb
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 0x100ea2eb
cmp edi, ebx
je 0x100ea8c3
mov edi, dword [edi + 4]
jmp 0x100ea2b5
add edi, 0x20
lea ecx, [esi + 0x20]
call fcn.10014f60
mov dword [0x1025e650], edi
mov ebx, dword [esi + 0x1c]
jmp 0x100e847e
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 0x100ea311
cmp dword [esi + 0xc], 0
je 0x100ea36b
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 0x100ea359
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 0x100ea8ac
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [edi + 0x18]
jne 0x100ea3af
cmp dword [edi + 0x1c], 0x10
jb 0x100ea399
mov eax, dword [edi + 8]
jmp 0x100ea39c
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 0x100ea3bc
cmp edi, ebx
je 0x100ea8ac
mov edi, dword [edi + 4]
jmp 0x100ea386
add edi, 0x20
lea ecx, [esi + 0x20]
call fcn.10014f60
mov dword [0x1025e658], edi
mov ebx, dword [esi + 0x1c]
jmp 0x100e84ad
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 0x100ea3e2
cmp dword [esi + 0xc], 0
je 0x100ea43c
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 0x100ea42a
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 0x100ea87e
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, dword [edi + 0x18]
jne 0x100ea480
cmp dword [edi + 0x1c], 0x10
jb 0x100ea46a
mov eax, dword [edi + 8]
jmp 0x100ea46d
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 0x100ea48d
cmp edi, ebx
je 0x100ea87e
mov edi, dword [edi + 4]
jmp 0x100ea457
add edi, 0x20
lea ecx, [esi + 0x20]
call fcn.10014f60
mov dword [0x1025e640], edi
mov dword [esi + 0x31c8], 0xffffffff
mov ebx, dword [esi + 0x1c]
jmp 0x100e9211
mov ecx, 0x811c9dc5
jmp 0x100ea51e
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 0x100ea4c4
cmp dword [esi + 0x58], 0
je 0x100ea51e
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 0x100ea50c
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 0x100ea895
mov edi, ebx
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [edi + 0x18]
jne 0x100ea564
cmp dword [edi + 0x1c], 0x10
jb 0x100ea54e
mov eax, dword [edi + 8]
jmp 0x100ea551
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 0x100ea571
cmp edi, ebx
je 0x100ea895
mov edi, dword [edi + 4]
jmp 0x100ea53b
mov ebx, edi
add ebx, 0x20
lea ecx, [esi + 0x20]
call fcn.10014f60
mov dword [0x1025e640], ebx
mov dword [esi + 0x31c8], 0xffffffff
mov ecx, dword [esi + 4]
jmp 0x100e89d9
mov ecx, dword [0x10258da0]
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 [0x101a7dc0]
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 0x100ea64e
mov edi, dword [eax]
jmp 0x100ea650
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 0x100ea6af
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.100edd90
test al, al
jne 0x100ea6a3
inc edi
dec ebx
jne 0x100ea670
mov ecx, dword [esi + 0xbc]
mov ebx, dword [esi + 0x1c]
mov eax, dword [esi + 0x10]
jmp 0x100ea7f5
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 0x100ea6c1
mov eax, dword [esi + 0x10]
jmp 0x100ea7f5
lea edx, [eax + 1]
cmp edx, ebx
jne 0x100ea6d2
mov ebx, eax
mov eax, dword [esi + 0x10]
jmp 0x100ea7f5
mov eax, dword [esi + 0x58]
add eax, 0x1c
mov dword [esi + 8], eax
jmp 0x100ea749
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 0x100ea7e6
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.100edd90
test al, al
mov dword [esi + 0x10], ebx
je 0x100ea770
mov ebx, dword [esi + 0x1c]
jmp 0x100ea73d
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 0x100ea6e0
lock dec dword [ecx + 4]
jne 0x100ea6e0
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 0x100ea6e0
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x100ea6e0
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.100eabd0
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