Function at 0x100fa040
Capabilities:
Encode data using xor
Encrypt data using speck
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
sub esp, 0x400
mov esi, esp
mov dword [esi + 0x3d8], ebp
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x3dc], esp
mov dword [esi + 0x3e8], 0xffffffff
lea eax, [esi + 0x3e0]
mov dword [esi + 0x3e4], 0x101294a0
mov ecx, dword fs:[0]
mov dword [esi + 0x3e0], ecx
mov dword fs:[0], eax
mov eax, dword [0x1025ae04]
mov edi, dword [eax]
cmp edi, dword [ebp + 8]
je 0x100fc088
mov eax, dword [0x102606e4]
test al, 1
je 0x100fc166
mov ebx, dword [0x102606e0]
mov ecx, dword [ebx + 4]
mov edx, dword [ebp + 8]
mov edx, dword [ecx + edx]
test al, 1
je 0x100fc2a2
cmp edx, dword [ecx + edi]
mov dword [esi + 0x3e8], 0xffffffff
jne 0x100fa0f6
mov eax, dword [0x1025adc8]
mov ecx, dword [eax + 0x154]
mov eax, dword [ecx]
call dword [eax + 0x34]
test eax, eax
jne 0x100fa0f6
mov eax, dword [0x1025adc4]
cmp byte [eax + 0x1d4], 0
je 0x100fc088
mov edi, dword [ebp + 8]
lea ebx, [edi + 8]
mov eax, dword [edi + 8]
mov ecx, ebx
call dword [eax + 0x28]
mov dword [esi + 0x10], eax
mov eax, dword [edi + 8]
mov dword [esi + 0x80], ebx
mov ecx, ebx
call dword [eax + 0x24]
mov byte [esi + 0x390], al
mov eax, dword [0x1025af58]
test al, 1
je 0x100fc3e7
mov ebx, dword [0x1025af54]
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 8]
cmp dword [eax + ecx], 0
jle 0x100fa15d
mov eax, dword [0x1025af60]
test al, 1
je 0x100fc6d2
mov ebx, dword [0x1025af5c]
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 8]
cmp byte [eax + ecx], 0
je 0x100fa20d
mov ecx, dword [esi + 0x10]
dec ecx
cmp ecx, 0x40
jae 0x100fc520
mov eax, dword [0x1025ae0c]
movss xmm0, dword [eax + 0x14]
mov eax, ecx
mov dword [esi + 0x10], ecx
imul eax, ecx, 0x2c
mov ecx, dword [esi + 0x4c]
lea edx, [ecx + eax]
add edx, 0xf8
mov dword [esi + 0x50], edx
mulss xmm0, dword [0x101b1f90]
addss xmm0, dword [ecx + eax + 0xf8]
movss dword [ecx + eax + 0xf8], xmm0
movss xmm1, dword [0x101a8294]
ucomiss xmm0, xmm1
ja 0x100fa1bd
xorps xmm1, xmm1
ucomiss xmm1, xmm0
ja 0x100fa1bd
movaps xmm1, xmm0
mov ecx, dword [esi + 0x50]
movss dword [ecx], xmm1
mov ecx, dword [esi + 0x4c]
movss xmm0, dword [ecx + eax + 0xf8]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x100fa1de
jnp 0x100fc088
mov eax, dword [esi + 0x4c]
lea edi, [eax + 0xf8]
cmp byte [esi + 0x390], 0
jne 0x100fa4f4
mov eax, dword [0x1025adc4]
cmp byte [eax + 0x380], 0
je 0x100fa4f4
xor ecx, ecx
jmp 0x100fa3b4
mov edi, dword [esi + 0x10]
dec edi
mov dword [esi + 0x3e8], 0xffffffff
cmp edi, 0x40
jae 0x100fcac2
mov edx, dword [0x1025add8]
mov dword [esi + 0x50], edx
imul ecx, edi, 0x3054
lea eax, [edi + edi*2]
mov edx, dword [edx + ecx + 0x28]
mov ebx, dword [esi + 0x4c]
mov dword [ebx + eax*4 + 0xc00], edx
mov edx, dword [esi + 0x50]
movsd xmm0, qword [edx + ecx + 0x20]
mov dword [esi + 0x50], eax
movsd qword [ebx + eax*4 + 0xbf8], xmm0
mov ecx, dword [esi + 0x80]
mov eax, dword [ecx]
call dword [eax + 0x24]
test al, al
mov dword [esi + 0x10], edi
jne 0x100fa2ba
mov ecx, dword [esi + 0x50]
lea eax, [ebx + ecx*4]
add eax, 0x11f8
lea edx, [ebx + ecx*4 + 0xef8]
mov edi, dword [0x1025adc8]
mov ecx, dword [ebp + 8]
push eax
push edx
call dword [edi + 0xc4]
mov eax, dword [0x1025af58]
test al, 1
je 0x100fd879
mov ebx, dword [0x1025af54]
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 8]
mov eax, dword [eax + ecx]
mov edi, dword [esi + 0x10]
imul ecx, edi, 0x2c
mov ebx, dword [esi + 0x4c]
mov dword [ebx + ecx + 0x100], eax
lea eax, [ebx + 0xf8]
mov dword [esi + 0x20], eax
imul ecx, edi, 0x2c
lea eax, [ebx + ecx]
add eax, 0xf8
mov dword [esi + 0x50], eax
mov eax, dword [0x1025adc4]
cmp byte [esi + 0x390], 0
je 0x100fa3a6
cmp byte [eax + 0x1d5], 0
je 0x100fc088
movss xmm2, dword [0x101b1f98]
mov edi, dword [esi + 0x20]
cmp byte [edi + ecx + 0x24], 0
mov dword [esi + 0x18], ecx
je 0x100fac9a
mov eax, dword [esi + 0x50]
movss dword [eax], xmm2
mov eax, dword [0x10260794]
test al, 1
je 0x100fdbc3
mov ebx, dword [0x10260790]
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 8]
mov eax, dword [eax + ecx]
cmp eax, 0xffffffff
je 0x100fa4f4
mov ecx, dword [0x1025ae14]
mov edx, dword [ecx]
mov edx, dword [edx + 0x10]
mov dword [esi + 0x3e8], 0xffffffff
push eax
call edx
test eax, eax
je 0x100fa4f4
mov eax, dword [esi + 0x18]
mov edi, dword [edi + eax + 0x1c]
test edi, edi
jle 0x100fc0bc
mov eax, dword [0x10260794]
test al, 1
je 0x100feccc
mov ebx, dword [0x10260790]
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 8]
mov eax, dword [eax + ecx]
cmp eax, 0xffffffff
je 0x100fc09e
mov ecx, dword [0x1025ae14]
mov edx, dword [ecx]
mov edx, dword [edx + 0x10]
mov dword [esi + 0x3e8], 0xffffffff
push eax
call edx
jmp 0x100fc0a0
mov cl, 1
cmp byte [eax + 0x380], 0
mov edi, dword [esi + 0x20]
je 0x100fa415
mov dword [esi + 0x18], ecx
mov ecx, dword [0x1025ae10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [esi + 0x3e8], 0xffffffff
call eax
mov ecx, dword [0x10260a20]
test cl, 1
je 0x100fcad1
mov ebx, dword [0x10260a1c]
mov ecx, dword [ebx + 4]
add eax, dword [ebp + 8]
mov byte [ecx + eax + 1], 1
mov eax, dword [0x10260a28]
test al, 1
je 0x100fcc11
mov ebx, dword [0x10260a24]
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 8]
mov byte [eax + ecx], 1
cmp byte [esi + 0x18], 0
je 0x100fa4f4
mov eax, dword [0x1025ae0c]
movss xmm0, dword [eax]
mov eax, dword [0x1025adf4]
mov ecx, dword [esi + 0x10]
lea ecx, [ecx + ecx*4]
mov dword [esi + 0x18], ecx
movss dword [eax + ecx*4], xmm0
mov eax, dword [0x102606bc]
test al, 1
mov dword [esi + 0x20], edi
je 0x100fd530
mov ebx, dword [0x102606b8]
mov ecx, dword [ebx + 4]
mov eax, dword [0x1025adf4]
mov edi, dword [ebp + 8]
mov edx, dword [ecx + edi + 8]
mov ebx, dword [esi + 0x18]
mov dword [eax + ebx*4 + 0xc], edx
movsd xmm0, qword [ecx + edi]
movsd qword [eax + ebx*4 + 4], xmm0
mov ecx, dword [0x1025af50]
test cl, 1
je 0x100fd600
mov ebx, dword [0x1025af4c]
mov edi, dword [esi + 0x20]
mov ecx, dword [ebx + 4]
mov edx, dword [ebp + 8]
mov ecx, dword [ecx + edx]
mov edx, dword [esi + 0x18]
mov dword [eax + edx*4 + 0x10], ecx
imul eax, dword [esi + 0x10], 0x2c
xorps xmm0, xmm0
movups xmmword [edi + eax + 0xc], xmm0
mov ecx, dword [0x1025ae0c]
movss xmm0, dword [ecx + 0x14]
mulss xmm0, dword [0x101b1f94]
mov ecx, dword [esi + 0x50]
addss xmm0, dword [ecx]
movss dword [ecx], xmm0
movss xmm1, dword [0x101a8294]
ucomiss xmm0, xmm1
ja 0x100fa4d2
xorps xmm1, xmm1
ucomiss xmm1, xmm0
ja 0x100fa4d2
movaps xmm1, xmm0
mov ecx, dword [esi + 0x50]
movss dword [ecx], xmm1
movsd xmm0, qword [0x101a98c0]
movsd qword [edi + eax + 0x1c], xmm0
mov byte [edi + eax + 0x24], 0
mov dword [edi + eax + 0x28], 0
mov eax, dword [0x10260794]
test al, 1
mov dword [esi + 0x20], edi
je 0x100fc52f
mov ebx, dword [0x10260790]
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 8]
mov eax, dword [eax + ecx]
mov dword [esi + 0x14], 0
mov dword [esi + 0x3e8], 0xffffffff
mov cl, 1
mov dword [esi + 0xc], ecx
cmp eax, 0xffffffff
je 0x100fa55b
mov ecx, dword [0x1025ae14]
mov edx, dword [ecx]
push eax
call dword [edx + 0x10]
mov edi, eax
mov eax, 0
test edi, edi
je 0x100fa55d
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x730]
mov dword [esi + 0xc], 0
mov dword [esi + 0x14], edi
jmp 0x100fa55d
xor eax, eax
mov dword [esi + 0x18], eax
xorps xmm0, xmm0
movaps xmmword [esi + 0xa0], xmm0
lea eax, [esi + 0xa0]
push eax
push dword [ebp + 8]
call fcn.100f3b80
test al, al
je 0x100fc088
mov eax, dword [0x1025adc4]
cmp byte [eax + 0x1d6], 0
je 0x100fa7ed
mov eax, dword [esi + 0x50]
cvttss2si ecx, dword [eax]
test ecx, ecx
mov eax, 0
cmovg eax, ecx
shl eax, 0x18
cmp ecx, 0x8d
mov ecx, 0x8c000000
cmovge eax, ecx
movss xmm0, dword [esi + 0xa8]
movss dword [esi + 0x60], xmm0
movss xmm1, dword [0x101a9ca0]
addss xmm0, xmm1
movss dword [esi + 0x9c], xmm0
movss xmm0, dword [esi + 0xac]
movss dword [esi + 0x70], xmm0
addss xmm1, xmm0
movss dword [esi + 0xbc], xmm1
movss xmm0, dword [esi + 0xa0]
movss dword [esi + 0x1c], xmm0
movss xmm1, dword [esi + 0xa4]
movss dword [esi + 0x48], xmm1
movss xmm2, dword [0x101a8280]
addss xmm0, xmm2
movss dword [esi + 0x21c], xmm0
addss xmm2, xmm1
movss dword [esi + 0x3bc], xmm2
mov ecx, dword [0x1025ae4c]
mov edx, dword [ecx]
push eax
call dword [edx + 0x38]
mov ecx, dword [0x1025ae4c]
movss xmm1, dword [esi + 0xbc]
movss xmm3, dword [esi + 0x3bc]
addss xmm1, xmm3
movss xmm0, dword [esi + 0x9c]
movss xmm2, dword [esi + 0x21c]
addss xmm0, xmm2
mov eax, dword [ecx]
mov dword [esi + 0x9c], eax
cvttss2si edx, xmm1
cvttss2si eax, xmm0
cvttss2si edi, xmm3
cvttss2si ebx, xmm2
push edx
push eax
push edi
push ebx
mov eax, dword [esi + 0x9c]
call dword [eax + 0x48]
mov eax, dword [0x1025adc4]
movss xmm0, dword [0x101a8294]
movss xmm1, dword [eax + 0x1d8]
mulss xmm1, xmm0
cvttss2si ecx, xmm1
movzx edx, cl
movss xmm1, dword [eax + 0x1dc]
mulss xmm1, xmm0
cvttss2si ecx, xmm1
movzx ecx, cl
shl ecx, 8
or ecx, edx
mulss xmm0, dword [eax + 0x1e0]
cvttss2si eax, xmm0
movzx eax, al
shl eax, 0x10
or eax, ecx
mov ecx, dword [esi + 0x50]
cvttss2si edx, dword [ecx]
shl edx, 0x18
or edx, eax
mov ecx, dword [0x1025ae4c]
mov eax, dword [ecx]
push edx
call dword [eax + 0x38]
mov ecx, dword [0x1025ae4c]
movss xmm3, dword [esi + 0x48]
movaps xmm0, xmm3
addss xmm0, dword [esi + 0x70]
movss xmm1, dword [esi + 0x60]
movss xmm2, dword [esi + 0x1c]
addss xmm1, xmm2
mov eax, dword [ecx]
mov dword [esi + 0x9c], eax
cvttss2si edx, xmm0
cvttss2si edi, xmm1
cvttss2si ebx, xmm3
cvttss2si eax, xmm2
push edx
push edi
push ebx
push eax
mov eax, dword [esi + 0x9c]
call dword [eax + 0x48]
mov eax, dword [esi + 0x50]
cvttss2si eax, dword [eax]
test eax, eax
mov edx, 0
cmovg edx, eax
shl edx, 0x18
cmp eax, 0x8d
mov eax, 0x8c000000
cmovge edx, eax
movss xmm0, dword [0x101a9ae8]
movss xmm1, dword [esi + 0x60]
addss xmm1, xmm0
movss dword [esi + 0x60], xmm1
movss xmm1, dword [esi + 0x70]
addss xmm1, xmm0
movss dword [esi + 0x70], xmm1
movss xmm0, dword [0x101a97b0]
movss xmm1, dword [esi + 0x1c]
addss xmm1, xmm0
movss dword [esi + 0x1c], xmm1
movss xmm1, dword [esi + 0x48]
addss xmm1, xmm0
movss dword [esi + 0x48], xmm1
mov ecx, dword [0x1025ae4c]
mov eax, dword [ecx]
push edx
call dword [eax + 0x38]
mov ecx, dword [0x1025ae4c]
movss xmm1, dword [esi + 0x70]
movss xmm3, dword [esi + 0x48]
addss xmm1, xmm3
movss xmm0, dword [esi + 0x60]
movss xmm2, dword [esi + 0x1c]
addss xmm0, xmm2
mov eax, dword [ecx]
mov dword [esi + 0x60], eax
cvttss2si edx, xmm1
cvttss2si edi, xmm0
cvttss2si ebx, xmm3
cvttss2si eax, xmm2
push edx
push edi
push ebx
push eax
mov eax, dword [esi + 0x60]
call dword [eax + 0x48]
mov eax, dword [0x1025adc4]
cmp byte [eax + 0x1e8], 0
je 0x100faacd
mov eax, dword [esi + 0x50]
cvttss2si eax, dword [eax]
xor ebx, ebx
test eax, eax
mov ecx, 0
cmovg ecx, eax
shl ecx, 0x18
cmp eax, 0x8d
mov eax, 0x8c000000
cmovl eax, ecx
movss xmm0, dword [esi + 0xac]
movss xmm1, dword [0x101a9ae8]
movss dword [esi + 0x1c], xmm0
addss xmm1, xmm0
movss dword [esi + 0x48], xmm1
movss xmm0, dword [esi + 0xa0]
movss xmm1, dword [esi + 0xa4]
movss xmm2, dword [0x101a9ae4]
movss dword [esi + 0x60], xmm0
addss xmm2, xmm0
movss dword [esi + 0xbc], xmm2
movss xmm0, dword [0x101a97b0]
movss dword [esi + 0x70], xmm1
addss xmm0, xmm1
movss dword [esi + 0x9c], xmm0
mov ecx, dword [0x1025ae4c]
mov edx, dword [ecx]
push eax
call dword [edx + 0x38]
mov ecx, dword [0x1025ae4c]
movss xmm0, dword [esi + 0xbc]
cvttss2si eax, xmm0
mov dword [esi + 0x21c], eax
addss xmm0, dword [0x101a98f4]
movaps xmm1, xmm0
movss xmm0, dword [esi + 0x48]
movss xmm2, dword [esi + 0x9c]
addss xmm0, xmm2
mov eax, dword [ecx]
mov dword [esi + 0x48], eax
cvttss2si edi, xmm0
cvttss2si eax, xmm1
cvttss2si edx, xmm2
push edi
push eax
push edx
push dword [esi + 0x21c]
mov eax, dword [esi + 0x48]
call dword [eax + 0x40]
mov ecx, dword [esi + 0x10]
imul eax, ecx, 0x2c
mov edx, dword [esi + 0x20]
mov eax, dword [edx + eax + 8]
test eax, eax
cmovg ebx, eax
cmp ebx, 0x64
mov edi, 0x64
cmovl edi, ebx
mov ecx, dword [ecx*4 + 0x1026091c]
mov eax, edi
cmp ecx, edi
jle 0x100fa928
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
mov eax, dword [0x1025ae0c]
movss xmm1, dword [eax + 0x14]
mulss xmm1, dword [0x101b1f90]
addss xmm1, xmm0
cvttss2si eax, xmm1
cmp edi, 0x39
mov edx, 0xc8d7
mov ecx, 0xff96
cmovb ecx, edx
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
cmp edi, 0x1b
divss xmm1, dword [0x101a99a8]
mov edx, dword [esi + 0x10]
mov dword [edx*4 + 0x1026091c], eax
mov eax, 0x32ff
cmovae eax, ecx
movss xmm0, dword [esi + 0x1c]
mulss xmm1, xmm0
movaps xmm2, xmm1
movss dword [esi + 0x10], xmm1
mov ecx, dword [esi + 0x50]
cvttss2si ecx, dword [ecx]
shl ecx, 0x18
add eax, ecx
add eax, 0x500000
movss xmm1, dword [esi + 0x60]
addss xmm1, dword [0x101a9c10]
movss dword [esi + 0x60], xmm1
movss xmm1, dword [esi + 0x70]
addss xmm1, xmm0
subss xmm1, xmm2
movss dword [esi + 0x70], xmm1
mov ecx, dword [0x1025ae4c]
mov edx, dword [ecx]
push eax
call dword [edx + 0x38]
mov ecx, dword [0x1025ae4c]
movss xmm1, dword [esi + 0x10]
movss xmm3, dword [esi + 0x70]
addss xmm1, xmm3
movss xmm0, dword [0x101a9ae8]
movss xmm2, dword [esi + 0x60]
addss xmm0, xmm2
mov eax, dword [ecx]
mov dword [esi + 0x10], eax
cvttss2si edx, xmm1
cvttss2si ebx, xmm0
cvttss2si eax, xmm3
mov dword [esi + 0x1c], eax
cvttss2si eax, xmm2
mov dword [esi + 0x20], eax
push edx
push ebx
push dword [esi + 0x1c]
push dword [esi + 0x20]
mov eax, dword [esi + 0x10]
call dword [eax + 0x40]
lea eax, [edi - 1]
cmp eax, 0x62
ja 0x100faacd
mov eax, dword [esi + 0x50]
cvttss2si ebx, dword [eax]
shl ebx, 0x18
or ebx, 0xffffff
lea eax, [esi + 0x220]
push edi
mov edi, eax
push eax
call fcn.1003fc80
add esp, 8
cmp dword [esi + 0x234], 0x10
jb 0x100faa39
mov edi, dword [esi + 0x220]
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, dword [esi + 0x4c]
mov ecx, dword [ecx + 0x10]
movss xmm0, dword [esi + 0x70]
addss xmm0, dword [0x101a9ae0]
mov dword [esi + 0x3e8], 0x1e
sub esp, 0x1c
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], ecx
movss dword [esp + 4], xmm0
movss xmm0, dword [esi + 0x60]
movss dword [esp], xmm0
mov dword [esp + 0x18], 1
call fcn.100f3560
mov eax, dword [esi + 0x234]
cmp eax, 0x10
jb 0x100faacd
mov ecx, dword [esi + 0x220]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x100faac3
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x100fd52a
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.10157950
add esp, 8
mov eax, dword [0x1025adc4]
cmp byte [eax + 0x1e9], 0
je 0x100faf48
mov edi, dword [0x1025ae10]
mov ecx, dword [esi + 0x80]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
mov dword [esi + 0x3e8], 0xffffffff
call eax
xorps xmm0, xmm0
movaps xmmword [esi + 0x160], xmm0
movaps xmmword [esi + 0x150], xmm0
movaps xmmword [esi + 0x140], xmm0
movaps xmmword [esi + 0x130], xmm0
movaps xmmword [esi + 0x120], xmm0
movaps xmmword [esi + 0x110], 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 + 0x171], 0
mov dword [esi + 0x16d], 0
movups xmmword [esi + 0x178], xmm0
movups xmmword [esi + 0x188], xmm0
movups xmmword [esi + 0x198], xmm0
movups xmmword [esi + 0x1a8], xmm0
movups xmmword [esi + 0x1b8], xmm0
movups xmmword [esi + 0x1c8], xmm0
movups xmmword [esi + 0x1d8], xmm0
movups xmmword [esi + 0x1e8], xmm0
mov dword [esi + 0x1fa], 0
mov dword [esi + 0x1f6], 0
movaps xmmword [esi + 0x200], xmm0
mov byte [esi + 0x210], 0
mov edx, dword [edi]
lea ebx, [esi + 0xc0]
mov ecx, edi
push ebx
push eax
call dword [edx + 0x20]
test al, al
je 0x100faf43
lea eax, [esi + 0x220]
push 0x158
push ebx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + 0x378], 1
lea ebx, [esi + 0x230]
xorps xmm0, xmm0
movaps xmmword [esi + 0xc0], xmm0
mov dword [esi + 0xd4], 0
mov dword [esi + 0xd0], 0
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
test eax, eax
js 0x100fd9b2
mov edi, eax
cmp eax, 0xf
ja 0x100fac57
mov dword [esi + 0xd0], edi
mov dword [esi + 0xd4], 0xf
lea eax, [esi + 0xc0]
push edi
push ebx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, esi
add edi, 0xc0
jmp 0x100fad86
mov dword [esi + 0xd4], 0xf
mov eax, edi
or eax, 0xf
cmp eax, 0x17
mov ecx, 0x16
cmovae ecx, eax
cmp ecx, 0xfff
mov dword [esi + 0x10], ecx
jb 0x100fad50
lea eax, [ecx + 0x24]
push eax
call fcn.1015791b
add esp, 4
lea ebx, [eax + 0x23]
and ebx, 0xffffffe0
mov dword [ebx - 4], eax
jmp 0x100fad5e
mov eax, dword [0x1025ae0c]
movss xmm0, dword [eax]
subss xmm0, dword [edi + ecx + 0x28]
ucomiss xmm0, dword [0x101a98f4]
jbe 0x100facea
mov eax, dword [esi + 0x20]
lea edi, [eax + ecx]
add edi, 0x24
mov ecx, dword [0x1025adf4]
mov dword [esi + 0x3e8], 0xffffffff
push dword [ebp + 8]
call fcn.100f0410
movss xmm2, dword [0x101b1f98]
mov ecx, dword [esi + 0x18]
cmp byte [edi], 0
mov edi, dword [esi + 0x20]
jne 0x100fa309
add ecx, edi
add ecx, 0x28
mov eax, dword [0x1025ae0c]
movss xmm0, dword [eax]
subss xmm0, dword [ecx]
ucomiss xmm0, dword [0x101a98f4]
jbe 0x100fa309
mov ecx, dword [esi + 0x50]
movss xmm1, dword [ecx]
movss xmm2, dword [0x101b1f9c]
ucomiss xmm2, xmm1
movss xmm0, dword [eax + 0x14]
jbe 0x100fc152
mulss xmm0, dword [0x101b1fa0]
addss xmm0, xmm1
movss dword [ecx], xmm0
ucomiss xmm0, xmm2
ja 0x100fa309
xorps xmm2, xmm2
ucomiss xmm2, xmm0
ja 0x100fa309
jmp 0x100fc15e
lea eax, [ecx + 1]
push eax
call fcn.1015791b
add esp, 4
mov ebx, eax
mov dword [esi + 0xc0], ebx
mov dword [esi + 0xd0], edi
mov eax, dword [esi + 0x10]
mov dword [esi + 0xd4], eax
push edi
lea eax, [esi + 0x230]
push eax
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, ebx
mov byte [edi], 0
mov eax, dword [esi + 0xd0]
cmp eax, 0x21
jb 0x100fae21
mov dword [esi + 0x3e8], 0x1f
lea ecx, [esi + 0xc0]
push 0
push 0x20
call fcn.10034e40
mov ecx, 0x3a1748b9
mov eax, 0xe32aec28
mov edx, 0xe32aec28
mov dword [esi + 0x3a4], edx
mov dword [esi + 0x3a0], ecx
mov ecx, 0xb4bf80ec
mov edx, 0x8770d379
mov dword [esi + 0x3ac], edx
mov dword [esi + 0x3a8], ecx
mov edi, 0x3a396697
mov dword [esi + 0x34], eax
mov dword [esi + 0x30], edi
mov dword [esi + 0x3c], edx
mov dword [esi + 0x38], ecx
lea eax, [esi + 0x30]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x3a0]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x3a0], xmm0
lea eax, [esi + 0x3a0]
lea ecx, [esi + 0xc0]
push eax
call fcn.10100290
mov eax, dword [esi + 0xd0]
mov ecx, dword [0x1025adc4]
movss xmm0, dword [0x101a8294]
movss xmm1, dword [ecx + 0x1f0]
mulss xmm1, xmm0
cvttss2si edx, xmm1
movzx edx, dl
shl edx, 8
movss xmm1, dword [ecx + 0x1ec]
mulss xmm1, xmm0
cvttss2si ebx, xmm1
movzx edi, bl
or edi, edx
mulss xmm0, dword [ecx + 0x1f4]
cvttss2si edx, xmm0
movzx edx, dl
shl edx, 0x10
or edx, edi
mov edi, dword [esi + 0x50]
movss xmm0, dword [edi]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ecx + 0x1f8]
cvttss2si ecx, xmm0
shl ecx, 0x18
or ecx, edx
cmp dword [esi + 0xd4], 0x10
lea edi, [esi + 0xc0]
jb 0x100faea2
mov edi, dword [esi + 0xc0]
mov edx, dword [esi + 0x4c]
mov edx, dword [edx + 4]
movss xmm0, dword [esi + 0xa8]
mulss xmm0, dword [0x101a82c0]
addss xmm0, dword [esi + 0xa0]
movss xmm1, dword [esi + 0xa4]
addss xmm1, dword [0x101b0ca0]
mov dword [esi + 0x3e8], 0x1f
sub esp, 0x1c
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], edx
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
mov dword [esp + 0x18], 1
call fcn.100f3560
mov eax, dword [esi + 0xd4]
cmp eax, 0x10
jb 0x100faf43
mov ecx, dword [esi + 0xc0]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x100faf39
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x100fd52a
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.10157950
add esp, 8
mov eax, dword [0x1025adc4]
mov dword [esi + 0x10], 0
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x100fb269
cmp byte [eax + 0x210], 0
je 0x100fb269
mov eax, dword [ecx + 0xc8]
test eax, eax
je 0x100fb269
cmp eax, 6
jg 0x100fb269
cmp dword [ecx + 0x14], 0xffffffff
je 0x100fb269
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x2980]
movss xmm0, dword [edi + 0x58]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x100fafa0
jnp 0x100fafe4
mov eax, dword [eax + 0x294c]
test eax, eax
je 0x100fafe4
mov edx, dword [eax]
test edx, edx
je 0x100fafe4
mov eax, dword [edi + 0x50]
mov ecx, dword [0x1025adc8]
mov ebx, dword [ecx + 0x1c]
mov dword [esi + 0x3e8], 0xffffffff
mov ecx, dword [ebp + 8]
push eax
call ebx
cmp eax, 0x3c7
jne 0x100fafe4
movss xmm0, dword [edi + 0x64]
movss dword [esi + 0x20], xmm0
mov al, 1
mov dword [esi + 0x70], eax
jmp 0x100fb02a
mov eax, dword [0x1025af80]
test al, 1
je 0x100fe515
mov ebx, dword [0x1025af7c]
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x14]
xorps xmm1, xmm1
cvtsi2ss xmm1, dword [eax + ecx]
mov eax, dword [esi + 0x18]
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [eax + 0x14]
divss xmm1, xmm0
movss dword [esi + 0x20], xmm1
mov dword [esi + 0x3e8], 0xffffffff
mov dword [esi + 0x70], 0
mov edi, dword [esi + 0x50]
cvttss2si eax, dword [edi]
xor ecx, ecx
test eax, eax
cmovg ecx, eax
shl ecx, 0x18
cmp eax, 0x8d
mov eax, 0x8c000000
cmovl eax, ecx
movss xmm1, dword [esi + 0xa8]
movss dword [esi + 0x10], xmm1
movss xmm0, dword [0x101a9ae8]
addss xmm0, xmm1
movss dword [esi + 0x220], xmm0
mov dword [esi + 0x224], 0x40800000
movss xmm0, dword [esi + 0xa0]
movaps xmmword [esi + 0x60], xmm0
movss xmm1, dword [esi + 0xa4]
addss xmm1, dword [esi + 0xac]
movaps xmmword [esi + 0x80], xmm1
unpcklps xmm0, xmm1
addps xmm0, xmmword [0x101b1fb0]
movlps qword [esi + 0xc0], xmm0
lea edx, [esi + 0x220]
lea ecx, [esi + 0xc0]
push eax
push edx
push ecx
call fcn.100f7ad0
mov eax, dword [0x1025adc4]
movss xmm0, dword [0x101a8294]
movss xmm1, dword [eax + 0x214]
mulss xmm1, xmm0
cvttss2si ecx, xmm1
movzx edx, cl
movss xmm1, dword [eax + 0x218]
mulss xmm1, xmm0
cvttss2si ecx, xmm1
movzx ecx, cl
shl ecx, 8
mulss xmm0, dword [eax + 0x21c]
cvttss2si ebx, xmm0
or ecx, edx
movzx edx, bl
shl edx, 0x10
movss xmm0, dword [edi]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [eax + 0x220]
or edx, ecx
cvttss2si eax, xmm0
shl eax, 0x18
or eax, edx
movss xmm0, dword [esi + 0x20]
mulss xmm0, dword [esi + 0x10]
movss dword [esi + 0x20], xmm0
movss dword [esi + 0x220], xmm0
mov dword [esi + 0x224], 0x40000000
movss xmm0, dword [0x101a984c]
addss xmm0, dword [esi + 0x80]
movaps xmm1, xmmword [esi + 0x60]
movss dword [esi + 0xc0], xmm1
movss dword [esi + 0xc4], xmm0
push eax
lea eax, [esi + 0x220]
push eax
lea eax, [esi + 0xc0]
push eax
call fcn.100f7ad0
mov dword [esi + 0x10], 4
cmp byte [esi + 0x70], 0
jne 0x100fb262
mov eax, dword [0x1025af80]
test al, 1
je 0x100feab5
mov ebx, dword [0x1025af7c]
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x14]
mov ecx, dword [eax + ecx]
mov edx, dword [esi + 0x18]
cmp ecx, dword [edx + 0x14]
jge 0x100fb267
mov ecx, dword [esi + 0x50]
cvttss2si ebx, dword [ecx]
mov ecx, dword [0x1025af80]
test cl, 1
je 0x100ff101
add eax, dword [esi + 0x14]
shl ebx, 0x18
or ebx, 0xffffff
mov eax, dword [eax]
mov dword [esi + 0x3e8], 0xffffffff
lea edi, [esi + 0x3a0]
push eax
push edi
call fcn.1003fc80
add esp, 8
cmp dword [esi + 0x3b4], 0x10
jb 0x100fb202
mov edi, dword [esi + 0x3a0]
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, dword [esi + 0x4c]
mov ecx, dword [ecx + 0x10]
movss xmm0, dword [esi + 0x20]
addss xmm0, dword [esi + 0x60]
mov dword [esi + 0x3e8], 0x26
sub esp, 0x1c
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], ecx
movaps xmm1, xmmword [esi + 0x80]
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
mov dword [esp + 0x18], 0
call fcn.100f3560
lea ecx, [esi + 0x3a0]
call fcn.10015110
mov ecx, dword [esi + 0x18]
jmp 0x100fb269
mov ecx, edx
mov eax, dword [0x1025adc4]
cmp byte [eax + 0x224], 0
je 0x100fb463
mov eax, dword [0x102606b4]
test al, 1
je 0x100fce1b
mov ebx, dword [0x102606b0]
mov edx, dword [ebx + 4]
mov ecx, dword [0x1025ae04]
mov edi, dword [ecx]
mov ecx, edx
test al, 1
je 0x100fcf5a
movss xmm0, dword [ecx + edi + 8]
mov eax, dword [ebp + 8]
subss xmm0, dword [eax + edx + 8]
movss xmm1, dword [ecx + edi + 4]
subss xmm1, dword [eax + edx + 4]
movss xmm2, dword [ecx + edi]
subss xmm2, dword [eax + edx]
mulss xmm1, xmm1
mulss xmm2, xmm2
addss xmm2, xmm1
mulss xmm0, xmm0
addss xmm0, xmm2
cvtss2sd xmm0, xmm0
xorps xmm1, xmm1
ucomisd xmm0, xmm1
jb 0x100fb2ef
sqrtsd xmm0, xmm0
jmp 0x100fb317
sub esp, 8
movsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
add esp, 8
fstp qword [esi + 0x3d0]
movsd xmm0, qword [esi + 0x3d0]
mov dword [esi + 0x3e8], 0xffffffff
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x101b1fc0]
mulss xmm0, dword [0x101b1fc4]
cvttss2si eax, xmm0
mov dword [esi + 0x3a0], eax
mov eax, dword [esi + 0x50]
cvttss2si edi, dword [eax]
shl edi, 0x18
or edi, 0xffffff
mov dword [esi + 0x3c8], str._FT
mov dword [esi + 0x3cc], 5
mov dword [esi + 0x3e8], 0xffffffff
sub esp, 0x10
movsd xmm0, qword [esi + 0x3c8]
movsd qword [esp + 4], xmm0
lea eax, [esi + 0x3a0]
mov dword [esp + 0xc], eax
lea ebx, [esi + 0x220]
mov dword [esp], ebx
call fcn.100f3a50
add esp, 0x10
cmp dword [esi + 0x234], 0x10
jb 0x100fb39e
mov ebx, dword [esi + 0x220]
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
movss xmm1, dword [esi + 0xa4]
movss xmm0, dword [esi + 0xa8]
mulss xmm0, dword [0x101a82c0]
addss xmm0, dword [esi + 0xa0]
addss xmm1, dword [esi + 0xac]
mov ecx, dword [esi + 0x4c]
mov ecx, dword [ecx + 0x10]
xorps xmm2, xmm2
cvtsi2ss xmm2, dword [esi + 0x10]
addss xmm1, dword [0x101a9ae8]
addss xmm2, xmm1
mov dword [esi + 0x3e8], 0x2b
sub esp, 0x1c
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ecx
movss dword [esp + 4], xmm2
movss dword [esp], xmm0
mov dword [esp + 0x18], 1
call fcn.100f3560
mov eax, dword [esi + 0x234]
cmp eax, 0x10
jb 0x100fb45c
mov ecx, dword [esi + 0x220]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x100fb452
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x100fd52a
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.10157950
add esp, 8
add dword [esi + 0x10], 8
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x100fb77d
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x100fb77d
mov ecx, dword [0x1025adc4]
cmp byte [ecx + 0x1fd], 0
je 0x100fb77d
mov ecx, dword [0x1025ae50]
mov edx, dword [ecx]
mov edx, dword [edx + 0x30]
mov dword [esi + 0x3e8], 0xffffffff
push eax
call edx
mov edi, eax
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_wcslen
add esp, 4
test eax, eax
je 0x100fb55c
mov ebx, eax
sub esp, 0x20
xorps xmm0, xmm0
movups xmmword [esp + 0x10], xmm0
mov dword [esp + 0xc], eax
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov dword [esp], 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
xorps xmm0, xmm0
movaps xmmword [esi + 0x220], xmm0
mov dword [esi + 0x230], 0
mov dword [esi + 0x234], 0xf
test eax, eax
je 0x100fb58b
cmp eax, 0xf
mov dword [esi + 0x20], eax
jbe 0x100fb594
mov dword [esi + 0x3e8], 0x2c
sub esp, 0x10
movzx ecx, byte [esi + 0xc0]
mov byte [esp + 4], cl
mov dword [esp + 8], eax
mov dword [esp], eax
mov dword [esp + 0xc], 0
lea ecx, [esi + 0x220]
mov dword [esi + 0x80], edi
mov dword [esi + 0x18], ebx
call fcn.1001bf70
mov eax, dword [esi + 0x20]
mov ebx, dword [esi + 0x18]
mov edi, dword [esi + 0x80]
jmp 0x100fb5b7
xorps xmm0, xmm0
movaps xmmword [esi + 0x220], xmm0
mov dword [esi + 0x230], 0
mov dword [esi + 0x234], 0xf
mov ecx, 0xf
mov dword [esi + 0x20], 0
jmp 0x100fb645
mov byte [esi + 0x220], 0
jmp 0x100fb5c8
mov dword [esi + 0x230], eax
lea ecx, [esi + 0x220]
push eax
push 0
push ecx
call sub.VCRUNTIME140.dll_memset
mov eax, dword [esi + 0x20]
add esp, 0xc
mov byte [esi + eax + 0x220], 0
cmp dword [esi + 0x234], 0x10
jb 0x100fb5c8
mov ecx, dword [esi + 0x220]
jmp 0x100fb5ce
lea ecx, [esi + 0x220]
push 0
push 0
push eax
push ecx
push ebx
push edi
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov ecx, dword [esi + 0x234]
mov eax, dword [esi + 0x220]
mov edi, dword [esi + 0x230]
cmp ecx, 0x10
lea ebx, [esi + 0x220]
cmovae ebx, eax
test edi, edi
je 0x100fb642
mov edx, edi
xor edi, edi
mov dword [esi + 0x20], edx
nop dword [eax]
movsx eax, byte [ebx + edi]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
add esp, 4
mov byte [ebx + edi], al
inc edi
cmp dword [esi + 0x20], edi
jne 0x100fb610
mov eax, dword [esi + 0x220]
mov dword [esi + 0x20], eax
mov ecx, dword [esi + 0x234]
mov dword [esi + 0x3e8], 0x2d
jmp 0x100fb645
mov dword [esi + 0x20], eax
mov edx, dword [0x1025adc4]
movss xmm0, dword [0x101a8294]
movss xmm1, dword [edx + 0x204]
mulss xmm1, xmm0
cvttss2si ebx, xmm1
movzx ebx, bl
shl ebx, 8
movss xmm1, dword [edx + 0x200]
mulss xmm1, xmm0
cvttss2si eax, xmm1
movzx edi, al
or edi, ebx
mulss xmm0, dword [edx + 0x208]
cvttss2si eax, xmm0
movzx ebx, al
shl ebx, 0x10
or ebx, edi
mov eax, dword [esi + 0x50]
movss xmm0, dword [eax]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [edx + 0x20c]
cvttss2si edi, xmm0
shl edi, 0x18
or edi, ebx
cmp ecx, 0x10
lea ebx, [esi + 0x220]
cmovae ebx, dword [esi + 0x20]
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
movss xmm1, dword [esi + 0xa4]
movss xmm0, dword [esi + 0xa8]
mulss xmm0, dword [0x101a82c0]
addss xmm0, dword [esi + 0xa0]
addss xmm1, dword [esi + 0xac]
mov ecx, dword [esi + 0x4c]
mov ecx, dword [ecx + 0x10]
cvtsi2ss xmm2, dword [esi + 0x10]
addss xmm1, dword [0x101a9ae8]
addss xmm2, xmm1
mov dword [esi + 0x3e8], 0x2d
sub esp, 0x1c
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ecx
movss dword [esp + 4], xmm2
movss dword [esp], xmm0
mov dword [esp + 0x18], 1
call fcn.100f3560
mov eax, dword [esi + 0x234]
cmp eax, 0x10
jb 0x100fb779
mov ecx, dword [esi + 0x220]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x100fb76f
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x100fd52a
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.10157950
add esp, 8
add dword [esi + 0x10], 8
cmp byte [esi + 0xc], 0
jne 0x100fb8a4
mov eax, dword [0x1025adc4]
cmp byte [eax + 0x1fe], 0
je 0x100fb8a4
movss xmm1, dword [0x101a8294]
movss xmm2, dword [eax + 0x200]
mulss xmm2, xmm1
movss xmm3, dword [eax + 0x204]
mulss xmm3, xmm1
mulss xmm1, dword [eax + 0x208]
mov ecx, dword [esi + 0x50]
movss xmm0, dword [ecx]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [eax + 0x20c]
mov eax, dword [0x1025af40]
test al, 1
je 0x100fd9b7
mov edi, dword [0x1025af3c]
mov dword [esi + 0x3e8], 0xffffffff
cvttss2si eax, xmm2
movzx ecx, al
cvttss2si eax, xmm3
movzx eax, al
shl eax, 8
or eax, ecx
cvttss2si ecx, xmm1
movzx ecx, cl
shl ecx, 0x10
or ecx, eax
cvttss2si ebx, xmm0
shl ebx, 0x18
or ebx, ecx
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x14]
movzx eax, word [eax + ecx]
push eax
call fcn.100f37f0
mov edi, eax
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, dword [esi + 0x4c]
mov ecx, dword [ecx + 0x14]
movss xmm1, dword [esi + 0xa4]
movss xmm0, dword [esi + 0xa8]
mulss xmm0, dword [0x101a82c0]
addss xmm0, dword [esi + 0xa0]
addss xmm1, dword [esi + 0xac]
addss xmm1, dword [0x101a9ae8]
xorps xmm2, xmm2
cvtsi2ss xmm2, dword [esi + 0x10]
addss xmm2, xmm1
sub esp, 0x1c
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], ecx
movss dword [esp + 4], xmm2
movss dword [esp], xmm0
mov dword [esp + 0x18], 1
call fcn.100f3560
mov eax, dword [0x1025adc4]
cmp byte [eax + 0x24c], 0
je 0x100fb9ee
mov eax, dword [esi + 0x50]
cvttss2si ebx, dword [eax]
mov eax, dword [0x10260a30]
test al, 1
je 0x100fd09f
mov edi, dword [0x10260a2c]
mov dword [esi + 0x3e8], 0xffffffff
shl ebx, 0x18
or ebx, 0x3cc896
mov eax, dword [edi + 4]
add eax, dword [ebp + 8]
mov dword [esi + 0x3c0], 0x101ed342
mov dword [esi + 0x3c4], 3
sub esp, 0x10
movsd xmm0, qword [esi + 0x3c0]
movsd qword [esp + 4], xmm0
mov dword [esp + 0xc], eax
lea edi, [esi + 0x3a0]
mov dword [esp], edi
call fcn.100f3a50
add esp, 0x10
cmp dword [esi + 0x3b4], 0x10
jb 0x100fb932
mov edi, dword [esi + 0x3a0]
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, dword [esi + 0x4c]
mov ecx, dword [ecx + 0x10]
movss xmm0, dword [esi + 0xa0]
addss xmm0, dword [esi + 0xa8]
movss xmm1, dword [esi + 0xa4]
addss xmm0, dword [0x101a9ae8]
mov dword [esi + 0x3e8], 0x32
sub esp, 0x1c
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], ecx
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
mov dword [esp + 0x18], 0
call fcn.100f3560
mov eax, dword [esi + 0x3b4]
cmp eax, 0x10
jb 0x100fb9d4
mov ecx, dword [esi + 0x3a0]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x100fb9ca
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x100fd52a
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.10157950
add esp, 8
mov dword [esi + 0x10], 9
mov eax, dword [0x1025adc4]
cmp byte [eax + 0x1fc], 0
jne 0x100fba02
jmp 0x100fbce2
mov dword [esi + 0x10], 0
cmp byte [eax + 0x1fc], 0
je 0x100fbce2
mov eax, dword [0x102607a4]
test al, 1
je 0x100fd1de
mov ebx, dword [0x102607a0]
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 8]
cmp dword [eax + ecx], 0
je 0x100fbad6
mov eax, dword [0x102607ac]
test al, 1
je 0x100fd73a
mov ebx, dword [0x102607a8]
mov dword [esi + 0x3e8], 0xffffffff
mov eax, dword [ebx + 4]
xor ebx, ebx
mov ecx, dword [ebp + 8]
cmp byte [eax + ecx], 0
mov ecx, 0x101f0768
mov eax, 0x101f0767
cmove eax, ecx
mov ecx, dword [esi + 0x50]
cvttss2si ecx, dword [ecx]
sete bl
shl ecx, 0x18
or ecx, 0xffffff
mov edx, 2
sub edx, ebx
movss xmm0, dword [esi + 0xa0]
addss xmm0, dword [esi + 0xa8]
mov edi, dword [esi + 0x4c]
mov edi, dword [edi + 0x10]
mov ebx, dword [esi + 0x10]
xorps xmm1, xmm1
cvtsi2ss xmm1, ebx
addss xmm0, dword [0x101a9ae8]
addss xmm1, dword [esi + 0xa4]
sub esp, 0x1c
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 8], edi
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], 0
call fcn.100f3560
add ebx, 9
mov dword [esi + 0x10], ebx
mov eax, dword [0x1026072c]
test al, 1
je 0x100fd31d
mov ebx, dword [0x10260728]
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 8]
cmp byte [eax + ecx], 0
mov dword [esi + 0x3e8], 0xffffffff
je 0x100fbbf0
mov eax, dword [esi + 0x50]
cvttss2si edi, dword [eax]
mov ecx, 0x777629cd
mov eax, 0xe32aec28
mov edx, 0xe32aec28
mov dword [esi + 0xc4], edx
mov dword [esi + 0xc0], ecx
mov ecx, 0xb4bf80ec
mov edx, 0x8770d379
mov ebx, 0x3a396697
mov dword [esi + 0x224], eax
mov dword [esi + 0x220], ebx
mov dword [esi + 0xcc], edx
mov dword [esi + 0xc8], ecx
mov dword [esi + 0x22c], edx
mov dword [esi + 0x228], ecx
lea eax, [esi + 0x220]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0xc0]
xorps xmm0, xmmword [eax]
shl edi, 0x18
or edi, 0xe1b43c
movaps xmmword [esi + 0xc0], xmm0
lea eax, [esi + 0xc0]
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
movss xmm0, dword [esi + 0xa0]
addss xmm0, dword [esi + 0xa8]
mov ecx, dword [esi + 0x4c]
mov ecx, dword [ecx + 0x10]
mov ebx, dword [esi + 0x10]
xorps xmm1, xmm1
cvtsi2ss xmm1, ebx
addss xmm0, dword [0x101a9ae8]
addss xmm1, dword [esi + 0xa4]
sub esp, 0x1c
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], eax
lea eax, [esi + 0xc0]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
mov dword [esp + 0x18], 0
call fcn.100f3560
add ebx, 9
mov dword [esi + 0x10], ebx
mov eax, dword [0x1025adc8]
mov ecx, dword [ebp + 8]
call dword [eax + pe_nt_image_headers32]
test al, al
je 0x100fbce2
mov eax, dword [esi + 0x50]
cvttss2si edi, dword [eax]
mov ecx, 0x3a3966d5
mov eax, 0xe32aec28
mov edx, 0xe32aec28
mov dword [esi + 0xc4], edx
mov dword [esi + 0xc0], ecx
mov ecx, 0xb4bf80ec
mov edx, 0x8770d379
mov ebx, 0x3a396697
mov dword [esi + 0x224], eax
mov dword [esi + 0x220], ebx
mov dword [esi + 0xcc], edx
mov dword [esi + 0xc8], ecx
mov dword [esi + 0x22c], edx
mov dword [esi + 0x228], ecx
lea eax, [esi + 0x220]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0xc0]
xorps xmm0, xmmword [eax]
shl edi, 0x18
or edi, 0xff
movaps xmmword [esi + 0xc0], xmm0
lea ebx, [esi + 0xc0]
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
movss xmm0, dword [esi + 0xa0]
addss xmm0, dword [esi + 0xa8]
mov ecx, dword [esi + 0x4c]
mov ecx, dword [ecx + 0x10]
xorps xmm1, xmm1
cvtsi2ss xmm1, dword [esi + 0x10]
addss xmm0, dword [0x101a9ae8]
addss xmm1, dword [esi + 0xa4]
sub esp, 0x1c
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ecx
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
mov dword [esp + 0x18], 0
call fcn.100f3560
cmp byte [esi + 0x390], 0
jne 0x100fc088
mov eax, dword [0x1025adc4]
cmp byte [eax + 0x24d], 0
je 0x100fc088
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x294c]
mov dword [esi + 0x10], ecx
test ecx, ecx
je 0x100fc088
mov ecx, dword [esi + 0x10]
cmp dword [ecx], 0
je 0x100fc088
movss xmm0, dword [0x101a8294]
movss xmm1, dword [eax + 0x250]
mulss xmm1, xmm0
movss dword [esi + 0x390], xmm1
movss xmm1, dword [eax + 0x254]
mulss xmm1, xmm0
movss dword [esi + 0x20], xmm1
mulss xmm0, dword [eax + 0x258]
movss dword [esi + 0x4c], xmm0
mov ecx, dword [esi + 0x50]
movss xmm0, dword [ecx]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [eax + 0x25c]
movaps xmmword [esi + 0x50], xmm0
mov dword [esi + 0x3e8], 0xffffffff
call fcn.1004d690
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
cmp dword [eax + 0x9c], 0
je 0x100fc088
cvttss2si ecx, dword [esi + 0x390]
movzx edx, cl
cvttss2si ecx, dword [esi + 0x20]
movzx ecx, cl
shl ecx, 8
or ecx, edx
cvttss2si edx, dword [esi + 0x4c]
movzx edx, dl
shl edx, 0x10
or edx, ecx
cvttss2si ecx, dword [esi + 0x50]
shl ecx, 0x18
or ecx, edx
mov dword [esi + 0x14], ecx
xor ecx, ecx
mov edx, 0x2c
mov ebx, 4
jmp 0x100fbe86
shufps xmm0, xmm0, 0
divps xmm3, xmm0
mov eax, dword [esi + 0xc]
movsd xmm0, qword [eax + 8]
mulps xmm3, xmm0
movaps xmm1, xmmword [0x101a9710]
mulps xmm0, xmm1
mulps xmm3, xmm1
movaps xmm1, xmm0
addps xmm1, xmm3
subps xmm0, xmm3
shufps xmm0, xmm1, 1
shufps xmm0, xmm1, 0xe2
movaps xmmword [esi + 0x20], xmm0
mov ecx, dword [0x1025ae4c]
mov eax, dword [ecx]
push dword [esi + 0x14]
call dword [eax + 0x38]
mov ecx, dword [0x1025ae4c]
mov eax, dword [ecx]
mov dword [esi + 0x80], eax
movaps xmm1, xmmword [esi + 0x20]
cvttss2si eax, xmm1
mov dword [esi + 0x18], eax
shufps xmm1, xmm1, 0x55
movaps xmm0, xmmword [esi + 0x390]
cvttss2si edi, xmm0
shufps xmm0, xmm0, 0x55
cvttss2si eax, xmm1
cvttss2si edx, xmm0
push eax
push dword [esi + 0x18]
push edx
push edi
mov eax, dword [esi + 0x80]
call dword [eax + 0x4c]
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov ecx, dword [esi + 0x50]
mov edx, dword [esi + 0x4c]
nop dword [eax]
inc ecx
add edx, 0x30
add ebx, 0xd8
cmp ecx, dword [eax + 0x9c]
jae 0x100fc088
mov edi, dword [eax + 0xa0]
add edi, eax
je 0x100fbe70
test byte [edi + ebx + 0x9d], 1
je 0x100fbe70
cmp dword [edi + ebx], 0xffffffff
je 0x100fbe70
mov dword [esi + 0x50], ecx
mov ecx, dword [0x1025ae10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x94]
mov dword [esi + 0x3e8], 0xffffffff
mov dword [esi + 0x4c], edx
call eax
mov edx, dword [esi + 0x4c]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x2910]
movss xmm1, dword [ecx + edx - 0x20]
movss xmm2, dword [ecx + edx - 0x10]
movss xmm0, dword [ecx + edx]
movups xmm3, xmmword [eax]
movups xmm5, xmmword [eax + 4]
movss xmm4, dword [eax + 0x14]
movlhps xmm4, xmm5
shufps xmm4, xmm5, 0xe2
movaps xmm5, xmm2
shufps xmm5, xmm2, 0
mulps xmm4, xmm5
movss xmm5, dword [eax + 0x10]
movlhps xmm5, xmm3
shufps xmm5, xmm3, 0xe2
movaps xmm3, xmm1
shufps xmm3, xmm1, 0
mulps xmm3, xmm5
movups xmm5, xmmword [eax + 8]
addps xmm3, xmm4
movss xmm4, dword [eax + 0x18]
movlhps xmm4, xmm5
shufps xmm4, xmm5, 0xe2
movaps xmm5, xmm0
shufps xmm5, xmm0, 0
mulps xmm5, xmm4
movups xmm4, xmmword [eax + 0xc]
addps xmm5, xmm3
movss xmm3, dword [eax + 0x1c]
movlhps xmm3, xmm4
shufps xmm3, xmm4, 0xe2
addps xmm3, xmm5
mulss xmm2, dword [eax + 0x34]
mulss xmm1, dword [eax + 0x30]
addss xmm1, xmm2
mulss xmm0, dword [eax + 0x38]
addss xmm0, xmm1
addss xmm0, dword [eax + 0x3c]
movss xmm1, dword [0x101b1eb4]
ucomiss xmm1, xmm0
ja 0x100fbfa5
shufps xmm0, xmm0, 0
divps xmm3, xmm0
mov eax, dword [esi + 0xc]
movsd xmm0, qword [eax + 8]
mulps xmm3, xmm0
movaps xmm1, xmmword [0x101a9710]
mulps xmm0, xmm1
mulps xmm3, xmm1
movaps xmm1, xmm0
addps xmm1, xmm3
subps xmm0, xmm3
shufps xmm0, xmm1, 1
shufps xmm0, xmm1, 0xe2
movaps xmmword [esi + 0x390], xmm0
jmp 0x100fbfb3
mulps xmm3, xmmword [0x101b1ec0]
movaps xmmword [esi + 0x390], xmm3
mov ecx, dword [0x1025ae10]
mov eax, dword [ecx]
call dword [eax + 0x94]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x2910]
mov edx, dword [edi + ebx]
lea edx, [edx + edx*2]
shl edx, 4
movss xmm1, dword [ecx + edx + 0xc]
movss xmm2, dword [ecx + edx + 0x1c]
movss xmm0, dword [ecx + edx + 0x2c]
movups xmm3, xmmword [eax]
movups xmm5, xmmword [eax + 4]
movss xmm4, dword [eax + 0x14]
movlhps xmm4, xmm5
shufps xmm4, xmm5, 0xe2
movaps xmm5, xmm2
shufps xmm5, xmm2, 0
mulps xmm4, xmm5
movss xmm5, dword [eax + 0x10]
movlhps xmm5, xmm3
shufps xmm5, xmm3, 0xe2
movaps xmm3, xmm1
shufps xmm3, xmm1, 0
mulps xmm3, xmm5
movups xmm5, xmmword [eax + 8]
addps xmm3, xmm4
movss xmm4, dword [eax + 0x18]
movlhps xmm4, xmm5
shufps xmm4, xmm5, 0xe2
movaps xmm5, xmm0
shufps xmm5, xmm0, 0
mulps xmm5, xmm4
movups xmm4, xmmword [eax + 0xc]
addps xmm5, xmm3
movss xmm3, dword [eax + 0x1c]
movlhps xmm3, xmm4
shufps xmm3, xmm4, 0xe2
addps xmm3, xmm5
mulss xmm2, dword [eax + 0x34]
mulss xmm1, dword [eax + 0x30]
addss xmm1, xmm2
mulss xmm0, dword [eax + 0x38]
addss xmm0, xmm1
addss xmm0, dword [eax + 0x3c]
movss xmm1, dword [0x101b1eb4]
ucomiss xmm1, xmm0
jbe 0x100fbddc
mulps xmm3, xmmword [0x101b1ec0]
movaps xmmword [esi + 0x20], xmm3
jmp 0x100fbe10
mov eax, dword [esi + 0x3e0]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
xor eax, eax
mov ecx, dword [0x1025af40]
test cl, 1
je 0x100fee72
mov ebx, dword [0x1025af3c]
mov ecx, dword [ebx + 4]
mov word [ecx + eax], di
mov eax, dword [0x10260794]
test al, 1
je 0x100fe908
mov ebx, dword [0x10260790]
mov dword [esi + 0x3e8], 0xffffffff
mov eax, dword [ebx + 4]
mov ecx, dword [0x1025ae14]
mov edx, dword [ecx]
mov edi, dword [ebp + 8]
push dword [eax + edi]
call dword [edx + 0x10]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x730]
test eax, eax
je 0x100fc14a
mov edi, dword [esi + 0x20]
mov eax, dword [esi + 0x18]
mov eax, dword [edi + eax + 0x20]
test eax, eax
js 0x100fa4f4
mov dword [esi + 0x18], eax
mov eax, dword [0x10260794]
test al, 1
je 0x100ff24e
mov ebx, dword [0x10260790]
mov eax, dword [ebx + 4]
mov ecx, dword [0x1025ae14]
mov edx, dword [ecx]
mov edi, dword [ebp + 8]
push dword [eax + edi]
call dword [edx + 0x10]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x730]
mov ecx, dword [esi + 0x18]
mov dword [eax + 0xc8], ecx
mov edi, dword [esi + 0x20]
jmp 0x100fa4f4
mulss xmm0, dword [0x101b1f90]
addss xmm0, xmm1
movaps xmm2, xmm0
jmp 0x100fa309
or eax, 1
mov dword [0x102606e4], eax
mov eax, 0x495824d4
mov ecx, 0x9744a94d
mov dword [esi + 0xc4], ecx
mov dword [esi + 0xc0], eax
mov eax, 0x99c6f485
mov ecx, 0xee2fbe47
mov dword [esi + 0xcc], ecx
mov dword [esi + 0xc8], eax
mov eax, 0x5fc91b8d
mov ecx, 0xedc263a8
mov dword [esi + 0xd4], ecx
mov dword [esi + 0xd0], eax
mov eax, 0xbfacdc76
mov ecx, 0x7f08b8f7
mov edx, 0x3a396697
mov edi, 0xe32aec28
mov dword [esi + 0x224], edi
mov dword [esi + 0x220], edx
mov edx, 0xb4bf80ec
mov edi, 0x8770d379
mov dword [esi + 0x22c], edi
mov dword [esi + 0x228], edx
mov edx, 0x32a87ed9
mov edi, 0xedaf16e6
mov dword [esi + 0x234], edi
mov dword [esi + 0x230], edx
mov dword [esi + 0xdc], ecx
mov dword [esi + 0xd8], eax
mov dword [esi + 0x23c], ecx
mov dword [esi + 0x238], eax
lea eax, [esi + 0x220]
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 [0x1025adcc]
mov dword [esi + 0x20], eax
movaps xmmword [esi + 0xd0], xmm0
mov dword [esi + 0x3e8], 0
lea eax, [esi + 0xc0]
lea ecx, [esi + 0x30]
mov dword [esi + 0x10], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x40]
mov dword [esi + 0x50], eax
cmp dword [esi + 0x44], 0x10
jb 0x100fc275
mov eax, dword [esi + 0x30]
mov dword [esi + 0x10], eax
cmp dword [esi + 0x50], 0
je 0x100fc80b
mov eax, dword [esi + 0x50]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x390], ecx
cmp eax, 4
jae 0x100fc829
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100fc873
mov dword [esi + 0x18], edx
mov dword [esi + 0x80], edi
or eax, 1
mov dword [0x102606e4], eax
mov eax, 0x495824d4
mov ecx, 0x9744a94d
mov dword [esi + 0xc4], ecx
mov dword [esi + 0xc0], eax
mov eax, 0x99c6f485
mov ecx, 0xee2fbe47
mov dword [esi + 0xcc], ecx
mov dword [esi + 0xc8], eax
mov eax, 0x5fc91b8d
mov ecx, 0xedc263a8
mov dword [esi + 0xd4], ecx
mov dword [esi + 0xd0], eax
mov eax, 0xbfacdc76
mov ecx, 0x7f08b8f7
mov edx, 0x3a396697
mov edi, 0xe32aec28
mov dword [esi + 0x224], edi
mov dword [esi + 0x220], edx
mov edx, 0xb4bf80ec
mov edi, 0x8770d379
mov dword [esi + 0x22c], edi
mov dword [esi + 0x228], edx
mov edx, 0x32a87ed9
mov edi, 0xedaf16e6
mov dword [esi + 0x234], edi
mov dword [esi + 0x230], edx
mov dword [esi + 0xdc], ecx
mov dword [esi + 0xd8], eax
mov dword [esi + 0x23c], ecx
mov dword [esi + 0x238], eax
lea eax, [esi + 0x220]
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 [0x1025adcc]
mov dword [esi + 0x20], eax
movaps xmmword [esi + 0xd0], xmm0
mov dword [esi + 0x3e8], 2
lea eax, [esi + 0xc0]
lea ecx, [esi + 0x30]
mov dword [esi + 0x10], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x40]
mov dword [esi + 0x50], eax
cmp dword [esi + 0x44], 0x10
jb 0x100fc3ba
mov eax, dword [esi + 0x30]
mov dword [esi + 0x10], eax
cmp dword [esi + 0x50], 0
je 0x100fc815
mov eax, dword [esi + 0x50]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x390], ecx
cmp eax, 4
jae 0x100fc90a
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100fc954
or eax, 1
mov dword [0x1025af58], eax
mov eax, 0x495824d4
mov ecx, 0x8246bc4d
mov dword [esi + 0xc4], ecx
mov dword [esi + 0xc0], eax
mov eax, 0x99cde595
mov ecx, 0xee2fbe47
mov dword [esi + 0xcc], ecx
mov dword [esi + 0xc8], eax
mov eax, 0x5ec91b91
mov ecx, 0xedaf7e92
mov dword [esi + 0xd4], ecx
mov dword [esi + 0xd0], eax
mov eax, 0xbfacdc76
mov ecx, 0x7f08b8f7
mov edx, 0x3a396697
mov edi, 0xe32aec28
mov dword [esi + 0x224], edi
mov dword [esi + 0x220], edx
mov edx, 0xb4bf80ec
mov edi, 0x8770d379
mov dword [esi + 0x22c], edi
mov dword [esi + 0x228], edx
mov edx, 0x32a87ed9
mov edi, 0xedaf16e6
mov dword [esi + 0x234], edi
mov dword [esi + 0x230], edx
mov dword [esi + 0xdc], ecx
mov dword [esi + 0xd8], eax
mov dword [esi + 0x23c], ecx
mov dword [esi + 0x238], eax
lea eax, [esi + 0x220]
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 [0x1025adcc]
mov dword [esi + 0xc], eax
movaps xmmword [esi + 0xd0], xmm0
mov dword [esi + 0x3e8], 4
lea eax, [esi + 0xc0]
lea ecx, [esi + 0x30]
mov dword [esi + 0x20], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x40]
mov dword [esi + 0x50], eax
cmp dword [esi + 0x44], 0x10
jb 0x100fc4f6
mov eax, dword [esi + 0x30]
mov dword [esi + 0x20], eax
cmp dword [esi + 0x50], 0
je 0x100fc81f
mov eax, dword [esi + 0x50]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x18], ecx
cmp eax, 4
jae 0x100fc9ea
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100fca34
mov dword [esi + 0x3e8], 0xffffffff
call fcn.1009f460
or eax, 1
mov dword [0x10260794], eax
mov eax, 0x495824d4
mov ecx, 0x8e45af4d
mov dword [esi + 0x224], ecx
mov dword [esi + 0x220], eax
mov eax, 0xf7cbe18e
mov ecx, 0xe602b211
mov dword [esi + 0x22c], ecx
mov dword [esi + 0x228], eax
mov eax, 0x40cd0aba
mov ecx, 0xb2c228cb
mov dword [esi + 0x234], ecx
mov dword [esi + 0x230], eax
mov eax, 0xcbcf9d1e
mov ecx, 0x286dce9e
mov dword [esi + 0x23c], ecx
mov dword [esi + 0x238], eax
mov eax, 0x262977fe
mov ecx, 0xc3093b2
mov dword [esi + 0x244], ecx
mov dword [esi + 0x240], eax
mov eax, 0x4cadc670
mov ecx, 0xa646f0bd
mov edx, 0x3a396697
mov edi, 0xe32aec28
mov dword [esi + 0xc4], edi
mov dword [esi + 0xc0], edx
mov edx, 0xb4bf80ec
mov edi, 0x8770d379
mov dword [esi + 0xcc], edi
mov dword [esi + 0xc8], edx
mov edx, 0x32a87ed9
mov edi, 0xedaf16e6
mov dword [esi + 0xd4], edi
mov dword [esi + 0xd0], edx
mov edx, 0xbfacdc76
mov edi, 0x7f08b8f7
mov dword [esi + 0xdc], edi
mov dword [esi + 0xd8], edx
mov edx, 0x4959169b
mov edi, 0xc3093dc
mov dword [esi + 0xe4], edi
mov dword [esi + 0xe0], edx
mov dword [esi + 0x24c], ecx
mov dword [esi + 0x248], eax
mov dword [esi + 0xec], ecx
mov dword [esi + 0xe8], eax
lea eax, [esi + 0xc0]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x220]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x220], xmm0
movaps xmm0, xmmword [esi + 0x230]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0x230], xmm0
movaps xmm0, xmmword [esi + 0x240]
xorps xmm0, xmmword [eax + 0x20]
mov eax, dword [0x1025adcc]
mov dword [esi + 0x60], eax
movaps xmmword [esi + 0x240], xmm0
mov dword [esi + 0x3e8], 0x1c
lea eax, [esi + 0x220]
lea ecx, [esi + 0x30]
mov dword [esi + 0xc], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x40]
mov dword [esi + 0x18], eax
cmp dword [esi + 0x44], 0x10
jb 0x100fc6a8
mov eax, dword [esi + 0x30]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x18], 0
je 0x100fcab8
mov eax, dword [esi + 0x18]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x14], ecx
cmp eax, 4
jae 0x100fcd4d
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100fcd97
or eax, 1
mov dword [0x1025af60], eax
mov eax, 0x495824d4
mov ecx, 0x8246bc4d
mov dword [esi + 0xc4], ecx
mov dword [esi + 0xc0], eax
mov eax, 0x99cde595
mov ecx, 0xeb2fbe47
mov dword [esi + 0xcc], ecx
mov dword [esi + 0xc8], eax
mov eax, 0x61cd18b0
mov ecx, 0x88db7792
mov dword [esi + 0xd4], ecx
mov dword [esi + 0xd0], eax
mov eax, 0xbfacdc76
mov ecx, 0x7f08b8f7
mov edx, 0x3a396697
mov edi, 0xe32aec28
mov dword [esi + 0x224], edi
mov dword [esi + 0x220], edx
mov edx, 0xb4bf80ec
mov edi, 0x8770d379
mov dword [esi + 0x22c], edi
mov dword [esi + 0x228], edx
mov edx, 0x32a87ed9
mov edi, 0xedaf16e6
mov dword [esi + 0x234], edi
mov dword [esi + 0x230], edx
mov dword [esi + 0xdc], ecx
mov dword [esi + 0xd8], eax
mov dword [esi + 0x23c], ecx
mov dword [esi + 0x238], eax
lea eax, [esi + 0x220]
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 [0x1025adcc]
mov dword [esi + 0xc], eax
movaps xmmword [esi + 0xd0], xmm0
mov dword [esi + 0x3e8], 6
lea eax, [esi + 0xc0]
lea ecx, [esi + 0x30]
mov dword [esi + 0x20], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x40]
mov dword [esi + 0x50], eax
cmp dword [esi + 0x44], 0x10
jb 0x100fc7e1
mov eax, dword [esi + 0x30]
mov dword [esi + 0x20], eax
cmp dword [esi + 0x50], 0
je 0x100fcac7
mov eax, dword [esi + 0x50]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x18], ecx
cmp eax, 4
jae 0x100fd45c
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100fd4a6
mov ecx, 0x811c9dc5
jmp 0x100fc896
mov ecx, 0x811c9dc5
jmp 0x100fc977
mov ecx, 0x811c9dc5
jmp 0x100fca51
mov edi, dword [esi + 0x50]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x10]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x100fc839
cmp dword [esi + 0x390], 0
je 0x100fc896
add edx, dword [esi + 0x10]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x390], edi
jne 0x100fc881
mov edx, dword [esi + 0x20]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100ff927
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x50]
cmp eax, dword [ebx + 0x18]
jne 0x100fc8da
cmp dword [ebx + 0x1c], 0x10
jb 0x100fc8c4
mov eax, dword [ebx + 8]
jmp 0x100fc8c7
lea eax, [ebx + 8]
push dword [esi + 0x50]
push eax
push dword [esi + 0x10]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100fc8e7
cmp ebx, edi
je 0x100ff927
mov ebx, dword [ebx + 4]
jmp 0x100fc8b1
add ebx, 0x20
lea ecx, [esi + 0x30]
call fcn.10015110
mov dword [0x102606e0], ebx
mov eax, dword [0x102606e4]
mov ecx, dword [0x1025ae04]
mov edi, dword [ecx]
jmp 0x100fa0b0
mov edi, dword [esi + 0x50]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x10]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x100fc91a
cmp dword [esi + 0x390], 0
je 0x100fc977
add edx, dword [esi + 0x10]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x390], edi
jne 0x100fc962
mov edx, dword [esi + 0x20]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100ff93e
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x50]
cmp eax, dword [ebx + 0x18]
jne 0x100fc9bb
cmp dword [ebx + 0x1c], 0x10
jb 0x100fc9a5
mov eax, dword [ebx + 8]
jmp 0x100fc9a8
lea eax, [ebx + 8]
push dword [esi + 0x50]
push eax
push dword [esi + 0x10]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100fc9c8
cmp ebx, edi
je 0x100ff93e
mov ebx, dword [ebx + 4]
jmp 0x100fc992
lea edi, [ebx + 0x20]
lea ecx, [esi + 0x30]
call fcn.10015110
mov dword [0x102606e0], edi
mov ecx, dword [ebx + 0x24]
mov edi, dword [esi + 0x80]
mov edx, dword [esi + 0x18]
jmp 0x100fa0c1
mov edi, dword [esi + 0x50]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x20]
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 0x100fc9fa
cmp dword [esi + 0x18], 0
je 0x100fca51
add edx, dword [esi + 0x20]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x18], edi
jne 0x100fca3f
mov edx, dword [esi + 0xc]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100ff955
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x50]
cmp eax, dword [ebx + 0x18]
jne 0x100fca95
cmp dword [ebx + 0x1c], 0x10
jb 0x100fca7f
mov eax, dword [ebx + 8]
jmp 0x100fca82
lea eax, [ebx + 8]
push dword [esi + 0x50]
push eax
push dword [esi + 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100fcaa2
cmp ebx, edi
je 0x100ff955
mov ebx, dword [ebx + 4]
jmp 0x100fca6c
add ebx, 0x20
lea ecx, [esi + 0x30]
call fcn.10015110
mov dword [0x1025af54], ebx
jmp 0x100fa12e
mov ecx, 0x811c9dc5
jmp 0x100fcdb4
call fcn.1009f460
mov ecx, 0x811c9dc5
jmp 0x100fd4c3
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], edi
or ecx, 1
mov dword [0x10260a20], ecx
mov eax, 0x495824d4
mov ecx, 0x9744a94d
mov dword [esi + 0xc4], ecx
mov dword [esi + 0xc0], eax
mov eax, 0x99c6f485
mov ecx, 0xe52fbe47
mov dword [esi + 0xcc], ecx
mov dword [esi + 0xc8], eax
mov eax, 0x46c70e8a
mov ecx, 0xedcb7392
mov dword [esi + 0xd4], ecx
mov dword [esi + 0xd0], eax
mov eax, 0xbfacdc76
mov ecx, 0x7f08b8f7
mov edx, 0x3a396697
mov edi, 0xe32aec28
mov dword [esi + 0x224], edi
mov dword [esi + 0x220], edx
mov edx, 0xb4bf80ec
mov edi, 0x8770d379
mov dword [esi + 0x22c], edi
mov dword [esi + 0x228], edx
mov edx, 0x32a87ed9
mov edi, 0xedaf16e6
mov dword [esi + 0x234], edi
mov dword [esi + 0x230], edx
mov dword [esi + 0xdc], ecx
mov dword [esi + 0xd8], eax
mov dword [esi + 0x23c], ecx
mov dword [esi + 0x238], eax
lea eax, [esi + 0x220]
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 [0x1025adcc]
mov dword [esi + 0x70], eax
movaps xmmword [esi + 0xd0], xmm0
mov dword [esi + 0x3e8], 0xa
lea eax, [esi + 0xc0]
lea ecx, [esi + 0x30]
mov dword [esi + 0x14], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x40]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x44], 0x10
jb 0x100fcbe7
mov eax, dword [esi + 0x30]
mov dword [esi + 0x14], eax
cmp dword [esi + 0xc], 0
je 0x100fdb7d
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x60], ecx
cmp eax, 4
jae 0x100fdd66
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100fddb0
mov dword [esi + 0x20], edi
or eax, 1
mov dword [0x10260a28], eax
mov eax, 0x495824d4
mov ecx, 0x9744a94d
mov dword [esi + 0xc4], ecx
mov dword [esi + 0xc0], eax
mov eax, 0x99c6f485
mov ecx, 0xe52fbe47
mov dword [esi + 0xcc], ecx
mov dword [esi + 0xc8], eax
mov eax, 0x46c70e8a
mov ecx, 0xedcb7392
mov dword [esi + 0xd4], ecx
mov dword [esi + 0xd0], eax
mov eax, 0xbfacdc76
mov ecx, 0x7f08b8f7
mov edx, 0x3a396697
mov edi, 0xe32aec28
mov dword [esi + 0x224], edi
mov dword [esi + 0x220], edx
mov edx, 0xb4bf80ec
mov edi, 0x8770d379
mov dword [esi + 0x22c], edi
mov dword [esi + 0x228], edx
mov edx, 0x32a87ed9
mov edi, 0xedaf16e6
mov dword [esi + 0x234], edi
mov dword [esi + 0x230], edx
mov dword [esi + 0xdc], ecx
mov dword [esi + 0xd8], eax
mov dword [esi + 0x23c], ecx
mov dword [esi + 0x238], eax
lea eax, [esi + 0x220]
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 [0x1025adcc]
mov dword [esi + 0x70], eax
movaps xmmword [esi + 0xd0], xmm0
mov dword [esi + 0x3e8], 0xc
lea eax, [esi + 0xc0]
lea ecx, [esi + 0x30]
mov dword [esi + 0x14], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x40]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x44], 0x10
jb 0x100fcd23
mov eax, dword [esi + 0x30]
mov dword [esi + 0x14], eax
cmp dword [esi + 0xc], 0
je 0x100fdb87
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x60], ecx
cmp eax, 4
jae 0x100fde3a
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100fde84
mov edi, dword [esi + 0x18]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0xc]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x100fcd5d
cmp dword [esi + 0x14], 0
je 0x100fcdb4
add edx, dword [esi + 0xc]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x14], edi
jne 0x100fcda2
mov edx, dword [esi + 0x60]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100ff96c
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x18]
cmp eax, dword [ebx + 0x18]
jne 0x100fcdf8
cmp dword [ebx + 0x1c], 0x10
jb 0x100fcde2
mov eax, dword [ebx + 8]
jmp 0x100fcde5
lea eax, [ebx + 8]
push dword [esi + 0x18]
push eax
push dword [esi + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100fce05
cmp ebx, edi
je 0x100ff96c
mov ebx, dword [ebx + 4]
jmp 0x100fcdcf
add ebx, 0x20
lea ecx, [esi + 0x30]
call fcn.10015110
mov dword [0x10260790], ebx
jmp 0x100fa50a
or eax, 1
mov dword [0x102606b4], eax
mov eax, 0x495824d4
mov ecx, 0x9744a94d
mov dword [esi + 0xc4], ecx
mov dword [esi + 0xc0], eax
mov eax, 0x99c6f485
mov ecx, 0xf12fbe47
mov dword [esi + 0xcc], ecx
mov dword [esi + 0xc8], eax
mov eax, 0x40e71dbc
mov ecx, 0x83c6718f
mov dword [esi + 0xd4], ecx
mov dword [esi + 0xd0], eax
mov eax, 0xbfacdc76
mov ecx, 0x7f08b8f7
mov edx, 0x3a396697
mov edi, 0xe32aec28
mov dword [esi + 0x224], edi
mov dword [esi + 0x220], edx
mov edx, 0xb4bf80ec
mov edi, 0x8770d379
mov dword [esi + 0x22c], edi
mov dword [esi + 0x228], edx
mov edx, 0x32a87ed9
mov edi, 0xedaf16e6
mov dword [esi + 0x234], edi
mov dword [esi + 0x230], edx
mov dword [esi + 0xdc], ecx
mov dword [esi + 0xd8], eax
mov dword [esi + 0x23c], ecx
mov dword [esi + 0x238], eax
lea eax, [esi + 0x220]
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 [0x1025adcc]
mov dword [esi + 0x70], eax
movaps xmmword [esi + 0xd0], xmm0
mov dword [esi + 0x3e8], 0x27
lea eax, [esi + 0xc0]
lea ecx, [esi + 0x30]
mov dword [esi + 0x80], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x40]
mov dword [esi + 0x20], eax
cmp dword [esi + 0x44], 0x10
jb 0x100fcf30
mov eax, dword [esi + 0x30]
mov dword [esi + 0x80], eax
cmp dword [esi + 0x20], 0
je 0x100fdb91
mov eax, dword [esi + 0x20]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x60], ecx
cmp eax, 4
jae 0x100fdf0b
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100fdf58
mov dword [esi + 0x48], edi
mov dword [esi + 0x1c], edx
or eax, 1
mov dword [0x102606b4], eax
mov eax, 0x495824d4
mov ecx, 0x9744a94d
mov dword [esi + 0xc4], ecx
mov dword [esi + 0xc0], eax
mov eax, 0x99c6f485
mov ecx, 0xf12fbe47
mov dword [esi + 0xcc], ecx
mov dword [esi + 0xc8], eax
mov eax, 0x40e71dbc
mov ecx, 0x83c6718f
mov dword [esi + 0xd4], ecx
mov dword [esi + 0xd0], eax
mov eax, 0xbfacdc76
mov ecx, 0x7f08b8f7
mov edx, 0x3a396697
mov edi, 0xe32aec28
mov dword [esi + 0x224], edi
mov dword [esi + 0x220], edx
mov edx, 0xb4bf80ec
mov edi, 0x8770d379
mov dword [esi + 0x22c], edi
mov dword [esi + 0x228], edx
mov edx, 0x32a87ed9
mov edi, 0xedaf16e6
mov dword [esi + 0x234], edi
mov dword [esi + 0x230], edx
mov dword [esi + 0xdc], ecx
mov dword [esi + 0xd8], eax
mov dword [esi + 0x23c], ecx
mov dword [esi + 0x238], eax
lea eax, [esi + 0x220]
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 [0x1025adcc]
mov dword [esi + 0x70], eax
movaps xmmword [esi + 0xd0], xmm0
mov dword [esi + 0x3e8], 0x29
lea eax, [esi + 0xc0]
lea ecx, [esi + 0x30]
mov dword [esi + 0x80], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x40]
mov dword [esi + 0x20], eax
cmp dword [esi + 0x44], 0x10
jb 0x100fd075
mov eax, dword [esi + 0x30]
mov dword [esi + 0x80], eax
cmp dword [esi + 0x20], 0
je 0x100fdb9b
mov eax, dword [esi + 0x20]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x60], ecx
cmp eax, 4
jae 0x100fdfe7
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100fe034
mov dword [esi + 0xc], ebx
or eax, 1
mov dword [0x10260a30], eax
mov eax, 0x6a6a25d4
mov ecx, 0x86538d44
mov dword [esi + 0xc4], ecx
mov dword [esi + 0xc0], eax
mov eax, 0xd981ad9e
mov ecx, 0xe431ba26
mov dword [esi + 0xcc], ecx
mov dword [esi + 0xc8], eax
mov eax, 0x5cdd11ba
mov ecx, 0xedaf1692
mov dword [esi + 0xd4], ecx
mov dword [esi + 0xd0], eax
mov eax, 0xbfacdc76
mov ecx, 0x7f08b8f7
mov edx, 0x3a396697
mov edi, 0xe32aec28
mov dword [esi + 0x224], edi
mov dword [esi + 0x220], edx
mov edx, 0xb4bf80ec
mov edi, 0x8770d379
mov dword [esi + 0x22c], edi
mov dword [esi + 0x228], edx
mov edx, 0x32a87ed9
mov edi, 0xedaf16e6
mov dword [esi + 0x234], edi
mov dword [esi + 0x230], edx
mov dword [esi + 0xdc], ecx
mov dword [esi + 0xd8], eax
mov dword [esi + 0x23c], ecx
mov dword [esi + 0x238], eax
lea eax, [esi + 0x220]
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 [0x1025adcc]
mov dword [esi + 0x18], eax
movaps xmmword [esi + 0xd0], xmm0
mov dword [esi + 0x3e8], 0x30
lea eax, [esi + 0xc0]
lea ecx, [esi + 0x30]
mov dword [esi + 0x20], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x40]
mov dword [esi + 0x10], eax
cmp dword [esi + 0x44], 0x10
jb 0x100fd1b1
mov eax, dword [esi + 0x30]
mov dword [esi + 0x20], eax
cmp dword [esi + 0x10], 0
je 0x100fdba5
mov eax, dword [esi + 0x10]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x80], ecx
cmp eax, 4
jae 0x100fe0c7
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100fe111
or eax, 1
mov dword [0x102607a4], eax
mov eax, 0x6a6a25d4
mov ecx, 0x86538d44
mov dword [esi + 0xc4], ecx
mov dword [esi + 0xc0], eax
mov eax, 0xd981ad9e
mov ecx, 0xea029226
mov dword [esi + 0xcc], ecx
mov dword [esi + 0xc8], eax
mov eax, 0x53fe0cb6
mov ecx, 0xedca638a
mov dword [esi + 0xd4], ecx
mov dword [esi + 0xd0], eax
mov eax, 0xbfacdc76
mov ecx, 0x7f08b8f7
mov edx, 0x3a396697
mov edi, 0xe32aec28
mov dword [esi + 0x224], edi
mov dword [esi + 0x220], edx
mov edx, 0xb4bf80ec
mov edi, 0x8770d379
mov dword [esi + 0x22c], edi
mov dword [esi + 0x228], edx
mov edx, 0x32a87ed9
mov edi, 0xedaf16e6
mov dword [esi + 0x234], edi
mov dword [esi + 0x230], edx
mov dword [esi + 0xdc], ecx
mov dword [esi + 0xd8], eax
mov dword [esi + 0x23c], ecx
mov dword [esi + 0x238], eax
lea eax, [esi + 0x220]
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 [0x1025adcc]
mov dword [esi + 0xc], eax
movaps xmmword [esi + 0xd0], xmm0
mov dword [esi + 0x3e8], 0x33
lea eax, [esi + 0xc0]
lea ecx, [esi + 0x30]
mov dword [esi + 0x80], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x40]
mov dword [esi + 0x20], eax
cmp dword [esi + 0x44], 0x10
jb 0x100fd2f3
mov eax, dword [esi + 0x30]
mov dword [esi + 0x80], eax
cmp dword [esi + 0x20], 0
je 0x100fdbaf
mov eax, dword [esi + 0x20]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x18], ecx
cmp eax, 4
jae 0x100fe1a8
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100fe1f5
or eax, 1
mov dword [0x1026072c], eax
mov eax, 0x6a6a25d4
mov ecx, 0x86538d44
mov dword [esi + 0xc4], ecx
mov dword [esi + 0xc0], eax
mov eax, 0xd981ad9e
mov ecx, 0xf439b126
mov dword [esi + 0xcc], ecx
mov dword [esi + 0xc8], eax
mov eax, 0x42c71d8a
mov ecx, 0xedaf7283
mov dword [esi + 0xd4], ecx
mov dword [esi + 0xd0], eax
mov eax, 0xbfacdc76
mov ecx, 0x7f08b8f7
mov edx, 0x3a396697
mov edi, 0xe32aec28
mov dword [esi + 0x224], edi
mov dword [esi + 0x220], edx
mov edx, 0xb4bf80ec
mov edi, 0x8770d379
mov dword [esi + 0x22c], edi
mov dword [esi + 0x228], edx
mov edx, 0x32a87ed9
mov edi, 0xedaf16e6
mov dword [esi + 0x234], edi
mov dword [esi + 0x230], edx
mov dword [esi + 0xdc], ecx
mov dword [esi + 0xd8], eax
mov dword [esi + 0x23c], ecx
mov dword [esi + 0x238], eax
lea eax, [esi + 0x220]
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 [0x1025adcc]
mov dword [esi + 0xc], eax
movaps xmmword [esi + 0xd0], xmm0
mov dword [esi + 0x3e8], 0x37
lea eax, [esi + 0xc0]
lea ecx, [esi + 0x30]
mov dword [esi + 0x80], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x40]
mov dword [esi + 0x20], eax
cmp dword [esi + 0x44], 0x10
jb 0x100fd432
mov eax, dword [esi + 0x30]
mov dword [esi + 0x80], eax
cmp dword [esi + 0x20], 0
je 0x100fdbb9
mov eax, dword [esi + 0x20]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x18], ecx
cmp eax, 4
jae 0x100fe27f
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100fe2cc
mov edi, dword [esi + 0x50]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x20]
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 0x100fd46c
cmp dword [esi + 0x18], 0
je 0x100fd4c3
add edx, dword [esi + 0x20]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x18], edi
jne 0x100fd4b1
mov edx, dword [esi + 0xc]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100ff983
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x50]
cmp eax, dword [ebx + 0x18]
jne 0x100fd507
cmp dword [ebx + 0x1c], 0x10
jb 0x100fd4f1
mov eax, dword [ebx + 8]
jmp 0x100fd4f4
lea eax, [ebx + 8]
push dword [esi + 0x50]
push eax
push dword [esi + 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100fd514
cmp ebx, edi
je 0x100ff983
mov ebx, dword [ebx + 4]
jmp 0x100fd4de
add ebx, 0x20
lea ecx, [esi + 0x30]
call fcn.10015110
mov dword [0x1025af5c], ebx
jmp 0x100fa14d
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
or eax, 1
mov dword [0x102606bc], eax
mov eax, dword [0x1025adcc]
mov dword [esi + 0x70], eax
mov eax, 0x5f4f39fa
mov ecx, 0x9048ad4b
mov dword [esi + 0x34], ecx
mov dword [esi + 0x30], eax
mov eax, 0xd3d6f2a3
mov ecx, 0x8770bd10
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov eax, 0x3a396697
mov ecx, 0xe32aec28
mov dword [esi + 0xc4], ecx
mov dword [esi + 0xc0], eax
mov eax, 0xb4bf80ec
mov ecx, 0x8770d379
mov dword [esi + 0xcc], ecx
mov dword [esi + 0xc8], eax
lea eax, [esi + 0xc0]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x30]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x30], xmm0
mov dword [esi + 0x3e8], 0x18
lea eax, [esi + 0x30]
lea ecx, [esi + 0x220]
mov dword [esi + 0x14], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x230]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x234], 0x10
jb 0x100fd5d6
mov eax, dword [esi + 0x220]
mov dword [esi + 0x14], eax
cmp dword [esi + 0xc], 0
je 0x100fe356
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x60], ecx
cmp eax, 4
jae 0x100fe371
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100fe3bb
or ecx, 1
mov dword [0x1025af50], ecx
mov eax, 0x495824d4
mov ecx, 0x8246bc4d
mov dword [esi + 0xc4], ecx
mov dword [esi + 0xc0], eax
mov eax, 0x99cde595
mov ecx, 0xe12fbe47
mov dword [esi + 0xcc], ecx
mov dword [esi + 0xc8], eax
mov eax, 0x55c9129f
mov ecx, 0xedaf1695
mov dword [esi + 0xd4], ecx
mov dword [esi + 0xd0], eax
mov eax, 0xbfacdc76
mov ecx, 0x7f08b8f7
mov edx, 0x3a396697
mov edi, 0xe32aec28
mov dword [esi + 0x224], edi
mov dword [esi + 0x220], edx
mov edx, 0xb4bf80ec
mov edi, 0x8770d379
mov dword [esi + 0x22c], edi
mov dword [esi + 0x228], edx
mov edx, 0x32a87ed9
mov edi, 0xedaf16e6
mov dword [esi + 0x234], edi
mov dword [esi + 0x230], edx
mov dword [esi + 0xdc], ecx
mov dword [esi + 0xd8], eax
mov dword [esi + 0x23c], ecx
mov dword [esi + 0x238], eax
lea eax, [esi + 0x220]
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 [0x1025adcc]
mov dword [esi + 0x70], eax
movaps xmmword [esi + 0xd0], xmm0
mov dword [esi + 0x3e8], 0x1a
lea eax, [esi + 0xc0]
lea ecx, [esi + 0x30]
mov dword [esi + 0x14], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x40]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x44], 0x10
jb 0x100fd710
mov eax, dword [esi + 0x30]
mov dword [esi + 0x14], eax
cmp dword [esi + 0xc], 0
je 0x100fe35d
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x60], ecx
cmp eax, 4
jae 0x100fe442
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100fe48c
or eax, 1
mov dword [0x102607ac], eax
mov eax, 0x6a6a25d4
mov ecx, 0x86538d44
mov dword [esi + 0xc4], ecx
mov dword [esi + 0xc0], eax
mov eax, 0xd981ad9e
mov ecx, 0xe638b126
mov dword [esi + 0xcc], ecx
mov dword [esi + 0xc8], eax
mov eax, 0x5ecd36aa
mov ecx, 0xeddb738b
mov dword [esi + 0xd4], ecx
mov dword [esi + 0xd0], eax
mov eax, 0xbfacdc76
mov ecx, 0x7f08b8f7
mov edx, 0x3a396697
mov edi, 0xe32aec28
mov dword [esi + 0x224], edi
mov dword [esi + 0x220], edx
mov edx, 0xb4bf80ec
mov edi, 0x8770d379
mov dword [esi + 0x22c], edi
mov dword [esi + 0x228], edx
mov edx, 0x32a87ed9
mov edi, 0xedaf16e6
mov dword [esi + 0x234], edi
mov dword [esi + 0x230], edx
mov dword [esi + 0xdc], ecx
mov dword [esi + 0xd8], eax
mov dword [esi + 0x23c], ecx
mov dword [esi + 0x238], eax
lea eax, [esi + 0x220]
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 [0x1025adcc]
mov dword [esi + 0xc], eax
movaps xmmword [esi + 0xd0], xmm0
mov dword [esi + 0x3e8], 0x35
lea eax, [esi + 0xc0]
lea ecx, [esi + 0x30]
mov dword [esi + 0x80], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x40]
mov dword [esi + 0x20], eax
cmp dword [esi + 0x44], 0x10
jb 0x100fd84f
mov eax, dword [esi + 0x30]
mov dword [esi + 0x80], eax
cmp dword [esi + 0x20], 0
je 0x100fe367
mov eax, dword [esi + 0x20]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x18], ecx
cmp eax, 4
jae 0x100fe665
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100fe6b2
or eax, 1
mov dword [0x1025af58], eax
mov eax, 0x495824d4
mov ecx, 0x8246bc4d
mov dword [esi + 0xc4], ecx
mov dword [esi + 0xc0], eax
mov eax, 0x99cde595
mov ecx, 0xee2fbe47
mov dword [esi + 0xcc], ecx
mov dword [esi + 0xc8], eax
mov eax, 0x5ec91b91
mov ecx, 0xedaf7e92
mov dword [esi + 0xd4], ecx
mov dword [esi + 0xd0], eax
mov eax, 0xbfacdc76
mov ecx, 0x7f08b8f7
mov edx, 0x3a396697
mov edi, 0xe32aec28
mov dword [esi + 0x224], edi
mov dword [esi + 0x220], edx
mov edx, 0xb4bf80ec
mov edi, 0x8770d379
mov dword [esi + 0x22c], edi
mov dword [esi + 0x228], edx
mov edx, 0x32a87ed9
mov edi, 0xedaf16e6
mov dword [esi + 0x234], edi
mov dword [esi + 0x230], edx
mov dword [esi + 0xdc], ecx
mov dword [esi + 0xd8], eax
mov dword [esi + 0x23c], ecx
mov dword [esi + 0x238], eax
lea eax, [esi + 0x220]
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 [0x1025adcc]
mov dword [esi + 0xc], eax
movaps xmmword [esi + 0xd0], xmm0
mov dword [esi + 0x3e8], 8
lea eax, [esi + 0xc0]
lea ecx, [esi + 0x30]
mov dword [esi + 0x20], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x40]
mov dword [esi + 0x50], eax
cmp dword [esi + 0x44], 0x10
jb 0x100fd988
mov eax, dword [esi + 0x30]
mov dword [esi + 0x20], eax
cmp dword [esi + 0x50], 0
je 0x100fe65b
mov eax, dword [esi + 0x50]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x18], ecx
cmp eax, 4
jae 0x100fe746
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100fe790
call fcn.1001aab0
movss dword [esi + 0x48], xmm3
movss dword [esi + 0x1c], xmm2
movaps xmmword [esi + 0x70], xmm0
movss dword [esi + 0x60], xmm1
or eax, 1
mov dword [0x1025af40], eax
mov eax, dword [0x1025adcc]
mov dword [esi + 0xc], eax
mov eax, 0x495824d4
mov ecx, 0x975ead4d
mov dword [esi + 0x224], ecx
mov dword [esi + 0x220], eax
mov eax, 0xc1dde99e
mov ecx, 0xeb12b20d
mov dword [esi + 0x22c], ecx
mov dword [esi + 0x228], eax
mov eax, 0x57dc37bc
mov ecx, 0x80913b8b
mov dword [esi + 0x234], ecx
mov dword [esi + 0x230], eax
mov eax, 0xcbe5b529
mov ecx, 0x1a4cd592
mov dword [esi + 0x23c], ecx
mov dword [esi + 0x238], eax
mov eax, 0x20377ffd
mov ecx, 0x625ffaa8
mov dword [esi + 0x244], ecx
mov dword [esi + 0x240], eax
mov eax, 0x29c9a839
mov ecx, 0xa646f0c5
mov dword [esi + 0x24c], ecx
mov dword [esi + 0x248], eax
mov eax, 0x3a396697
mov ecx, 0xe32aec28
mov dword [esi + 0xc4], ecx
mov dword [esi + 0xc0], eax
mov eax, 0xb4bf80ec
mov ecx, 0x8770d379
mov dword [esi + 0xcc], ecx
mov dword [esi + 0xc8], eax
mov eax, 0x32a87ed9
mov ecx, 0xedaf16e6
mov dword [esi + 0xd4], ecx
mov dword [esi + 0xd0], eax
mov eax, 0xbfacdc76
mov ecx, 0x7f08b8f7
mov dword [esi + 0xdc], ecx
mov dword [esi + 0xd8], eax
mov eax, 0x4959169b
mov ecx, 0xc3093dc
mov dword [esi + 0xe4], ecx
mov dword [esi + 0xe0], eax
mov eax, 0x4cadc670
mov ecx, 0xa646f0bd
mov dword [esi + 0xec], ecx
mov dword [esi + 0xe8], eax
lea eax, [esi + 0xc0]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x220]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x220], xmm0
movaps xmm0, xmmword [esi + 0x230]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0x230], xmm0
movaps xmm0, xmmword [esi + 0x240]
xorps xmm0, xmmword [eax + 0x20]
movaps xmmword [esi + 0x240], xmm0
mov dword [esi + 0x3e8], 0x2e
lea eax, [esi + 0x220]
lea ecx, [esi + 0x30]
mov dword [esi + 0x80], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x40]
mov dword [esi + 0x20], eax
cmp dword [esi + 0x44], 0x10
jb 0x100fdb53
mov eax, dword [esi + 0x30]
mov dword [esi + 0x80], eax
cmp dword [esi + 0x20], 0
je 0x100fe73c
mov eax, dword [esi + 0x20]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x18], ecx
cmp eax, 4
jae 0x100fe814
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100fe861
mov ecx, 0x811c9dc5
jmp 0x100fddcd
mov ecx, 0x811c9dc5
jmp 0x100fdea1
mov ecx, 0x811c9dc5
jmp 0x100fdf78
mov ecx, 0x811c9dc5
jmp 0x100fe054
mov ecx, 0x811c9dc5
jmp 0x100fe134
mov ecx, 0x811c9dc5
jmp 0x100fe215
mov ecx, 0x811c9dc5
jmp 0x100fe2ec
or eax, 1
mov dword [0x10260794], eax
mov eax, 0x495824d4
mov ecx, 0x8e45af4d
mov dword [esi + 0x224], ecx
mov dword [esi + 0x220], eax
mov eax, 0xf7cbe18e
mov ecx, 0xe602b211
mov dword [esi + 0x22c], ecx
mov dword [esi + 0x228], eax
mov eax, 0x40cd0aba
mov ecx, 0xb2c228cb
mov dword [esi + 0x234], ecx
mov dword [esi + 0x230], eax
mov eax, 0xcbcf9d1e
mov ecx, 0x286dce9e
mov dword [esi + 0x23c], ecx
mov dword [esi + 0x238], eax
mov eax, 0x262977fe
mov ecx, 0xc3093b2
mov dword [esi + 0x244], ecx
mov dword [esi + 0x240], eax
mov eax, 0x4cadc670
mov ecx, 0xa646f0bd
mov edx, 0x3a396697
mov edi, 0xe32aec28
mov dword [esi + 0xc4], edi
mov dword [esi + 0xc0], edx
mov edx, 0xb4bf80ec
mov edi, 0x8770d379
mov dword [esi + 0xcc], edi
mov dword [esi + 0xc8], edx
mov edx, 0x32a87ed9
mov edi, 0xedaf16e6
mov dword [esi + 0xd4], edi
mov dword [esi + 0xd0], edx
mov edx, 0xbfacdc76
mov edi, 0x7f08b8f7
mov dword [esi + 0xdc], edi
mov dword [esi + 0xd8], edx
mov edx, 0x4959169b
mov edi, 0xc3093dc
mov dword [esi + 0xe4], edi
mov dword [esi + 0xe0], edx
mov dword [esi + 0x24c], ecx
mov dword [esi + 0x248], eax
mov dword [esi + 0xec], ecx
mov dword [esi + 0xe8], eax
lea eax, [esi + 0xc0]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x220]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x220], xmm0
movaps xmm0, xmmword [esi + 0x230]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0x230], xmm0
movaps xmm0, xmmword [esi + 0x240]
xorps xmm0, xmmword [eax + 0x20]
mov eax, dword [0x1025adcc]
mov dword [esi + 0x70], eax
movaps xmmword [esi + 0x240], xmm0
mov dword [esi + 0x3e8], 0xe
lea eax, [esi + 0x220]
lea ecx, [esi + 0x30]
mov dword [esi + 0x14], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x40]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x44], 0x10
jb 0x100fdd3c
mov eax, dword [esi + 0x30]
mov dword [esi + 0x14], eax
cmp dword [esi + 0xc], 0
je 0x100feaab
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x60], ecx
cmp eax, 4
jae 0x100febfb
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100fec45
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 0x100fdd76
cmp dword [esi + 0x60], 0
je 0x100fddcd
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 + 0x60], edi
jne 0x100fddbb
mov edx, dword [esi + 0x70]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100ff99a
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x100fde11
cmp dword [ebx + 0x1c], 0x10
jb 0x100fddfb
mov eax, dword [ebx + 8]
jmp 0x100fddfe
lea eax, [ebx + 8]
push dword [esi + 0xc]
push eax
push dword [esi + 0x14]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100fde1e
cmp ebx, edi
je 0x100ff99a
mov ebx, dword [ebx + 4]
jmp 0x100fdde8
add ebx, 0x20
lea ecx, [esi + 0x30]
call fcn.10015110
mov dword [0x10260a1c], ebx
mov edi, dword [esi + 0x20]
mov eax, dword [esi + 0x1c]
jmp 0x100fa3e3
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 0x100fde4a
cmp dword [esi + 0x60], 0
je 0x100fdea1
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 + 0x60], edi
jne 0x100fde8f
mov edx, dword [esi + 0x70]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100ff9b1
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x100fdee5
cmp dword [ebx + 0x1c], 0x10
jb 0x100fdecf
mov eax, dword [ebx + 8]
jmp 0x100fded2
lea eax, [ebx + 8]
push dword [esi + 0xc]
push eax
push dword [esi + 0x14]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100fdef2
cmp ebx, edi
je 0x100ff9b1
mov ebx, dword [ebx + 4]
jmp 0x100fdebc
add ebx, 0x20
lea ecx, [esi + 0x30]
call fcn.10015110
mov dword [0x10260a24], ebx
mov edi, dword [esi + 0x20]
jmp 0x100fa401
mov edi, dword [esi + 0x20]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x80]
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 0x100fdf1e
cmp dword [esi + 0x60], 0
je 0x100fdf78
add edx, dword [esi + 0x80]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x60], edi
jne 0x100fdf66
mov edx, dword [esi + 0x70]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100ff9c8
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x20]
cmp eax, dword [ebx + 0x18]
jne 0x100fdfbf
cmp dword [ebx + 0x1c], 0x10
jb 0x100fdfa6
mov eax, dword [ebx + 8]
jmp 0x100fdfa9
lea eax, [ebx + 8]
push dword [esi + 0x20]
push eax
push dword [esi + 0x80]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100fdfcc
cmp ebx, edi
je 0x100ff9c8
mov ebx, dword [ebx + 4]
jmp 0x100fdf93
add ebx, 0x20
lea ecx, [esi + 0x30]
call fcn.10015110
mov dword [0x102606b0], ebx
mov eax, dword [0x102606b4]
jmp 0x100fb28e
mov edi, dword [esi + 0x20]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x80]
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 0x100fdffa
cmp dword [esi + 0x60], 0
je 0x100fe054
add edx, dword [esi + 0x80]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x60], edi
jne 0x100fe042
mov edx, dword [esi + 0x70]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100ff9df
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x20]
cmp eax, dword [ebx + 0x18]
jne 0x100fe09b
cmp dword [ebx + 0x1c], 0x10
jb 0x100fe082
mov eax, dword [ebx + 8]
jmp 0x100fe085
lea eax, [ebx + 8]
push dword [esi + 0x20]
push eax
push dword [esi + 0x80]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100fe0a8
cmp ebx, edi
je 0x100ff9df
mov ebx, dword [ebx + 4]
jmp 0x100fe06f
lea edi, [ebx + 0x20]
lea ecx, [esi + 0x30]
call fcn.10015110
mov dword [0x102606b0], edi
mov ecx, dword [ebx + 0x24]
mov edx, dword [esi + 0x1c]
mov edi, dword [esi + 0x48]
jmp 0x100fb2a3
mov edi, dword [esi + 0x10]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x20]
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 0x100fe0d7
cmp dword [esi + 0x80], 0
je 0x100fe134
add edx, dword [esi + 0x20]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x80], edi
jne 0x100fe11f
mov edx, dword [esi + 0x18]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100ff9f6
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 0x10]
cmp eax, dword [edi + 0x18]
jne 0x100fe178
cmp dword [edi + 0x1c], 0x10
jb 0x100fe162
mov eax, dword [edi + 8]
jmp 0x100fe165
lea eax, [edi + 8]
push dword [esi + 0x10]
push eax
push dword [esi + 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100fe185
cmp edi, ebx
je 0x100ff9f6
mov edi, dword [edi + 4]
jmp 0x100fe14f
add edi, 0x20
lea ecx, [esi + 0x30]
call fcn.10015110
mov dword [0x10260a2c], edi
mov dword [esi + 0x3e8], 0xffffffff
mov ebx, dword [esi + 0xc]
jmp 0x100fb8da
mov edi, dword [esi + 0x20]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x80]
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 0x100fe1bb
cmp dword [esi + 0x18], 0
je 0x100fe215
add edx, dword [esi + 0x80]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x18], edi
jne 0x100fe203
mov edx, dword [esi + 0xc]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100ffa0d
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x20]
cmp eax, dword [ebx + 0x18]
jne 0x100fe25c
cmp dword [ebx + 0x1c], 0x10
jb 0x100fe243
mov eax, dword [ebx + 8]
jmp 0x100fe246
lea eax, [ebx + 8]
push dword [esi + 0x20]
push eax
push dword [esi + 0x80]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100fe269
cmp ebx, edi
je 0x100ffa0d
mov ebx, dword [ebx + 4]
jmp 0x100fe230
add ebx, 0x20
lea ecx, [esi + 0x30]
call fcn.10015110
mov dword [0x102607a0], ebx
jmp 0x100fba15
mov edi, dword [esi + 0x20]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x80]
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 0x100fe292
cmp dword [esi + 0x18], 0
je 0x100fe2ec
add edx, dword [esi + 0x80]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x18], edi
jne 0x100fe2da
mov edx, dword [esi + 0xc]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100ffa24
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x20]
cmp eax, dword [ebx + 0x18]
jne 0x100fe333
cmp dword [ebx + 0x1c], 0x10
jb 0x100fe31a
mov eax, dword [ebx + 8]
jmp 0x100fe31d
lea eax, [ebx + 8]
push dword [esi + 0x20]
push eax
push dword [esi + 0x80]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100fe340
cmp ebx, edi
je 0x100ffa24
mov ebx, dword [ebx + 4]
jmp 0x100fe307
add ebx, 0x20
lea ecx, [esi + 0x30]
call fcn.10015110
mov dword [0x10260728], ebx
jmp 0x100fbae9
mov ecx, 0x811c9dc5
jmp 0x100fe3d8
mov ecx, 0x811c9dc5
jmp 0x100fe4a9
mov ecx, 0x811c9dc5
jmp 0x100fe6d2
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 0x100fe381
cmp dword [esi + 0x60], 0
je 0x100fe3d8
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 + 0x60], edi
jne 0x100fe3c6
mov edx, dword [esi + 0x70]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100ffa3b
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x100fe41c
cmp dword [ebx + 0x1c], 0x10
jb 0x100fe406
mov eax, dword [ebx + 8]
jmp 0x100fe409
lea eax, [ebx + 8]
push dword [esi + 0xc]
push eax
push dword [esi + 0x14]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100fe429
cmp ebx, edi
je 0x100ffa3b
mov ebx, dword [ebx + 4]
jmp 0x100fe3f3
add ebx, 0x20
lea ecx, [esi + 0x220]
call fcn.10015110
mov dword [0x102606b8], ebx
jmp 0x100fa447
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 0x100fe452
cmp dword [esi + 0x60], 0
je 0x100fe4a9
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 + 0x60], edi
jne 0x100fe497
mov edx, dword [esi + 0x70]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100ffa52
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x100fe4ed
cmp dword [ebx + 0x1c], 0x10
jb 0x100fe4d7
mov eax, dword [ebx + 8]
jmp 0x100fe4da
lea eax, [ebx + 8]
push dword [esi + 0xc]
push eax
push dword [esi + 0x14]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100fe4fa
cmp ebx, edi
je 0x100ffa52
mov ebx, dword [ebx + 4]
jmp 0x100fe4c4
add ebx, 0x20
lea ecx, [esi + 0x30]
call fcn.10015110
mov dword [0x1025af4c], ebx
mov eax, dword [0x1025adf4]
jmp 0x100fa47d
or eax, 1
mov dword [0x1025af80], eax
mov eax, dword [0x1025adcc]
mov dword [esi + 0x60], eax
mov eax, 0x495824d4
mov ecx, 0x8e45af4d
mov dword [esi + 0xc4], ecx
mov dword [esi + 0xc0], eax
mov eax, 0xe3cbe18e
mov ecx, 0xe800b21c
mov dword [esi + 0xcc], ecx
mov dword [esi + 0xc8], eax
mov eax, 0x5f9653b7
mov ecx, 0x81ec7fb9
mov dword [esi + 0xd4], ecx
mov dword [esi + 0xd0], eax
mov ecx, 0xbf9dac1f
mov eax, 0x7f08b8f7
mov edx, 0x7f08b8f7
mov dword [esi + 0xdc], edx
mov dword [esi + 0xd8], ecx
mov ecx, 0x3a396697
mov edx, 0xe32aec28
mov dword [esi + 0x224], edx
mov dword [esi + 0x220], ecx
mov ecx, 0xb4bf80ec
mov edx, 0x8770d379
mov dword [esi + 0x22c], edx
mov dword [esi + 0x228], ecx
mov ecx, 0x32a87ed9
mov edx, 0xedaf16e6
mov dword [esi + 0x234], edx
mov dword [esi + 0x230], ecx
mov ecx, 0xbfacdc76
mov dword [esi + 0x23c], eax
mov dword [esi + 0x238], ecx
lea eax, [esi + 0x220]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0xc0]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0xc0], xmm0
movaps xmm0, xmmword [esi + 0xd0]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0xd0], xmm0
mov dword [esi + 0x3e8], 0x20
lea eax, [esi + 0xc0]
lea ecx, [esi + 0x30]
mov dword [esi + 0x20], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x40]
mov dword [esi + 0x10], eax
cmp dword [esi + 0x44], 0x10
jb 0x100fe62e
mov eax, dword [esi + 0x30]
mov dword [esi + 0x20], eax
cmp dword [esi + 0x10], 0
je 0x100ff026
mov eax, dword [esi + 0x10]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x80], ecx
cmp eax, 4
jae 0x100ff02d
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ff077
mov ecx, 0x811c9dc5
jmp 0x100fe7ad
mov edi, dword [esi + 0x20]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x80]
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 0x100fe678
cmp dword [esi + 0x18], 0
je 0x100fe6d2
add edx, dword [esi + 0x80]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x18], edi
jne 0x100fe6c0
mov edx, dword [esi + 0xc]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100ffa69
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x20]
cmp eax, dword [ebx + 0x18]
jne 0x100fe719
cmp dword [ebx + 0x1c], 0x10
jb 0x100fe700
mov eax, dword [ebx + 8]
jmp 0x100fe703
lea eax, [ebx + 8]
push dword [esi + 0x20]
push eax
push dword [esi + 0x80]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100fe726
cmp ebx, edi
je 0x100ffa69
mov ebx, dword [ebx + 4]
jmp 0x100fe6ed
add ebx, 0x20
lea ecx, [esi + 0x30]
call fcn.10015110
mov dword [0x102607a8], ebx
jmp 0x100fba38
mov ecx, 0x811c9dc5
jmp 0x100fe881
mov edi, dword [esi + 0x50]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x20]
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 0x100fe756
cmp dword [esi + 0x18], 0
je 0x100fe7ad
add edx, dword [esi + 0x20]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x18], edi
jne 0x100fe79b
mov edx, dword [esi + 0xc]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100ffa80
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x50]
cmp eax, dword [ebx + 0x18]
jne 0x100fe7f1
cmp dword [ebx + 0x1c], 0x10
jb 0x100fe7db
mov eax, dword [ebx + 8]
jmp 0x100fe7de
lea eax, [ebx + 8]
push dword [esi + 0x50]
push eax
push dword [esi + 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100fe7fe
cmp ebx, edi
je 0x100ffa80
mov ebx, dword [ebx + 4]
jmp 0x100fe7c8
add ebx, 0x20
lea ecx, [esi + 0x30]
call fcn.10015110
mov dword [0x1025af54], ebx
jmp 0x100fa2a1
mov edi, dword [esi + 0x20]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x80]
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 0x100fe827
cmp dword [esi + 0x18], 0
je 0x100fe881
add edx, dword [esi + 0x80]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x18], edi
jne 0x100fe86f
mov edx, dword [esi + 0xc]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100ffa97
add ecx, ecx
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 0x20]
cmp eax, dword [edi + 0x18]
jne 0x100fe8c8
cmp dword [edi + 0x1c], 0x10
jb 0x100fe8af
mov eax, dword [edi + 8]
jmp 0x100fe8b2
lea eax, [edi + 8]
push dword [esi + 0x20]
push eax
push dword [esi + 0x80]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100fe8d5
cmp edi, ebx
je 0x100ffa97
mov edi, dword [edi + 4]
jmp 0x100fe89c
add edi, 0x20
lea ecx, [esi + 0x30]
call fcn.10015110
mov dword [0x1025af3c], edi
mov dword [esi + 0x3e8], 0xffffffff
movss xmm1, dword [esi + 0x60]
movaps xmm0, xmmword [esi + 0x70]
movss xmm2, dword [esi + 0x1c]
movss xmm3, dword [esi + 0x48]
jmp 0x100fb7f4
or eax, 1
mov dword [0x10260794], eax
mov eax, 0x495824d4
mov ecx, 0x8e45af4d
mov dword [esi + 0x224], ecx
mov dword [esi + 0x220], eax
mov eax, 0xf7cbe18e
mov ecx, 0xe602b211
mov dword [esi + 0x22c], ecx
mov dword [esi + 0x228], eax
mov eax, 0x40cd0aba
mov ecx, 0xb2c228cb
mov dword [esi + 0x234], ecx
mov dword [esi + 0x230], eax
mov eax, 0xcbcf9d1e
mov ecx, 0x286dce9e
mov dword [esi + 0x23c], ecx
mov dword [esi + 0x238], eax
mov eax, 0x262977fe
mov ecx, 0xc3093b2
mov dword [esi + 0x244], ecx
mov dword [esi + 0x240], eax
mov eax, 0x4cadc670
mov ecx, 0xa646f0bd
mov edx, 0x3a396697
mov edi, 0xe32aec28
mov dword [esi + 0xc4], edi
mov dword [esi + 0xc0], edx
mov edx, 0xb4bf80ec
mov edi, 0x8770d379
mov dword [esi + 0xcc], edi
mov dword [esi + 0xc8], edx
mov edx, 0x32a87ed9
mov edi, 0xedaf16e6
mov dword [esi + 0xd4], edi
mov dword [esi + 0xd0], edx
mov edx, 0xbfacdc76
mov edi, 0x7f08b8f7
mov dword [esi + 0xdc], edi
mov dword [esi + 0xd8], edx
mov edx, 0x4959169b
mov edi, 0xc3093dc
mov dword [esi + 0xe4], edi
mov dword [esi + 0xe0], edx
mov dword [esi + 0x24c], ecx
mov dword [esi + 0x248], eax
mov dword [esi + 0xec], ecx
mov dword [esi + 0xe8], eax
lea eax, [esi + 0xc0]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x220]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x220], xmm0
movaps xmm0, xmmword [esi + 0x230]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0x230], xmm0
movaps xmm0, xmmword [esi + 0x240]
xorps xmm0, xmmword [eax + 0x20]
mov eax, dword [0x1025adcc]
mov dword [esi + 0x70], eax
movaps xmmword [esi + 0x240], xmm0
mov dword [esi + 0x3e8], 0x14
lea eax, [esi + 0x220]
lea ecx, [esi + 0x30]
mov dword [esi + 0x14], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x40]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x44], 0x10
jb 0x100fea81
mov eax, dword [esi + 0x30]
mov dword [esi + 0x14], eax
cmp dword [esi + 0xc], 0
je 0x100ff3f1
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x60], ecx
cmp eax, 4
jae 0x100ff402
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ff44c
mov ecx, 0x811c9dc5
jmp 0x100fec62
or eax, 1
mov dword [0x1025af80], eax
mov eax, 0x495824d4
mov ecx, 0x8e45af4d
mov dword [esi + 0xc4], ecx
mov dword [esi + 0xc0], eax
mov eax, 0xe3cbe18e
mov ecx, 0xe800b21c
mov dword [esi + 0xcc], ecx
mov dword [esi + 0xc8], eax
mov eax, 0x5f9653b7
mov ecx, 0x81ec7fb9
mov dword [esi + 0xd4], ecx
mov dword [esi + 0xd0], eax
mov eax, 0xbf9dac1f
mov ecx, 0x7f08b8f7
mov dword [esi + 0xdc], ecx
mov dword [esi + 0xd8], eax
mov eax, 0x3a396697
mov ecx, 0xe32aec28
mov dword [esi + 0x224], ecx
mov dword [esi + 0x220], eax
mov eax, 0xb4bf80ec
mov ecx, 0x8770d379
mov dword [esi + 0x22c], ecx
mov dword [esi + 0x228], eax
mov eax, 0x32a87ed9
mov ecx, 0xedaf16e6
mov dword [esi + 0x234], ecx
mov ecx, 0x7f08b8f7
mov dword [esi + 0x230], eax
mov eax, 0xbfacdc76
mov dword [esi + 0x23c], ecx
mov dword [esi + 0x238], eax
xor eax, eax
lea ecx, [esi + 0x220]
movaps xmm0, xmmword [esi + 0xc0]
xorps xmm0, xmmword [ecx]
movaps xmmword [esi + 0xc0], xmm0
movaps xmm0, xmmword [esi + 0xd0]
xorps xmm0, xmmword [ecx + 0x10]
mov eax, dword [0x1025adcc]
mov dword [esi + 0x9c], eax
movaps xmmword [esi + 0xd0], xmm0
mov dword [esi + 0x3e8], 0x22
lea ecx, [esi + 0x30]
mov dword [esi + 0x1c], ecx
lea eax, [esi + 0xc0]
push eax
call fcn.10015170
mov eax, dword [esi + 0x40]
mov dword [esi + 0x70], eax
cmp dword [esi + 0x44], 0x10
jb 0x100febd1
mov eax, dword [esi + 0x30]
mov dword [esi + 0x1c], eax
cmp dword [esi + 0x70], 0
je 0x100ff3f8
mov eax, dword [esi + 0x70]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x48], ecx
cmp eax, 4
jae 0x100ff4d0
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ff51a
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 0x100fec0b
cmp dword [esi + 0x60], 0
je 0x100fec62
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 + 0x60], edi
jne 0x100fec50
mov edx, dword [esi + 0x70]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100ffaae
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x100feca6
cmp dword [ebx + 0x1c], 0x10
jb 0x100fec90
mov eax, dword [ebx + 8]
jmp 0x100fec93
lea eax, [ebx + 8]
push dword [esi + 0xc]
push eax
push dword [esi + 0x14]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100fecb3
cmp ebx, edi
je 0x100ffaae
mov ebx, dword [ebx + 4]
jmp 0x100fec7d
add ebx, 0x20
lea ecx, [esi + 0x30]
call fcn.10015110
mov dword [0x10260790], ebx
mov edi, dword [esi + 0x20]
jmp 0x100fa323
mov dword [esi + 0x70], edi
or eax, 1
mov dword [0x10260794], eax
mov eax, 0x495824d4
mov ecx, 0x8e45af4d
mov dword [esi + 0x224], ecx
mov dword [esi + 0x220], eax
mov eax, 0xf7cbe18e
mov ecx, 0xe602b211
mov dword [esi + 0x22c], ecx
mov dword [esi + 0x228], eax
mov eax, 0x40cd0aba
mov ecx, 0xb2c228cb
mov dword [esi + 0x234], ecx
mov dword [esi + 0x230], eax
mov eax, 0xcbcf9d1e
mov ecx, 0x286dce9e
mov dword [esi + 0x23c], ecx
mov dword [esi + 0x238], eax
mov eax, 0x262977fe
mov ecx, 0xc3093b2
mov dword [esi + 0x244], ecx
mov dword [esi + 0x240], eax
mov eax, 0x4cadc670
mov ecx, 0xa646f0bd
mov edx, 0x3a396697
mov edi, 0xe32aec28
mov dword [esi + 0xc4], edi
mov dword [esi + 0xc0], edx
mov edx, 0xb4bf80ec
mov edi, 0x8770d379
mov dword [esi + 0xcc], edi
mov dword [esi + 0xc8], edx
mov edx, 0x32a87ed9
mov edi, 0xedaf16e6
mov dword [esi + 0xd4], edi
mov dword [esi + 0xd0], edx
mov edx, 0xbfacdc76
mov edi, 0x7f08b8f7
mov dword [esi + 0xdc], edi
mov dword [esi + 0xd8], edx
mov edx, 0x4959169b
mov edi, 0xc3093dc
mov dword [esi + 0xe4], edi
mov dword [esi + 0xe0], edx
mov dword [esi + 0x24c], ecx
mov dword [esi + 0x248], eax
mov dword [esi + 0xec], ecx
mov dword [esi + 0xe8], eax
lea eax, [esi + 0xc0]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x220]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x220], xmm0
movaps xmm0, xmmword [esi + 0x230]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0x230], xmm0
movaps xmm0, xmmword [esi + 0x240]
xorps xmm0, xmmword [eax + 0x20]
mov eax, dword [0x1025adcc]
mov dword [esi + 0x1c], eax
movaps xmmword [esi + 0x240], xmm0
mov dword [esi + 0x3e8], 0x10
lea eax, [esi + 0x220]
lea ecx, [esi + 0x30]
mov dword [esi + 0x14], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x40]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x44], 0x10
jb 0x100fee48
mov eax, dword [esi + 0x30]
mov dword [esi + 0x14], eax
cmp dword [esi + 0xc], 0
je 0x100ff5a1
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x60], ecx
cmp eax, 4
jae 0x100ff5b2
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ff5fc
mov dword [esi + 0x48], eax
mov dword [esi + 0x70], edi
or ecx, 1
mov dword [0x1025af40], ecx
mov eax, dword [0x1025adcc]
mov dword [esi + 0x1c], eax
mov eax, 0x495824d4
mov ecx, 0x975ead4d
mov dword [esi + 0x224], ecx
mov dword [esi + 0x220], eax
mov eax, 0xc1dde99e
mov ecx, 0xeb12b20d
mov dword [esi + 0x22c], ecx
mov dword [esi + 0x228], eax
mov eax, 0x57dc37bc
mov ecx, 0x80913b8b
mov dword [esi + 0x234], ecx
mov dword [esi + 0x230], eax
mov eax, 0xcbe5b529
mov ecx, 0x1a4cd592
mov dword [esi + 0x23c], ecx
mov dword [esi + 0x238], eax
mov eax, 0x20377ffd
mov ecx, 0x625ffaa8
mov dword [esi + 0x244], ecx
mov dword [esi + 0x240], eax
mov eax, 0x29c9a839
mov ecx, 0xa646f0c5
mov dword [esi + 0x24c], ecx
mov dword [esi + 0x248], eax
mov eax, 0x3a396697
mov ecx, 0xe32aec28
mov dword [esi + 0xc4], ecx
mov dword [esi + 0xc0], eax
mov eax, 0xb4bf80ec
mov ecx, 0x8770d379
mov dword [esi + 0xcc], ecx
mov dword [esi + 0xc8], eax
mov eax, 0x32a87ed9
mov ecx, 0xedaf16e6
mov dword [esi + 0xd4], ecx
mov dword [esi + 0xd0], eax
mov eax, 0xbfacdc76
mov ecx, 0x7f08b8f7
mov dword [esi + 0xdc], ecx
mov dword [esi + 0xd8], eax
mov eax, 0x4959169b
mov ecx, 0xc3093dc
mov dword [esi + 0xe4], ecx
mov dword [esi + 0xe0], eax
mov eax, 0x4cadc670
mov ecx, 0xa646f0bd
mov dword [esi + 0xec], ecx
mov dword [esi + 0xe8], eax
lea eax, [esi + 0xc0]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x220]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x220], xmm0
movaps xmm0, xmmword [esi + 0x230]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0x230], xmm0
movaps xmm0, xmmword [esi + 0x240]
xorps xmm0, xmmword [eax + 0x20]
movaps xmmword [esi + 0x240], xmm0
mov dword [esi + 0x3e8], 0x12
lea eax, [esi + 0x220]
lea ecx, [esi + 0x30]
mov dword [esi + 0x14], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x40]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x44], 0x10
jb 0x100feffc
mov eax, dword [esi + 0x30]
mov dword [esi + 0x14], eax
cmp dword [esi + 0xc], 0
je 0x100ff5a8
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x60], ecx
cmp eax, 4
jae 0x100ff683
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ff6cd
mov ecx, 0x811c9dc5
jmp 0x100ff09a
mov edi, dword [esi + 0x10]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x20]
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 0x100ff03d
cmp dword [esi + 0x80], 0
je 0x100ff09a
add edx, dword [esi + 0x20]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x80], edi
jne 0x100ff085
mov edx, dword [esi + 0x60]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100ffac5
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x10]
cmp eax, dword [ebx + 0x18]
jne 0x100ff0de
cmp dword [ebx + 0x1c], 0x10
jb 0x100ff0c8
mov eax, dword [ebx + 8]
jmp 0x100ff0cb
lea eax, [ebx + 8]
push dword [esi + 0x10]
push eax
push dword [esi + 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100ff0eb
cmp ebx, edi
je 0x100ffac5
mov ebx, dword [ebx + 4]
jmp 0x100ff0b5
add ebx, 0x20
lea ecx, [esi + 0x30]
call fcn.10015110
mov dword [0x1025af7c], ebx
jmp 0x100faff7
mov dword [esi + 0xbc], ebx
or ecx, 1
mov dword [0x1025af80], ecx
mov eax, 0x495824d4
mov ecx, 0x8e45af4d
mov dword [esi + 0xc4], ecx
mov dword [esi + 0xc0], eax
mov eax, 0xe3cbe18e
mov ecx, 0xe800b21c
mov dword [esi + 0xcc], ecx
mov dword [esi + 0xc8], eax
mov eax, 0x5f9653b7
mov ecx, 0x81ec7fb9
mov dword [esi + 0xd4], ecx
mov dword [esi + 0xd0], eax
mov eax, 0xbf9dac1f
mov ecx, 0x7f08b8f7
mov dword [esi + 0xdc], ecx
mov dword [esi + 0xd8], eax
mov eax, 0x3a396697
mov ecx, 0xe32aec28
mov dword [esi + 0x224], ecx
mov dword [esi + 0x220], eax
mov eax, 0xb4bf80ec
mov ecx, 0x8770d379
mov dword [esi + 0x22c], ecx
mov dword [esi + 0x228], eax
mov eax, 0x32a87ed9
mov ecx, 0xedaf16e6
mov dword [esi + 0x234], ecx
mov ecx, 0x7f08b8f7
mov dword [esi + 0x230], eax
mov eax, 0xbfacdc76
mov dword [esi + 0x23c], ecx
mov dword [esi + 0x238], eax
xor eax, eax
lea ecx, [esi + 0x220]
movaps xmm0, xmmword [esi + 0xc0]
xorps xmm0, xmmword [ecx]
movaps xmmword [esi + 0xc0], xmm0
movaps xmm0, xmmword [esi + 0xd0]
xorps xmm0, xmmword [ecx + 0x10]
mov eax, dword [0x1025adcc]
mov dword [esi + 0x9c], eax
movaps xmmword [esi + 0xd0], xmm0
mov dword [esi + 0x3e8], 0x24
lea ecx, [esi + 0x30]
mov dword [esi + 0x1c], ecx
lea eax, [esi + 0xc0]
push eax
call fcn.10015170
mov eax, dword [esi + 0x40]
mov dword [esi + 0x70], eax
cmp dword [esi + 0x44], 0x10
jb 0x100ff224
mov eax, dword [esi + 0x30]
mov dword [esi + 0x1c], eax
cmp dword [esi + 0x70], 0
je 0x100ff757
mov eax, dword [esi + 0x70]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x48], ecx
cmp eax, 4
jae 0x100ff768
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ff7b2
or eax, 1
mov dword [0x10260794], eax
mov eax, 0x495824d4
mov ecx, 0x8e45af4d
mov dword [esi + 0x224], ecx
mov dword [esi + 0x220], eax
mov eax, 0xf7cbe18e
mov ecx, 0xe602b211
mov dword [esi + 0x22c], ecx
mov dword [esi + 0x228], eax
mov eax, 0x40cd0aba
mov ecx, 0xb2c228cb
mov dword [esi + 0x234], ecx
mov dword [esi + 0x230], eax
mov eax, 0xcbcf9d1e
mov ecx, 0x286dce9e
mov dword [esi + 0x23c], ecx
mov dword [esi + 0x238], eax
mov eax, 0x262977fe
mov ecx, 0xc3093b2
mov dword [esi + 0x244], ecx
mov dword [esi + 0x240], eax
mov eax, 0x4cadc670
mov ecx, 0xa646f0bd
mov edx, 0x3a396697
mov edi, 0xe32aec28
mov dword [esi + 0xc4], edi
mov dword [esi + 0xc0], edx
mov edx, 0xb4bf80ec
mov edi, 0x8770d379
mov dword [esi + 0xcc], edi
mov dword [esi + 0xc8], edx
mov edx, 0x32a87ed9
mov edi, 0xedaf16e6
mov dword [esi + 0xd4], edi
mov dword [esi + 0xd0], edx
mov edx, 0xbfacdc76
mov edi, 0x7f08b8f7
mov dword [esi + 0xdc], edi
mov dword [esi + 0xd8], edx
mov edx, 0x4959169b
mov edi, 0xc3093dc
mov dword [esi + 0xe4], edi
mov dword [esi + 0xe0], edx
mov dword [esi + 0x24c], ecx
mov dword [esi + 0x248], eax
mov dword [esi + 0xec], ecx
mov dword [esi + 0xe8], eax
lea eax, [esi + 0xc0]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x220]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x220], xmm0
movaps xmm0, xmmword [esi + 0x230]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0x230], xmm0
movaps xmm0, xmmword [esi + 0x240]
xorps xmm0, xmmword [eax + 0x20]
mov eax, dword [0x1025adcc]
mov dword [esi + 0x70], eax
movaps xmmword [esi + 0x240], xmm0
mov dword [esi + 0x3e8], 0x16
lea eax, [esi + 0x220]
lea ecx, [esi + 0x30]
mov dword [esi + 0x14], ecx
push eax
call fcn.10015170
mov eax, dword [esi + 0x40]
mov dword [esi + 0xc], eax
cmp dword [esi + 0x44], 0x10
jb 0x100ff3c7
mov eax, dword [esi + 0x30]
mov dword [esi + 0x14], eax
cmp dword [esi + 0xc], 0
je 0x100ff75e
mov eax, dword [esi + 0xc]
mov ecx, eax
and ecx, 3
mov dword [esi + 0x60], ecx
cmp eax, 4
jae 0x100ff84f
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100ff899
mov ecx, 0x811c9dc5
jmp 0x100ff469
mov ecx, 0x811c9dc5
jmp 0x100ff537
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 0x100ff412
cmp dword [esi + 0x60], 0
je 0x100ff469
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 + 0x60], edi
jne 0x100ff457
mov edx, dword [esi + 0x70]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100ffadc
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x100ff4ad
cmp dword [ebx + 0x1c], 0x10
jb 0x100ff497
mov eax, dword [ebx + 8]
jmp 0x100ff49a
lea eax, [ebx + 8]
push dword [esi + 0xc]
push eax
push dword [esi + 0x14]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100ff4ba
cmp ebx, edi
je 0x100ffadc
mov ebx, dword [ebx + 4]
jmp 0x100ff484
add ebx, 0x20
lea ecx, [esi + 0x30]
call fcn.10015110
mov dword [0x10260790], ebx
jmp 0x100fc0cf
mov edi, dword [esi + 0x70]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x1c]
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 0x100ff4e0
cmp dword [esi + 0x48], 0
je 0x100ff537
add edx, dword [esi + 0x1c]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x48], edi
jne 0x100ff525
mov edx, dword [esi + 0x9c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100ffaf3
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x70]
cmp eax, dword [ebx + 0x18]
jne 0x100ff57e
cmp dword [ebx + 0x1c], 0x10
jb 0x100ff568
mov eax, dword [ebx + 8]
jmp 0x100ff56b
lea eax, [ebx + 8]
push dword [esi + 0x70]
push eax
push dword [esi + 0x1c]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100ff58b
cmp ebx, edi
je 0x100ffaf3
mov ebx, dword [ebx + 4]
jmp 0x100ff555
add ebx, 0x20
lea ecx, [esi + 0x30]
call fcn.10015110
mov dword [0x1025af7c], ebx
jmp 0x100fb1a0
mov ecx, 0x811c9dc5
jmp 0x100ff619
mov ecx, 0x811c9dc5
jmp 0x100ff6ea
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 0x100ff5c2
cmp dword [esi + 0x60], 0
je 0x100ff619
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 + 0x60], edi
jne 0x100ff607
mov edx, dword [esi + 0x1c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100ffb0a
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x100ff65d
cmp dword [ebx + 0x1c], 0x10
jb 0x100ff647
mov eax, dword [ebx + 8]
jmp 0x100ff64a
lea eax, [ebx + 8]
push dword [esi + 0xc]
push eax
push dword [esi + 0x14]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100ff66a
cmp ebx, edi
je 0x100ffb0a
mov ebx, dword [ebx + 4]
jmp 0x100ff634
add ebx, 0x20
lea ecx, [esi + 0x30]
call fcn.10015110
mov dword [0x10260790], ebx
mov edi, dword [esi + 0x70]
jmp 0x100fa377
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 0x100ff693
cmp dword [esi + 0x60], 0
je 0x100ff6ea
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 + 0x60], edi
jne 0x100ff6d8
mov edx, dword [esi + 0x1c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100ffb21
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x100ff72e
cmp dword [ebx + 0x1c], 0x10
jb 0x100ff718
mov eax, dword [ebx + 8]
jmp 0x100ff71b
lea eax, [ebx + 8]
push dword [esi + 0xc]
push eax
push dword [esi + 0x14]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100ff73b
cmp ebx, edi
je 0x100ffb21
mov ebx, dword [ebx + 4]
jmp 0x100ff705
add ebx, 0x20
lea ecx, [esi + 0x30]
call fcn.10015110
mov dword [0x1025af3c], ebx
mov edi, dword [esi + 0x70]
mov eax, dword [esi + 0x48]
jmp 0x100fc0b5
mov ecx, 0x811c9dc5
jmp 0x100ff7cf
mov ecx, 0x811c9dc5
jmp 0x100ff8b6
mov edi, dword [esi + 0x70]
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [esi + 0x1c]
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 0x100ff778
cmp dword [esi + 0x48], 0
je 0x100ff7cf
add edx, dword [esi + 0x1c]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [esi + 0x48], edi
jne 0x100ff7bd
mov edx, dword [esi + 0x9c]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100ffb38
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0x70]
cmp eax, dword [ebx + 0x18]
jne 0x100ff816
cmp dword [ebx + 0x1c], 0x10
jb 0x100ff800
mov eax, dword [ebx + 8]
jmp 0x100ff803
lea eax, [ebx + 8]
push dword [esi + 0x70]
push eax
push dword [esi + 0x1c]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100ff823
cmp ebx, edi
je 0x100ffb38
mov ebx, dword [ebx + 4]
jmp 0x100ff7ed
lea edi, [ebx + 0x20]
lea ecx, [esi + 0x30]
call fcn.10015110
mov dword [0x1025af7c], edi
mov eax, dword [ebx + 0x24]
add eax, dword [esi + 0x14]
mov dword [esi + 0x3e8], 0xffffffff
mov ebx, dword [esi + 0xbc]
jmp 0x100fb1ce
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 0x100ff85f
cmp dword [esi + 0x60], 0
je 0x100ff8b6
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 + 0x60], edi
jne 0x100ff8a4
mov edx, dword [esi + 0x70]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + ecx*8 + 4]
cmp ebx, dword [edx + 4]
je 0x100ffb4f
add ecx, ecx
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x18]
jne 0x100ff8fa
cmp dword [ebx + 0x1c], 0x10
jb 0x100ff8e4
mov eax, dword [ebx + 8]
jmp 0x100ff8e7
lea eax, [ebx + 8]
push dword [esi + 0xc]
push eax
push dword [esi + 0x14]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100ff907
cmp ebx, edi
je 0x100ffb4f
mov ebx, dword [ebx + 4]
jmp 0x100ff8d1
add ebx, 0x20
lea ecx, [esi + 0x30]
call fcn.10015110
mov dword [0x10260790], ebx
mov dword [esi + 0x3e8], 0xffffffff
jmp 0x100fc123
mov dword [esi + 0x3e8], 1
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [esi + 0x3e8], 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 + 0x3e8], 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 + 0x3e8], 0x1d
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 + 0x3e8], 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 + 0x3e8], 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 + 0x3e8], 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 + 0x3e8], 0x28
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 + 0x3e8], 0x2a
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 + 0x3e8], 0x31
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 + 0x3e8], 0x34
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 + 0x3e8], 0x38
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 + 0x3e8], 0x19
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 + 0x3e8], 0x1b
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 + 0x3e8], 0x36
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 + 0x3e8], 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 + 0x3e8], 0x2f
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 + 0x3e8], 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 + 0x3e8], 0x21
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 + 0x3e8], 0x15
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 + 0x3e8], 0x23
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 + 0x3e8], 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 + 0x3e8], 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 + 0x3e8], 0x25
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 + 0x3e8], 0x17
push str.invalid_unordered_map_K__T__key
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
nop word cs:[eax + eax]
push ebp
sub esp, 0x20
lea esi, [ebp - 0x3ec]
mov ebp, dword [esi + 0x3d8]
lea ecx, [esi + 0x30]
call fcn.10015110
add esp, 0x20
pop ebp
ret