Function at 0x100cb3c0
Capabilities:
Check os version
Get number of processors

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x2a8
mov eax, dword [0x10160380]
xor eax, esp
mov dword [esp + 0x2a4], eax
push esi
mov esi, ecx
mov dword [esp + 0x24], 0
push edi
mov ecx, 0x101a157e
mov dword [esp + 0x40], esi
call fcn.10138266
mov eax, dword [sym.imp.MSVCP140.dll__Mtx_lock]
push 0x10199d14
mov dword [esp + 0x58], eax
call eax
add esp, 4
test eax, eax
je 0x100cb413
push 5
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
cmp dword [0x10199d40], 0x7fffffff
jne 0x100cb431
push 6
mov dword [0x10199d40], 0x7ffffffe
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
mov ecx, esi
call fcn.100cadd0
mov edi, dword [0x10197968]
mov eax, dword [edi + 4]
cmp eax, dword [edi + 8]
mov eax, dword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov dword [esp + 0x44], eax
je 0x100cbb65
mov esi, dword [0x101901e4]
lea eax, [esp + 0x108]
push eax
mov ecx, 0x1018e168
call fcn.1004c420
cmp dword [esp + 0x11c], 0xf
lea ecx, [esp + 0x108]
mov eax, dword [0x10190804]
cmova ecx, dword [esp + 0x108]
push ecx
mov ecx, dword [eax]
call esi
lea ecx, [esp + 0x108]
mov dword [esp + 0x4c], eax
call fcn.1001b490
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
mov edi, ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x24], eax
cmp edi, eax
je 0x100cbb61
mov eax, dword [0x10190030]
mov dword [esp + 0x30], eax
mov eax, dword fs:[0x2c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x24]
nop dword [eax + eax]
mov edi, dword [edi]
mov dword [esp + 0x48], edi
test edi, edi
je 0x100cbb4e
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x28]
call eax
mov esi, dword [esp + 0x40]
imul eax, eax, 0xd20
add esi, eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x20], esi
cmp dword [esi + 0x68], edi
je 0x100cb560
push 0
mov ecx, esi
call fcn.1008e590
lea ecx, [edi + 8]
mov dword [esi + 0x68], edi
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
add eax, 0x286a9
shl eax, 5
add eax, dword [esp + 0x40]
mov dword [eax + 4], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x14], 0
mov dword [eax], 0
jmp 0x100cbb4a
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x10197b9c]
mov dword [esp + 0x14], ecx
cmp eax, dword [ecx + 4]
jle 0x100cb5a9
push 0x10197b9c
call fcn.100dfe87
add esp, 4
cmp dword [0x10197b9c], 0xffffffff
jne 0x100cb5a9
mov eax, dword [0x10197b8c]
push 0x10197b9c
mov dword [0x10197b74], eax
call fcn.100dfe36
add esp, 4
mov eax, dword [0x10197b74]
mov ecx, edi
mov eax, dword [eax + edi]
mov dword [esp + 0x2c], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [esp + 0x14]
mov edx, dword [0x10199be8]
movq xmm0, qword [eax]
movq qword [esp + 0x5c], xmm0
mov eax, dword [eax + 8]
mov dword [esp + 0x64], eax
cmp edx, dword [ecx + 4]
jle 0x100cb61a
push 0x10199be8
call fcn.100dfe87
mov edx, dword [0x10199be8]
add esp, 4
cmp edx, 0xffffffff
jne 0x100cb616
mov eax, dword [0x10197de0]
push 0x10199be8
mov dword [0x10199bc0], eax
call fcn.100dfe36
mov edx, dword [0x10199be8]
add esp, 4
mov ecx, dword [esp + 0x14]
mov eax, dword [0x10199bc0]
cmp dword [eax + edi], 4
je 0x100cb669
cmp edx, dword [ecx + 4]
jle 0x100cb65a
push 0x10199be8
call fcn.100dfe87
add esp, 4
cmp dword [0x10199be8], 0xffffffff
jne 0x100cb65a
mov eax, dword [0x10197de0]
push 0x10199be8
mov dword [0x10199bc0], eax
call fcn.100dfe36
add esp, 4
mov eax, dword [0x10199bc0]
cmp dword [eax + edi], 5
jne 0x100cb94b
mov ecx, edi
call fcn.10058e20
mov dword [esp + 0x18], eax
test eax, eax
je 0x100cbb47
mov edx, dword [esp + 0x14]
mov ecx, dword [0x10197b4c]
cmp ecx, dword [edx + 4]
jle 0x100cb6bf
push 0x10197b4c
call fcn.100dfe87
add esp, 4
cmp dword [0x10197b4c], 0xffffffff
jne 0x100cb6bb
mov eax, dword [0x10197b54]
push 0x10197b4c
mov dword [0x10197b50], eax
call fcn.100dfe36
add esp, 4
mov edx, dword [esp + 0x14]
mov eax, dword [0x10197b50]
mov ecx, dword [esp + 0x18]
cmp dword [eax + ecx], 0
jne 0x100cbb47
mov eax, dword [0x10197b5c]
cmp eax, dword [edx + 4]
jle 0x100cb714
push 0x10197b5c
call fcn.100dfe87
add esp, 4
cmp dword [0x10197b5c], 0xffffffff
jne 0x100cb70c
mov eax, dword [0x10197b58]
push 0x10197b5c
mov dword [0x10197b48], eax
call fcn.100dfe36
add esp, 4
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov eax, dword [0x10197b48]
cmp dword [eax + ecx], 0
jle 0x100cbb47
mov eax, dword [esp + 0x18]
cmp eax, dword [0x10199f5c]
je 0x100cbb4a
mov ecx, dword [0x10197e70]
cmp ecx, dword [edx + 4]
jle 0x100cb77a
push 0x10197e70
call fcn.100dfe87
mov ecx, dword [0x10197e70]
add esp, 4
cmp ecx, 0xffffffff
jne 0x100cb776
mov eax, dword [0x10197d70]
push 0x10197e70
mov dword [0x10197e5c], eax
call fcn.100dfe36
mov ecx, dword [0x10197e70]
add esp, 4
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov eax, dword [0x10197e5c]
mov eax, dword [eax + esi]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x38], eax
mov eax, dword [0x10199f5c]
mov dword [esp + 0x1c], eax
cmp ecx, dword [edx + 4]
jle 0x100cb7cc
push 0x10197e70
call fcn.100dfe87
add esp, 4
cmp dword [0x10197e70], 0xffffffff
jne 0x100cb7cc
mov eax, dword [0x10197d70]
push 0x10197e70
mov dword [0x10197e5c], eax
call fcn.100dfe36
add esp, 4
mov eax, dword [0x10197e5c]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x38]
cmp ecx, dword [edx + eax]
je 0x100cbb4a
mov ecx, dword [esp + 0x18]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x10197c54]
lea edx, [eax + 0x286a9]
mov eax, dword [esp + 0x14]
shl edx, 5
add edx, dword [esp + 0x40]
mov dword [esp + 0x18], edx
cmp ecx, dword [eax + 4]
jle 0x100cb844
push 0x10197c54
call fcn.100dfe87
add esp, 4
cmp dword [0x10197c54], 0xffffffff
jne 0x100cb840
mov eax, dword [0x10197c4c]
push 0x10197c54
mov dword [0x10197c50], eax
call fcn.100dfe36
add esp, 4
mov edx, dword [esp + 0x18]
mov eax, dword [0x10197c50]
movq xmm0, qword [eax + edi]
movq qword [edx + 0x14], xmm0
mov eax, dword [eax + edi + 8]
mov dword [edx + 0x1c], eax
movss xmm1, dword [edx + 0x14]
movss xmm2, dword [edx + 0x18]
subss xmm2, dword [edx + 0xc]
subss xmm1, dword [edx + 8]
movss xmm0, dword [edx + 0x1c]
subss xmm0, dword [edx + 0x10]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
movss xmm0, dword [0x1015c018]
comiss xmm0, xmm2
jbe 0x100cb941
mov ecx, dword [esp + 0x14]
mov eax, dword [0x10197c54]
cmp eax, dword [ecx + 4]
jle 0x100cb8e3
push 0x10197c54
call fcn.100dfe87
add esp, 4
cmp dword [0x10197c54], 0xffffffff
jne 0x100cb8db
mov eax, dword [0x10197c4c]
push 0x10197c54
mov dword [0x10197c50], eax
call fcn.100dfe36
add esp, 4
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov eax, dword [0x10197c50]
movq xmm0, qword [eax + edi]
movq qword [edx + 8], xmm0
mov eax, dword [eax + edi + 8]
mov dword [edx + 0x10], eax
mov eax, dword [0x10197b9c]
cmp eax, dword [ecx + 4]
jle 0x100cb937
push 0x10197b9c
call fcn.100dfe87
add esp, 4
cmp dword [0x10197b9c], 0xffffffff
jne 0x100cb933
mov eax, dword [0x10197b8c]
push 0x10197b9c
mov dword [0x10197b74], eax
call fcn.100dfe36
add esp, 4
mov edx, dword [esp + 0x18]
mov eax, dword [0x10197b74]
mov eax, dword [eax + edi]
mov dword [edx], eax
mov eax, dword [0x1019006c]
mov eax, dword [eax]
mov dword [edx + 4], eax
mov ecx, dword [esp + 0x14]
mov eax, dword [0x10197b4c]
cmp eax, dword [ecx + 4]
jle 0x100cb98d
push 0x10197b4c
call fcn.100dfe87
add esp, 4
cmp dword [0x10197b4c], 0xffffffff
jne 0x100cb989
mov eax, dword [0x10197b54]
push 0x10197b4c
mov dword [0x10197b50], eax
call fcn.100dfe36
add esp, 4
mov ecx, dword [esp + 0x14]
mov eax, dword [0x10197b50]
cmp dword [eax + edi], 0
jne 0x100cbb47
mov eax, dword [0x10197b5c]
cmp eax, dword [ecx + 4]
jle 0x100cb9da
push 0x10197b5c
call fcn.100dfe87
add esp, 4
cmp dword [0x10197b5c], 0xffffffff
jne 0x100cb9d6
mov eax, dword [0x10197b58]
push 0x10197b5c
mov dword [0x10197b48], eax
call fcn.100dfe36
add esp, 4
mov ecx, dword [esp + 0x14]
mov eax, dword [0x10197b48]
cmp dword [eax + edi], 0
jle 0x100cbb47
mov eax, dword [0x10199f5c]
mov dword [esp + 0x18], eax
mov eax, dword [0x10197b4c]
cmp eax, dword [ecx + 4]
jle 0x100cba30
push 0x10197b4c
call fcn.100dfe87
add esp, 4
cmp dword [0x10197b4c], 0xffffffff
jne 0x100cba2c
mov eax, dword [0x10197b54]
push 0x10197b4c
mov dword [0x10197b50], eax
call fcn.100dfe36
add esp, 4
mov ecx, dword [esp + 0x14]
mov eax, dword [0x10197b50]
mov edx, dword [esp + 0x18]
cmp dword [edx + eax], 0
jne 0x100cbb83
mov eax, dword [0x10197b5c]
cmp eax, dword [ecx + 4]
jle 0x100cba85
push 0x10197b5c
call fcn.100dfe87
add esp, 4
cmp dword [0x10197b5c], 0xffffffff
jne 0x100cba7d
mov eax, dword [0x10197b58]
push 0x10197b5c
mov dword [0x10197b48], eax
call fcn.100dfe36
add esp, 4
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov eax, dword [0x10197b48]
cmp dword [edx + eax], 0
jle 0x100cbb83
cmp edi, dword [0x10199f5c]
je 0x100cbb47
mov edx, dword [0x10197e70]
cmp edx, dword [ecx + 4]
jle 0x100cbae7
push 0x10197e70
call fcn.100dfe87
mov edx, dword [0x10197e70]
add esp, 4
cmp edx, 0xffffffff
jne 0x100cbae3
mov eax, dword [0x10197d70]
push 0x10197e70
mov dword [0x10197e5c], eax
call fcn.100dfe36
mov edx, dword [0x10197e70]
add esp, 4
mov ecx, dword [esp + 0x14]
mov eax, dword [0x10197e5c]
mov eax, dword [eax + edi]
mov dword [esp + 0x1c], eax
mov eax, dword [0x10199f5c]
mov dword [esp + 0x38], eax
cmp edx, dword [ecx + 4]
jle 0x100cbb31
push 0x10197e70
call fcn.100dfe87
add esp, 4
cmp dword [0x10197e70], 0xffffffff
jne 0x100cbb31
mov eax, dword [0x10197d70]
push 0x10197e70
mov dword [0x10197e5c], eax
call fcn.100dfe36
add esp, 4
mov eax, dword [0x10197e5c]
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [edx + eax]
jne 0x100cbc41
mov byte [esi], 0
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x50]
add edi, 0xc
mov dword [esp + 0x50], edi
cmp edi, eax
jne 0x100cb4d0
mov eax, dword [esp + 0x44]
push 0x10199d14
call eax
mov ecx, dword [esp + 0x2b0]
add esp, 4
pop edi
pop esi
xor ecx, esp
call fcn.100dfe28
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x10199f5c]
call fcn.10058e20
test eax, eax
je 0x100cbb96
cmp edi, eax
je 0x100cbb47
mov eax, dword [esp + 0x14]
mov ecx, dword [0x10197e70]
cmp ecx, dword [eax + 4]
jle 0x100cbbdd
push 0x10197e70
call fcn.100dfe87
mov ecx, dword [0x10197e70]
add esp, 4
cmp ecx, 0xffffffff
jne 0x100cbbdd
mov eax, dword [0x10197d70]
push 0x10197e70
mov dword [0x10197e5c], eax
call fcn.100dfe36
mov ecx, dword [0x10197e70]
add esp, 4
mov eax, dword [0x10197e5c]
mov eax, dword [eax + edi]
mov dword [esp + 0x1c], eax
mov eax, dword [0x10199f5c]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x14]
cmp ecx, dword [eax + 4]
jle 0x100cbc2b
push 0x10197e70
call fcn.100dfe87
add esp, 4
cmp dword [0x10197e70], 0xffffffff
jne 0x100cbc2b
mov eax, dword [0x10197d70]
push 0x10197e70
mov dword [0x10197e5c], eax
call fcn.100dfe36
add esp, 4
mov eax, dword [0x10197e5c]
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [edx + eax]
je 0x100cbb47
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x24]
call eax
test al, al
je 0x100cbe0f
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x1019006c]
add eax, 0x286a9
shl eax, 5
add eax, dword [esp + 0x40]
mov dword [esp + 0x18], eax
movss xmm0, dword [ecx]
mov ecx, dword [esp + 0x14]
subss xmm0, dword [eax + 4]
mov eax, dword [0x1019831c]
andps xmm0, xmmword [0x1015c4c0]
comiss xmm0, dword [0x1015be0c]
setbe byte [esp + 0x3f]
cmp eax, dword [ecx + 4]
jle 0x100cbcd3
push 0x1019831c
call fcn.100dfe87
add esp, 4
cmp dword [0x1019831c], 0xffffffff
jne 0x100cbccf
mov eax, dword [0x10197d04]
push 0x1019831c
mov dword [0x1019830c], eax
call fcn.100dfe36
add esp, 4
mov ecx, dword [esp + 0x14]
mov eax, dword [0x1019830c]
mov byte [eax + edi], 1
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
mov eax, dword [0x10197b9c]
mov dword [esp + 0x1c], edx
cmp eax, dword [ecx + 4]
jle 0x100cbd20
push 0x10197b9c
call fcn.100dfe87
add esp, 4
cmp dword [0x10197b9c], 0xffffffff
jne 0x100cbd20
mov eax, dword [0x10197b8c]
push 0x10197b9c
mov dword [0x10197b74], eax
call fcn.100dfe36
add esp, 4
mov eax, dword [0x10197b74]
mov ecx, dword [esp + 0x1c]
mov dword [eax + edi], ecx
mov ecx, edi
mov eax, dword [esp + 0x18]
add eax, 8
push eax
call dword [0x101901bc]
mov al, byte [esp + 0x3f]
mov ecx, edi
mov byte [esi + 1], al
mov eax, dword [edi]
mov eax, dword [eax + 0x28]
call eax
cmp byte [esi + 1], 0
movq xmm0, qword [eax]
movq qword [esi + 0xa4], xmm0
mov eax, dword [eax + 8]
mov dword [esi + 0xac], eax
mov eax, dword [0x1019006c]
movss xmm2, dword [eax + 0x14]
je 0x100cbd83
movss xmm1, dword [0x1015bcc8]
mulss xmm2, dword [0x1015bdb0]
jmp 0x100cbd8e
mulss xmm2, dword [0x1015bde0]
xorps xmm1, xmm1
movss xmm0, dword [esi + 0x10]
call fcn.1008cb20
xorps xmm1, xmm1
movss dword [esi + 0x10], xmm0
comiss xmm1, xmm0
jb 0x100cc100
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov byte [esi], 0
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x10197b9c]
cmp eax, dword [ecx + 4]
jle 0x100cbdf1
push 0x10197b9c
call fcn.100dfe87
add esp, 4
cmp dword [0x10197b9c], 0xffffffff
jne 0x100cbdf1
mov eax, dword [0x10197b8c]
push 0x10197b9c
mov dword [0x10197b74], eax
call fcn.100dfe36
add esp, 4
mov eax, dword [0x10197b74]
mov ecx, dword [esp + 0x2c]
mov dword [eax + edi], ecx
lea eax, [esp + 0x5c]
push eax
mov ecx, edi
call dword [0x101901bc]
jmp 0x100cbb4a
mov eax, dword [0x1019006c]
movss xmm1, dword [0x1015bd40]
movss xmm0, dword [esi + 0x10]
mov byte [esi + 1], 0
movss xmm2, dword [eax + 0x14]
mulss xmm2, dword [0x1015bdc0]
call fcn.1008cb20
mov ecx, dword [esp + 0x14]
movss dword [esi + 0x10], xmm0
mov eax, dword [0x10197b5c]
cmp eax, dword [ecx + 4]
jle 0x100cbe7a
push 0x10197b5c
call fcn.100dfe87
add esp, 4
cmp dword [0x10197b5c], 0xffffffff
jne 0x100cbe7a
mov eax, dword [0x10197b58]
push 0x10197b5c
mov dword [0x10197b48], eax
call fcn.100dfe36
add esp, 4
mov eax, dword [0x10197b48]
xorps xmm0, xmm0
push 0x80
push 0
movlpd qword [esp + 0x140], xmm0
mov eax, dword [eax + edi]
mov dword [esi + 0x18], eax
lea eax, [esp + 0x150]
push eax
movq qword [esp + 0x14c], xmm0
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [esp + 0x1c8], 0
xorps xmm0, xmm0
mov dword [esp + 0x1dc], 0
lea eax, [esp + 0x1f4]
mov dword [esp + 0x1f0], 0
movups xmmword [esp + 0x1cc], xmm0
push 0x80
push 0
push eax
movups xmmword [esp + 0x1ec], xmm0
call sub.VCRUNTIME140.dll_memset
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
add esp, 0xc
mov word [esp + 0x274], 0
xorps xmm0, xmm0
mov byte [esp + 0x288], 0
movups xmmword [esp + 0x278], xmm0
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x101900dc]
lea edi, [esp + 0x138]
push edi
push eax
mov edx, dword [ecx]
mov eax, dword [edx + 0x20]
call eax
or dword [esp + 0x28], 2
lea ecx, [esp + 0x148]
mov edi, dword [esp + 0x48]
lea edx, [ecx + 1]
xorps xmm0, xmm0
mov dword [esp + 0x90], 0
movaps xmmword [esp + 0x80], xmm0
mov dword [esp + 0x94], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cbf70
sub ecx, edx
lea eax, [esp + 0x148]
push ecx
push eax
lea ecx, [esp + 0x88]
call fcn.10048ae0
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0xa4]
call fcn.100477c0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x94]
and eax, 0xfffffffd
mov dword [esp + 0x28], eax
cmp ecx, 0xf
jbe 0x100cbfed
mov edx, dword [esp + 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cbfdf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cd141
push ecx
push edx
call fcn.100e023a
mov eax, dword [esp + 0x30]
add esp, 8
test al, 1
je 0x100cc004
and eax, 0xfffffffe
lea ecx, [esp + 0x120]
mov dword [esp + 0x28], eax
call fcn.1001b490
lea eax, [esi + 0x20]
lea ecx, [esp + 0xa0]
cmp eax, ecx
je 0x100cc051
mov ecx, eax
call fcn.1001b490
movups xmm0, xmmword [esp + 0xa0]
mov byte [esp + 0xa0], 0
movups xmmword [esi + 0x20], xmm0
movq xmm0, qword [esp + 0xb0]
movq qword [esi + 0x30], xmm0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0xf
lea ecx, [esp + 0xa0]
call fcn.1001b490
mov ecx, dword [esp + 0x14]
mov eax, dword [0x10197b9c]
cmp eax, dword [ecx + 4]
jle 0x100cc09b
push 0x10197b9c
call fcn.100dfe87
add esp, 4
cmp dword [0x10197b9c], 0xffffffff
jne 0x100cc09b
mov eax, dword [0x10197b8c]
push 0x10197b9c
mov dword [0x10197b74], eax
call fcn.100dfe36
add esp, 4
mov eax, dword [0x10197b74]
mov ecx, edi
mov eax, dword [eax + edi]
mov dword [esi + 0x1c], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x28]
call eax
lea ecx, [edi + 8]
movq xmm0, qword [eax]
movq qword [esi + 0xb0], xmm0
mov eax, dword [eax + 8]
mov dword [esi + 0xb8], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
movq xmm0, qword [esi + 0xb0]
lea ecx, [eax + 0x286a9]
shl ecx, 5
add ecx, dword [esp + 0x40]
movq qword [ecx + 8], xmm0
mov eax, dword [esi + 0xb8]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x1c]
mov dword [ecx], eax
mov eax, dword [0x1019006c]
mov eax, dword [eax]
mov dword [ecx + 4], eax
cmp dword [esp + 0x4c], 0
lea ecx, [esi + 0x18]
mov eax, ecx
mov dword [esp + 0x14], eax
je 0x100cc4e8
mov edx, dword [esp + 0x4c]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x14], eax
add edx, 0xffffffec
je 0x100cc4e8
mov eax, dword [edi + 8]
mov dword [esp + 0x14], ecx
lea ecx, [edi + 8]
mov eax, dword [eax + 0x24]
call eax
test al, al
je 0x100cc4e4
mov eax, dword [0x10199f5c]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
mov eax, dword [ecx + eax*4]
mov ecx, dword [0x10197e70]
mov dword [esp + 0x18], eax
cmp ecx, dword [eax + 4]
jle 0x100cc19b
push 0x10197e70
call fcn.100dfe87
mov ecx, dword [0x10197e70]
add esp, 4
cmp ecx, 0xffffffff
jne 0x100cc19b
mov eax, dword [0x10197d70]
push 0x10197e70
mov dword [0x10197e5c], eax
call fcn.100dfe36
mov ecx, dword [0x10197e70]
add esp, 4
mov edx, dword [esp + 0x1c]
mov eax, dword [0x10197e5c]
mov eax, dword [edx + eax]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
cmp ecx, dword [edx + 4]
jle 0x100cc1e8
push 0x10197e70
call fcn.100dfe87
add esp, 4
cmp dword [0x10197e70], 0xffffffff
jne 0x100cc1e4
mov eax, dword [0x10197d70]
push 0x10197e70
mov dword [0x10197e5c], eax
call fcn.100dfe36
add esp, 4
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea eax, [esi + 0x18]
mov dword [esp + 0x14], eax
mov eax, dword [0x10197e5c]
cmp dword [eax + edi], ecx
je 0x100cc4e4
mov eax, dword [0x1019831c]
cmp eax, dword [edx + 4]
jle 0x100cc23b
push 0x1019831c
call fcn.100dfe87
add esp, 4
cmp dword [0x1019831c], 0xffffffff
jne 0x100cc23b
mov eax, dword [0x10197d04]
push 0x1019831c
mov dword [0x1019830c], eax
call fcn.100dfe36
add esp, 4
lea eax, [esi + 0x18]
mov dword [esp + 0x14], eax
mov eax, dword [0x1019830c]
cmp byte [eax + edi], 0
je 0x100cc4e4
lea eax, [esi + 0x18]
mov dword [esp + 0x14], eax
lea ecx, [edi + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov edx, dword [esp + 0x4c]
lea ecx, [edi + 8]
imul eax, eax, 0x174
mov eax, dword [eax + edx + 0x188]
mov dword [esi + 0x18], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov edx, dword [esp + 0x4c]
xorps xmm0, xmm0
imul eax, eax, 0x174
add edx, 0x18c
movaps xmmword [esp + 0xe0], xmm0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
add edx, eax
mov ecx, edx
lea eax, [ecx + 1]
mov dword [esp + 0x1c], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cc2c0
sub ecx, dword [esp + 0x1c]
push ecx
push edx
lea ecx, [esp + 0xe8]
call fcn.10048ae0
push 0x80
xorps xmm0, xmm0
lea eax, [esp + 0x14c]
push 0
push eax
movlpd qword [esp + 0x144], xmm0
movq qword [esp + 0x14c], xmm0
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [esp + 0x1c8], 0
xorps xmm0, xmm0
mov dword [esp + 0x1dc], 0
lea eax, [esp + 0x1f4]
mov dword [esp + 0x1f0], 0
movups xmmword [esp + 0x1cc], xmm0
push 0x80
push 0
push eax
movups xmmword [esp + 0x1ec], xmm0
call sub.VCRUNTIME140.dll_memset
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
add esp, 0xc
mov word [esp + 0x274], 0
xorps xmm0, xmm0
mov byte [esp + 0x288], 0
movups xmmword [esp + 0x278], xmm0
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x101900dc]
lea esi, [esp + 0x138]
push esi
push eax
mov edx, dword [ecx]
mov eax, dword [edx + 0x20]
call eax
cmp dword [esp + 0xf0], 0
mov esi, dword [esp + 0x20]
je 0x100cc3b7
or dword [esp + 0x28], 4
lea eax, [esp + 0xe0]
push eax
lea ecx, [esp + 0x124]
call fcn.100477c0
jmp 0x100cc40c
or dword [esp + 0x28], 8
lea ecx, [esp + 0x148]
xorps xmm0, xmm0
mov dword [esp + 0x90], 0
movaps xmmword [esp + 0x80], xmm0
lea edx, [ecx + 1]
mov dword [esp + 0x94], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cc3e7
sub ecx, edx
lea eax, [esp + 0x148]
push ecx
push eax
lea ecx, [esp + 0x88]
call fcn.10048ae0
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0xc4]
call fcn.100477c0
mov eax, dword [esp + 0x28]
test al, 8
je 0x100cc468
mov ecx, dword [esp + 0x94]
and eax, 0xfffffff7
mov dword [esp + 0x28], eax
cmp ecx, 0xf
jbe 0x100cc468
mov edx, dword [esp + 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cc45a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100cd141
push ecx
push edx
call fcn.100e023a
mov eax, dword [esp + 0x30]
add esp, 8
test al, 4
je 0x100cc47f
and eax, 0xfffffffb
lea ecx, [esp + 0x120]
mov dword [esp + 0x28], eax
call fcn.1001b490
lea eax, [esi + 0x20]
lea ecx, [esp + 0xc0]
cmp eax, ecx
je 0x100cc4cc
mov ecx, eax
call fcn.1001b490
movups xmm0, xmmword [esp + 0xc0]
mov byte [esp + 0xc0], 0
movups xmmword [esi + 0x20], xmm0
movq xmm0, qword [esp + 0xd0]
movq qword [esi + 0x30], xmm0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0xf
lea ecx, [esp + 0xc0]
call fcn.1001b490
lea ecx, [esp + 0xe0]
call fcn.1001b490
mov eax, dword [esp + 0x14]
cmp dword [eax], 0
jne 0x100cc566
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x24]
call eax
test al, al
je 0x100cbb4a
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov byte [esi], 0
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x10197b9c]
cmp eax, dword [ecx + 4]
jle 0x100cc548
push 0x10197b9c
call fcn.100dfe87
add esp, 4
cmp dword [0x10197b9c], 0xffffffff
jne 0x100cc548
mov eax, dword [0x10197b8c]
push 0x10197b9c
mov dword [0x10197b74], eax
call fcn.100dfe36
add esp, 4
mov eax, dword [0x10197b74]
mov ecx, dword [esp + 0x2c]
mov dword [eax + edi], ecx
lea eax, [esp + 0x5c]
push eax
mov ecx, edi
call dword [0x101901bc]
jmp 0x100cbb4a
lea eax, [esp + 0x80]
mov byte [esi], 1
push eax
mov ecx, edi
call fcn.100ca730
add esp, 4
mov ecx, edi
movups xmm0, xmmword [eax]
mov eax, dword [eax + 0x10]
movups xmmword [esi + 0x6c], xmm0
mov dword [esi + 0x7c], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x28]
call eax
lea ecx, [edi + 8]
movq xmm0, qword [eax]
movq qword [esi + 0x98], xmm0
mov eax, dword [eax + 8]
mov dword [esi + 0xa0], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov dword [esi + 0x14], eax
lea edx, [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x38], 0x64
mov dword [esp + 0x1c], 0
mov ecx, dword [eax]
test ecx, ecx
cmovns edx, eax
cmp ecx, 0x64
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x38]
cmovle eax, edx
movd xmm0, dword [eax]
mov eax, dword [esp + 0x30]
cvtdq2ps xmm0, xmm0
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x18], edx
movss dword [esi + 0xc], xmm0
mov eax, dword [0x10198338]
cmp eax, dword [edx + 4]
jle 0x100cc635
push 0x10198338
call fcn.100dfe87
add esp, 4
cmp dword [0x10198338], 0xffffffff
jne 0x100cc631
mov eax, dword [0x10197dec]
push 0x10198338
mov dword [0x10198334], eax
call fcn.100dfe36
add esp, 4
mov edx, dword [esp + 0x18]
mov eax, dword [0x10198334]
mov al, byte [eax + edi]
mov byte [esi + 0x80], al
mov eax, dword [0x101980ac]
cmp eax, dword [edx + 4]
jle 0x100cc681
push 0x101980ac
call fcn.100dfe87
add esp, 4
cmp dword [0x101980ac], 0xffffffff
jne 0x100cc67d
mov eax, dword [0x10197dfc]
push 0x101980ac
mov dword [0x101980b4], eax
call fcn.100dfe36
add esp, 4
mov edx, dword [esp + 0x18]
mov eax, dword [0x101980b4]
mov eax, dword [eax + edi]
mov dword [esi + 0x8c], eax
cmp byte [esi + 1], 0
jne 0x100cbb4a
mov eax, dword [0x10197b98]
cmp eax, dword [edx + 4]
jle 0x100cc6d7
push 0x10197b98
call fcn.100dfe87
add esp, 4
cmp dword [0x10197b98], 0xffffffff
jne 0x100cc6d3
mov eax, dword [0x10197b88]
push 0x10197b98
mov dword [0x10197b68], eax
call fcn.100dfe36
add esp, 4
mov edx, dword [esp + 0x18]
mov eax, dword [0x10197b68]
mov al, byte [eax + edi]
mov byte [esi + 0x81], al
mov ecx, dword [edi + 0x3874]
mov dword [esp + 0x2c], ecx
test ecx, ecx
je 0x100cc7bf
movss xmm0, dword [ecx + 0xa4]
ucomiss xmm0, dword [0x1015bbec]
lahf
test ah, 0x44
jnp 0x100cc7bf
mov eax, dword [0x10197b9c]
cmp eax, dword [edx + 4]
jle 0x100cc74e
push 0x10197b9c
call fcn.100dfe87
add esp, 4
cmp dword [0x10197b9c], 0xffffffff
jne 0x100cc74a
mov eax, dword [0x10197b8c]
push 0x10197b9c
mov dword [0x10197b74], eax
call fcn.100dfe36
add esp, 4
mov ecx, dword [esp + 0x2c]
mov eax, dword [0x10197b74]
test byte [eax + edi], 1
je 0x100cc7bf
cmp byte [ecx + 0x108], 0
je 0x100cc7bf
cmp byte [ecx + 0x109], 0
jne 0x100cc7bf
movss xmm0, dword [ecx + 0xa4]
movss xmm1, dword [0x1015bd28]
comiss xmm1, xmm0
jbe 0x100cc7b5
comiss xmm0, dword [0x1015bce4]
jbe 0x100cc7b5
mov ecx, dword [0x1019006c]
mov eax, dword [esi + 0x94]
cmp eax, dword [ecx + 0x1c]
je 0x100cc7a9
inc dword [esi + 0x90]
mov eax, dword [ecx + 0x1c]
mov dword [esi + 0x94], eax
cmp dword [esi + 0x90], 0x10
setge al
jmp 0x100cc7c1
mov dword [esi + 0x90], 0
xor al, al
mov ecx, dword [esp + 0x34]
mov byte [esi + 0x83], al
mov eax, dword [esp + 0x30]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x14], eax
mov ecx, eax
mov eax, dword [0x10197ff8]
cmp eax, dword [ecx + 4]
jle 0x100cc816
push 0x10197ff8
call fcn.100dfe87
add esp, 4
cmp dword [0x10197ff8], 0xffffffff
jne 0x100cc812
mov eax, dword [0x10197d68]
push 0x10197ff8
mov dword [0x10197fdc], eax
call fcn.100dfe36
add esp, 4
mov ecx, dword [esp + 0x14]
mov eax, dword [0x10197fdc]
mov al, byte [eax + edi]
mov byte [esi + 0x88], al
mov eax, dword [0x10199bc8]
cmp eax, dword [ecx + 4]
jle 0x100cc862
push 0x10199bc8
call fcn.100dfe87
add esp, 4
cmp dword [0x10199bc8], 0xffffffff
jne 0x100cc85e
mov eax, dword [0x10197d4c]
push 0x10199bc8
mov dword [0x10199bf0], eax
call fcn.100dfe36
add esp, 4
mov ecx, dword [esp + 0x14]
mov eax, dword [0x10199bf0]
mov al, byte [eax + edi]
mov byte [esi + 0x87], al
mov eax, dword [0x10198320]
cmp eax, dword [ecx + 4]
jle 0x100cc8ae
push 0x10198320
call fcn.100dfe87
add esp, 4
cmp dword [0x10198320], 0xffffffff
jne 0x100cc8aa
mov eax, dword [0x10197db8]
push 0x10198320
mov dword [0x10198318], eax
call fcn.100dfe36
add esp, 4
mov ecx, dword [esp + 0x14]
mov eax, dword [0x10198318]
mov dword [esp + 0x1c], eax
mov eax, dword [0x10197e78]
cmp eax, dword [ecx + 4]
jle 0x100cc8f5
push 0x10197e78
call fcn.100dfe87
add esp, 4
cmp dword [0x10197e78], 0xffffffff
jne 0x100cc8f1
mov eax, dword [0x10197dcc]
push 0x10197e78
mov dword [0x10197e74], eax
call fcn.100dfe36
add esp, 4
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
movss xmm0, dword [eax + edi + 4]
mov eax, dword [0x10197e74]
subss xmm0, dword [eax + edi]
comiss xmm0, dword [0x1015c06c]
jb 0x100cc9bc
mov eax, dword [0x10198320]
cmp eax, dword [ecx + 4]
jle 0x100cc954
push 0x10198320
call fcn.100dfe87
add esp, 4
cmp dword [0x10198320], 0xffffffff
jne 0x100cc950
mov eax, dword [0x10197db8]
push 0x10198320
mov dword [0x10198318], eax
call fcn.100dfe36
add esp, 4
mov ecx, dword [esp + 0x14]
mov eax, dword [0x10198318]
mov dword [esp + 0x1c], eax
mov eax, dword [0x10197e78]
cmp eax, dword [ecx + 4]
jle 0x100cc997
push 0x10197e78
call fcn.100dfe87
add esp, 4
cmp dword [0x10197e78], 0xffffffff
jne 0x100cc997
mov eax, dword [0x10197dcc]
push 0x10197e78
mov dword [0x10197e74], eax
call fcn.100dfe36
add esp, 4
mov eax, dword [esp + 0x1c]
movss xmm1, dword [0x1015be2c]
movss xmm0, dword [eax + edi + 4]
mov eax, dword [0x10197e74]
subss xmm0, dword [eax + edi]
comiss xmm1, xmm0
jb 0x100cc9bc
mov al, 1
jmp 0x100cc9be
xor al, al
mov byte [esi + 0x89], al
mov eax, dword [0x101979c4]
push 0x10199d78
mov dword [esp + 0x20], eax
call dword [esp + 0x58]
add esp, 4
test eax, eax
jne 0x100cb40b
cmp dword [0x10199da4], 0x7fffffff
je 0x100cd147
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x28]
call eax
imul ecx, eax, 0x3504
add ecx, dword [esp + 0x1c]
mov dword [esp + 0x1c], ecx
je 0x100ccad8
cmp dword [ecx + 0x3500], 0
je 0x100ccad8
mov eax, dword [ecx + 0x3500]
lea edx, [ecx + 0x34f0]
mov esi, dword [ecx + 0x34fc]
add eax, esi
mov dword [esp + 0x14], eax
test edx, edx
je 0x100cca4b
mov edx, dword [edx]
mov dword [esp + 0x18], edx
test edx, edx
je 0x100cca53
mov eax, dword [edx]
mov dword [esp + 0x18], edx
jmp 0x100cca55
mov dword [esp + 0x18], 0
xor eax, eax
mov dword [esp + 0x2c], eax
cmp esi, dword [esp + 0x14]
je 0x100cca85
mov edi, eax
mov ecx, dword [edi + 8]
mov eax, dword [edi + 4]
dec ecx
and ecx, esi
mov ecx, dword [eax + ecx*4]
call fcn.100ae950
test al, al
jne 0x100cca7d
inc esi
cmp esi, dword [esp + 0x14]
jne 0x100cca61
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x3500]
add eax, dword [ecx + 0x34fc]
cmp esi, eax
je 0x100ccac9
mov eax, dword [esp + 0x18]
test eax, eax
je 0x100ccaa1
mov eax, dword [eax]
jmp 0x100ccaa3
xor eax, eax
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, esi
push 0x10199d78
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x20], eax
call dword [esp + 0x48]
mov esi, dword [esp + 0x24]
add esp, 4
mov eax, dword [esp + 0x1c]
jmp 0x100ccae6
push 0x10199d78
call dword [esp + 0x48]
mov esi, dword [esp + 0x24]
jmp 0x100ccae1
push 0x10199d78
call dword [esp + 0x48]
add esp, 4
xor eax, eax
test eax, eax
sete al
mov byte [esi + 0x84], al
mov eax, dword [edi + 0x2970]
mov dword [esp + 0x38], eax
cmp dword [eax + 0x68], 0
je 0x100ccb61
mov eax, dword [eax + 0x50]
lea ecx, [edi + 4]
mov dword [esp + 0x1c], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
mov ecx, dword [0x101900c4]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x78]
call edx
test eax, eax
je 0x100ccb59
push dword [esp + 0x1c]
mov esi, dword [0x1019074c]
mov edx, eax
mov ecx, edi
call esi
mov esi, dword [esp + 0x20]
cmp eax, 0x3c7
jne 0x100ccb59
mov eax, dword [esp + 0x38]
movss xmm0, dword [eax + 0x58]
ucomiss xmm0, dword [0x1015bbec]
lahf
test ah, 0x44
jnp 0x100ccb59
mov al, 1
jmp 0x100ccb5b
xor al, al
mov byte [esi + 0x85], al
mov eax, dword [0x101979a4]
mov eax, dword [eax + 0x656a8]
test eax, eax
je 0x100ccb78
cmp eax, edi
jne 0x100ccb78
mov al, 1
jmp 0x100ccb7a
xor al, al
mov ecx, edi
mov byte [esi + 0x82], al
call fcn.10059120
mov dword [esp + 0x18], eax
test eax, eax
je 0x100ccfeb
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
mov edx, dword [ecx + eax*4]
mov ecx, dword [0x10197ba4]
cmp ecx, dword [edx + 4]
jle 0x100ccbd9
push 0x10197ba4
call fcn.100dfe87
add esp, 4
cmp dword [0x10197ba4], 0xffffffff
jne 0x100ccbd9
mov eax, dword [0x10197bb0]
push 0x10197ba4
mov dword [0x10197bac], eax
call fcn.100dfe36
add esp, 4
mov eax, dword [0x10197bac]
mov ecx, dword [esp + 0x18]
movsx eax, word [eax + ecx]
cmp eax, 0x1f4
jg 0x100cce0c
je 0x100cce05
dec eax
cmp eax, 0x51
ja case.0x100cce16.510
movzx eax, byte [eax + 0x100cd230]
jmp dword [eax*4 + 0x100cd15c]
mov ecx, 0x1015bad4
jmp 0x100cce61
mov ecx, 0x1015bad8
jmp 0x100cce61
mov ecx, 0x1015bae4
jmp 0x100cce61
mov ecx, 0x1015bae8
jmp 0x100cce61
mov ecx, 0x1015badc
jmp 0x100cce61
mov ecx, 0x1015bae0
jmp 0x100cce61
mov ecx, 0x1015baf4
jmp 0x100cce61
mov ecx, 0x1015baf8
jmp 0x100cce61
mov ecx, 0x1015baec
jmp 0x100cce61
mov ecx, 0x1015baf0
jmp 0x100cce61
mov ecx, 0x1015bb04
jmp 0x100cce61
mov ecx, 0x1015bb08
jmp 0x100cce61
mov ecx, 0x1015bafc
jmp 0x100cce61
mov ecx, 0x1015bb00
jmp 0x100cce61
mov ecx, 0x1015bb14
jmp 0x100cce61
mov ecx, 0x1015bb18
jmp 0x100cce61
mov ecx, 0x1015bb0c
jmp 0x100cce61
mov ecx, 0x1015bb10
jmp 0x100cce61
mov ecx, 0x1015bb24
jmp 0x100cce61
mov ecx, 0x1015bb28
jmp 0x100cce61
mov ecx, 0x1015bb1c
jmp 0x100cce61
mov ecx, 0x1015bb20
jmp 0x100cce61
mov ecx, 0x1015bb34
jmp 0x100cce61
mov ecx, 0x1015bb38
jmp 0x100cce61
mov ecx, 0x1015bb2c
jmp 0x100cce61
mov ecx, 0x1015bb30
jmp 0x100cce61
mov ecx, 0x1015bb44
jmp 0x100cce61
mov ecx, 0x1015bb48
jmp 0x100cce61
mov ecx, 0x1015bb3c
jmp 0x100cce61
mov ecx, 0x1015bb40
jmp 0x100cce61
mov ecx, 0x1015bb54
jmp 0x100cce61
mov ecx, 0x1015bb58
jmp 0x100cce61
mov ecx, 0x1015bb4c
jmp 0x100cce61
mov ecx, 0x1015bb50
jmp 0x100cce61
mov ecx, 0x1015bb64
jmp 0x100cce61
mov ecx, 0x1015bb68
jmp 0x100cce61
mov ecx, 0x1015bb5c
jmp 0x100cce61
mov ecx, 0x1015bb60
jmp 0x100cce61
mov ecx, 0x1015bb74
jmp 0x100cce61
mov ecx, 0x1015bb78
jmp 0x100cce61
mov ecx, 0x1015bb6c
jmp 0x100cce61
mov ecx, 0x1015bb70
jmp 0x100cce61
mov ecx, 0x1015bb84
jmp 0x100cce61
mov ecx, 0x1015bb88
jmp 0x100cce61
mov ecx, 0x1015bb7c
jmp 0x100cce61
mov ecx, 0x1015bb80
jmp 0x100cce61
mov ecx, 0x1015bb94
jmp 0x100cce61
mov ecx, 0x1015bb98
jmp 0x100cce61
mov ecx, 0x1015bb8c
jmp 0x100cce61
mov ecx, 0x1015bb90
jmp 0x100cce61
mov ecx, 0x1015bba4
jmp 0x100cce61
mov ecx, 0x1015bba8
jmp 0x100cce61
mov ecx, 0x1015bb9c
jmp 0x100cce61
sub eax, 0x1f9
cmp eax, 0xb
ja case.0x100cce16.510
jmp dword [eax*4 + 0x100cd284]
mov ecx, 0x1015bba0
jmp 0x100cce61
mov ecx, 0x1015bbb4
jmp 0x100cce61
mov ecx, 0x1015bbb8
jmp 0x100cce61
mov ecx, 0x1015bbac
jmp 0x100cce61
mov ecx, 0x1015bbb0
jmp 0x100cce61
mov ecx, 0x1015bbc4
jmp 0x100cce61
mov ecx, 0x1015bbc8
jmp 0x100cce61
mov ecx, 0x1015bbbc
jmp 0x100cce61
mov ecx, 0x1015bbc0
jmp 0x100cce61
mov ecx, 0x1015bbcc
mov edx, ecx
lea eax, [edx + 1]
mov dword [esp + 0x1c], eax
nop word [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100cce70
sub edx, dword [esp + 0x1c]
push edx
push ecx
lea ecx, [esi + 0x38]
call fcn.10047e30
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x294]
push eax
call fcn.100c9550
lea ecx, [esi + 0x50]
mov dword [esp + 0x1c], eax
cmp ecx, eax
je 0x100ccecc
call fcn.1001b490
mov eax, dword [esp + 0x1c]
movups xmm0, xmmword [eax]
movups xmmword [esi + 0x50], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x60], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea ecx, [esp + 0x294]
call fcn.1001b490
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0x6f8]
call eax
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x100ccef6
mov ecx, dword [esp + 0x18]
xor al, al
jmp 0x100ccf69
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x10197ba4]
cmp eax, dword [ecx + 4]
jle 0x100ccf3b
push 0x10197ba4
call fcn.100dfe87
add esp, 4
cmp dword [0x10197ba4], 0xffffffff
jne 0x100ccf3b
mov eax, dword [0x10197bb0]
push 0x10197ba4
mov dword [0x10197bac], eax
call fcn.100dfe36
add esp, 4
mov eax, dword [0x10197bac]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
cmp word [eax + ecx], 0x1f
mov edx, dword [edx + 0xc8]
je 0x100ccf67
test edx, edx
je 0x100ccf67
cmp edx, 7
jl 0x100ccf63
cmp edx, 0x10
jle 0x100ccf67
xor al, al
jmp 0x100ccf69
mov al, 1
mov byte [esi + 2], al
mov eax, dword [ecx]
mov eax, dword [eax + 0x6f8]
call eax
mov dword [esp + 0x1c], eax
test eax, eax
je 0x100ccfeb
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
mov edx, dword [ecx + eax*4]
mov ecx, dword [0x10197fbc]
cmp ecx, dword [edx + 4]
jle 0x100ccfc4
push 0x10197fbc
call fcn.100dfe87
add esp, 4
cmp dword [0x10197fbc], 0xffffffff
jne 0x100ccfc4
mov eax, dword [0x10197db4]
push 0x10197fbc
mov dword [0x10197fac], eax
call fcn.100dfe36
add esp, 4
mov eax, dword [0x10197fac]
mov ecx, dword [esp + 0x18]
movd xmm0, dword [eax + ecx]
mov eax, dword [esp + 0x1c]
cvtdq2ps xmm0, xmm0
movss dword [esi + 4], xmm0
movd xmm0, dword [eax + 0x14]
cvtdq2ps xmm0, xmm0
movss dword [esi + 8], xmm0
mov eax, dword [edi + 4]
lea ecx, [edi + 4]
mov eax, dword [eax + 0x20]
call eax
mov ecx, dword [0x101900c4]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x78]
call edx
mov edx, eax
mov dword [esp + 0x48], edx
test edx, edx
je 0x100cbb4a
mov ecx, dword [edx + 0x9c]
xor eax, eax
mov edi, dword [edi + 0x2900]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x2c], eax
test ecx, ecx
jle 0x100cbb4a
mov edx, dword [esp + 0x40]
add edi, 0x1c
mov esi, dword [esp + 0x58]
add edx, 0x4c0
add esi, edx
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x48]
mov dword [esp + 0x18], esi
mov esi, eax
cmp eax, ecx
jg 0x100cd117
mov esi, dword [edx + 0xa0]
add esi, dword [esp + 0x20]
add esi, edx
je 0x100cd113
test dword [esi + 0xa0], 0x100
je 0x100cd113
cmp dword [esi + 4], 0xffffffff
je 0x100cd113
movss xmm0, dword [edi - 0x10]
mov eax, dword [esp + 0x18]
mov ecx, dword [0x10197960]
add eax, 0xfffffc00
movss dword [esp + 0x68], xmm0
movss xmm0, dword [edi]
push 1
push eax
movss dword [esp + 0x74], xmm0
lea eax, [esp + 0x70]
movss xmm0, dword [edi + 0x10]
push eax
movss dword [esp + 0x7c], xmm0
call fcn.100617c0
mov eax, dword [esi + 4]
mov ecx, dword [0x10197960]
push 1
push dword [esp + 0x1c]
lea eax, [eax + eax*2]
shl eax, 4
add eax, dword [esp + 0x24]
movss xmm0, dword [eax + 0xc]
movss dword [esp + 0x7c], xmm0
movss xmm0, dword [eax + 0x1c]
movss dword [esp + 0x80], xmm0
movss xmm0, dword [eax + 0x2c]
lea eax, [esp + 0x7c]
push eax
movss dword [esp + 0x88], xmm0
call fcn.100617c0
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0x20]
add dword [esp + 0x18], 8
inc eax
mov ecx, dword [edx + 0x9c]
add esi, 0xd8
add edi, 0x30
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], esi
cmp eax, ecx
jl 0x100cd059
jmp 0x100cbb4a
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push 6
mov dword [0x10199da4], 0x7ffffffe
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop dword [eax]
bswap esp
or al, 16
sbb esp, ecx
or al, 16
and ecx, esp
or al, 16
sub eax, 0x37100ccc
int3