Function at 0x10058710
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xffffffe0
sub esp, 0xc00
lea eax, [edx + 8]
mov ebx, dword [ebp + 8]
mov dword [esp + 0x354], ecx
mov edi, edx
lea ecx, [esp + 0xaf8]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x1b0], eax
lea eax, [edx + 0x10]
mov dword [esp + 0x4c], eax
lea eax, [edx + 0x30]
mov dword [esp + 0x6c], eax
lea eax, [edx + 0xb0]
mov dword [esp + 0x5b4], eax
lea eax, [edx + 0xf0]
mov dword [esp + 0x5b0], eax
lea eax, [edx + 0x110]
mov dword [esp + 0x77c], eax
lea eax, [edx + 0x38]
mov dword [esp + 0x5ac], eax
lea eax, [edx + 0x18]
mov dword [esp + 0x358], eax
lea eax, [edx + 0x20]
mov dword [esp + 0x184], eax
lea eax, [edx + 0x28]
mov dword [esp + 0x5a8], eax
lea eax, [edx + 0x58]
mov dword [esp + 0x778], eax
lea eax, [edx + 0xd8]
mov dword [esp + 0x774], eax
lea eax, [edx + 0x24]
mov dword [esp + 0x768], eax
lea eax, [edx + 0xc8]
mov dword [esp + 0x75c], eax
lea eax, [edx + 0xb8]
mov dword [esp + 0x764], eax
lea eax, [edx + 0x130]
mov dword [esp + 0x35c], eax
lea eax, [edx + 0xa0]
mov dword [esp + 0x770], eax
lea eax, [edx + 0xe1]
mov dword [esp + 0x76c], eax
mov eax, dword [edx]
test eax, eax
jne 0x1005d1d7
jmp 0x100588b0
mov eax, dword [esp + 0x190]
movq xmm0, qword [esp + 0x188]
mov edx, dword [esp + 0x70]
mov dword [esp + 0xa0], eax
movq qword [esp + 0x98], xmm0
mov ecx, dword [esp + 0x100]
cmp edx, ecx
ja 0x1005b3f7
jmp 0x1005eb29
mov ecx, 0x104d4cf0
call fcn.10109c60
test al, al
jne 0x1005c5f2
jmp 0x1005c6d9
mov ecx, 0x104d4e10
call fcn.10109c60
test al, al
jne 0x1005a712
jmp 0x1005a7f9
mov ecx, 0x104d4cfc
call fcn.10109c60
test al, al
jne 0x1005c16b
jmp 0x1005c24e
mov ecx, 0x104d5218
call fcn.10109c60
test al, al
jne 0x1005b513
jmp 0x1005b616
mov eax, dword [edi + 0x128]
xor eax, 3
or eax, dword [edi + 0x12c]
je 0x1005e920
mov eax, dword [esp + 0x1b0]
mov eax, dword [eax]
test eax, eax
jne 0x10059b8b
mov edx, dword [esp + 0x6c]
mov eax, dword [edx]
xor eax, 4
or eax, dword [edx + 4]
je 0x1005e920
movups xmm0, xmmword [edi + 0x10]
movdqu xmm1, xmmword [edi + 0x30]
movups xmm3, xmmword [edi + 0x20]
mov eax, dword [esp + 0x77c]
movaps xmmword [esp + 0x10], xmm0
movups xmm0, xmmword [edi + 0x40]
movd edx, xmm1
xor edx, 3
movaps xmmword [esp + 0x30], xmm0
movaps xmm0, xmmword [0x103e6600]
movups xmmword [edi + 0x30], xmm0
movups xmm0, xmmword [edi + 0xa0]
movsd xmm2, qword [eax + 8]
movups xmm5, xmmword [edi + 0x60]
movups xmm4, xmmword [edi + 0x50]
movups xmm7, xmmword [edi + 0x80]
movups xmm6, xmmword [edi + 0x70]
movaps xmmword [esp + 0x80], xmm0
movups xmm0, xmmword [edi + 0x90]
movaps xmmword [esp + 0x50], xmm0
movups xmm0, xmmword [edi + 0xc0]
movaps xmmword [esp + 0x110], xmm0
movups xmm0, xmmword [edi + 0xb0]
movaps xmmword [esp + 0xe0], xmm0
movups xmm0, xmmword [edi + 0xe0]
movaps xmmword [esp + 0xf0], xmm0
movups xmm0, xmmword [edi + 0xd0]
movaps xmmword [esp + 0xd0], xmm0
movups xmm0, xmmword [edi + 0x100]
movaps xmmword [esp + 0xc0], xmm0
movups xmm0, xmmword [edi + 0xf0]
movaps xmmword [esp + 0x70], xmm0
movsd xmm0, qword [eax]
movsd qword [esp + 0x468], xmm2
pshufd xmm2, xmm1, 0xe5
movd eax, xmm2
or edx, eax
movsd qword [esp + 0x460], xmm0
je 0x1005eab3
movups xmmword [esp + 0x790], xmm3
movdqa xmm3, xmmword [esp + 0x30]
movdqu xmmword [esp + 0x210], xmm1
movaps xmm2, xmmword [esp + 0x80]
movaps xmm1, xmmword [esp + 0x50]
movaps xmm0, xmmword [esp + 0x10]
lea esi, [esp + 0x780]
lea eax, [esp + 0x2f0]
mov edx, esi
movdqu xmmword [esp + 0x220], xmm3
movups xmmword [esp + 0x240], xmm5
movups xmmword [esp + 0x230], xmm4
movups xmmword [esp + 0x260], xmm7
movups xmmword [esp + 0x250], xmm6
movups xmmword [esp + 0x280], xmm2
movups xmmword [esp + 0x270], xmm1
movaps xmm2, xmmword [esp + 0x110]
movaps xmm1, xmmword [esp + 0xe0]
movups xmmword [esp + 0x780], xmm0
movups xmmword [esp + 0x2a0], xmm2
movups xmmword [esp + 0x290], xmm1
movaps xmm2, xmmword [esp + 0xf0]
movaps xmm1, xmmword [esp + 0xd0]
movups xmmword [esp + 0x2c0], xmm2
movups xmmword [esp + 0x2b0], xmm1
movaps xmm2, xmmword [esp + 0xc0]
movaps xmm1, xmmword [esp + 0x70]
movups xmmword [esp + 0x2e0], xmm2
movups xmmword [esp + 0x2d0], xmm1
movsd xmm2, qword [esp + 0x468]
movsd xmm1, qword [esp + 0x460]
movsd qword [esp + 0x368], xmm2
movsd qword [eax + 8], xmm2
movsd qword [esp + 0x360], xmm1
movsd qword [eax], xmm1
push ebx
call fcn.10066a00
add esp, 4
mov eax, dword [esp + 0xaf8]
cmp eax, 2
jne 0x10058c60
lea esi, [esp + 0x210]
lea ecx, [esp + 0x360]
mov edx, esi
push ebx
call fcn.100695b0
add esp, 4
mov eax, dword [esp + 0x360]
cmp eax, 2
je 0x1005da2b
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x364]
movzx ecx, word [esp + 0x379]
mov edx, dword [esp + 0x37c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x368]
mov dword [esp + 0xac], edx
mov edx, dword [esp + 0x384]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x36c]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x38c]
mov dword [esp + 0x80], eax
movzx eax, byte [esp + 0x37b]
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0x394]
shl eax, 0x10
mov dword [esp + 0x130], edx
mov edx, dword [esp + 0x39c]
or ecx, eax
mov dword [esp + 0xf0], ecx
lea ecx, [esp + 0x784]
movsd xmm0, qword [ecx + 0x10]
mov eax, dword [ecx + 0x18]
movsd xmm1, qword [ecx + 8]
mov dword [esp + 0x120], edx
movsd qword [esp + 0x5c8], xmm0
movsd xmm0, qword [ecx]
mov ecx, dword [esp + 0x380]
mov dword [esp + 0x5d0], eax
mov eax, dword [esp + 0x370]
movsd qword [esp + 0x5c0], xmm1
mov dword [esp + 0x110], ecx
mov ecx, dword [esp + 0x388]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x374]
movsd qword [esp + 0x5b8], xmm0
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0x390]
mov dword [esp + 0xe0], eax
movzx eax, byte [esp + 0x378]
mov dword [esp + 0x100], ecx
mov ecx, dword [esp + 0x398]
mov dword [esp + 0xd0], eax
mov dword [esp + 0x200], ecx
mov ecx, dword [esp + 0x780]
mov dword [esp + 0x30], ecx
mov ecx, esi
call fcn.10065840
mov al, 1
lea esi, [esp + 0x5b8]
mov dword [esp + 0xc], eax
jmp 0x10058d75
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xafc]
movzx ecx, word [esp + 0xb0d]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb00]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xb04]
mov dword [esp + 0x48], eax
movzx eax, byte [esp + 0xb0f]
shl eax, 0x10
or ecx, eax
mov eax, dword [esp + 0xb08]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xe0], eax
movzx eax, byte [esp + 0xb0c]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0xb10]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xb14]
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0xb18]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0xb1c]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xb20]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb24]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0xb28]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0xb2c]
mov dword [esp + 0x200], eax
mov eax, dword [esp + 0xb30]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0xb34]
mov dword [esp + 0x30], eax
push 0xf0
lea eax, [esp + 0x214]
push eax
mov ebx, esi
lea esi, [esp + 0x5c0]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, ebx
call fcn.100650d0
mov dword [esp + 0xc], 0
mov ebx, dword [esp + 0x6c]
push 0xf0
push esi
lea eax, [esp + 0x898]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov esi, dword [ebx]
mov ebx, dword [ebx + 4]
mov eax, esi
xor eax, 4
or eax, ebx
je 0x1005e9ef
movsd xmm1, qword [esp + 0x5c0]
mov eax, dword [edi + 0x120]
mov edi, dword [edi + 0x124]
movsd xmm0, qword [esp + 0x5b8]
movsd xmm2, qword [esp + 0x5c8]
movsd qword [esp + 0x218], xmm1
movsd xmm1, qword [esp + 0x5d0]
mov dword [esp + 0x50], eax
movsd qword [esp + 0x210], xmm0
movsd qword [esp + 0x220], xmm2
movsd qword [esp + 0x228], xmm1
push 0xf0
lea eax, [esp + 0x984]
push eax
lea eax, [esp + 0x468]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
xor esi, 3
or esi, ebx
mov esi, dword [esp + 0x6c]
je 0x10058e31
mov ecx, dword [esp + 0x4c]
call fcn.100650d0
mov ecx, esi
call fcn.10065840
movsd xmm0, qword [esp + 0x228]
mov eax, dword [esp + 0x4c]
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [esp + 0x220]
movsd qword [eax + 0x10], xmm0
movsd xmm0, qword [esp + 0x210]
movsd xmm1, qword [esp + 0x218]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov dword [esi + 4], 0
mov dword [esi], 4
push 0xf0
lea ebx, [esp + 0x464]
push ebx
push dword [esp + 0x5b4]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0xf0
lea eax, [esp + 0x894]
push eax
lea eax, [esp + 0x788]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x50]
cmp byte [esp + 0xc], 0
mov dword [esp + 0x580], eax
mov dword [esp + 0x584], edi
je 0x10058fc0
cmp dword [esp + 0x340], 1
jne 0x10059170
mov eax, dword [esp + 0x30]
movsd xmm0, qword [esp + 0x790]
lea ecx, [esp + 0x984]
mov edx, dword [esp + 0x798]
movsd xmm1, qword [esp + 0x788]
mov dword [esp + 0x980], eax
movsd qword [ecx + 0x10], xmm0
movsd xmm0, qword [esp + 0x780]
mov dword [ecx + 0x18], edx
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
mov ecx, dword [esp + 0x10]
cmp byte [ecx + 8], 4
jne 0x100592fb
mov eax, dword [esp + 0x984]
movzx ecx, word [esp + 0x98d]
xor ebx, ebx
mov dword [esp + 0x80], 0
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x988]
mov dword [esp + 0x340], eax
movzx eax, byte [esp + 0x98c]
mov dword [esp + 0xd0], eax
movzx eax, byte [esp + 0x98f]
shl eax, 0x10
or ecx, eax
mov eax, dword [esp + 0x990]
mov dword [esp + 0xf0], ecx
mov ecx, dword [esp + 0x99c]
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x994]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x998]
mov dword [esp + 0x70], eax
mov al, 1
jmp 0x10059327
cmp dword [esp + 0x10], 1
jne 0x10059230
push 0xf0
lea eax, [esp + 0x784]
push eax
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [esp + 8]
cmp byte [ecx + 8], 4
jne 0x10059416
mov eax, dword [esp + 0x460]
movzx ecx, word [esp + 0x469]
lea edx, [esp + 0x980]
mov dword [esp + 0x80], 0
lea esi, [esp + 0x490]
xor ebx, ebx
mov edi, edx
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x464]
mov dword [esp + 0x340], eax
movzx eax, byte [esp + 0x468]
mov dword [esp + 0xd0], eax
movzx eax, byte [esp + 0x46b]
shl eax, 0x10
or ecx, eax
mov eax, dword [esp + 0x46c]
mov dword [esp + 0xf0], ecx
mov ecx, 0x20
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x470]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x474]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x478]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x47c]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x480]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x484]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x488]
mov dword [esp + 0x200], eax
mov eax, dword [esp + 0x48c]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x464]
rep movsd dword es:[edi], dword [esi]
movsd xmm1, qword [eax + 0xdc]
movsd xmm2, qword [eax + 0xd4]
movsd xmm0, qword [eax + 0xe4]
movsd qword [esp + 0x5e8], xmm1
movsd xmm1, qword [eax + 0xcc]
movsd qword [esp + 0x5e0], xmm2
movsd xmm2, qword [eax + 0xc4]
movsd qword [esp + 0x5f0], xmm0
movsd qword [esp + 0x5d8], xmm1
movsd xmm1, qword [eax + 0xbc]
movsd qword [esp + 0x5d0], xmm2
movsd xmm2, qword [eax + 0xac]
movsd qword [esp + 0x5c8], xmm1
movsd xmm1, qword [eax + 0xb4]
mov al, 1
movsd qword [esp + 0x5b8], xmm2
movsd qword [esp + 0x5c0], xmm1
jmp 0x10059449
mov eax, dword [esp + 0x30]
movsd xmm0, qword [esp + 0x790]
lea ecx, [esp + 0x464]
mov edx, dword [esp + 0x798]
movsd xmm1, qword [esp + 0x788]
mov dword [esp + 0x460], eax
movsd qword [ecx + 0x10], xmm0
movsd xmm0, qword [esp + 0x780]
mov dword [ecx + 0x18], edx
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
mov ecx, ebx
call fcn.100650d0
mov edx, dword [esp + 0x120]
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x110]
mov dword [esp + 0xc], 0
mov dword [esp + 0x30], edx
mov edx, dword [esp + 8]
mov dword [esp + 0x120], ecx
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x28], eax
mov dword [esp + 8], 0
mov dword [esp + 0x80], edx
mov dword [esp + 0x110], ecx
mov edx, dword [esp + 0xe0]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x340], edx
mov dword [esp + 0xe0], ecx
jmp 0x1005980e
push 0xf0
lea eax, [esp + 0x784]
push eax
lea esi, [esp + 0xb00]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xaf8]
or eax, dword [esp + 0xafc]
je 0x1005952c
push 0xf0
push esi
lea esi, [esp + 0x368]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [esp + 0x50], 0
je 0x10059562
mov eax, ebx
mov ebx, dword [edi + 8]
push 0xf0
push esi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
call sub.KERNEL32.dll_GetProcessHeap
push 0xf0
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1005ea51
mov esi, eax
lea eax, [ebx + 7]
neg ebx
and ebx, eax
mov eax, dword [esp + 0x50]
add eax, ebx
mov ebx, eax
push 0xf0
lea eax, [esp + 0x464]
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x1041a0dc
push esi
push ebx
call dword [edi + 0xc]
add esp, 0xc
mov edi, dword [esp + 0xf0]
mov ebx, dword [esp + 0x70]
mov edx, dword [esp + 0xb0]
jmp 0x100598ae
mov bl, 1
mov dword [esp + 0xe0], 1
mov dword [esp + 0xd0], 0
mov dword [esp + 0x110], ecx
xor eax, eax
mov dword [esp + 0x80], 1
mov ecx, 0x20
lea edi, [esp + 0x210]
lea esi, [esp + 0x460]
test al, al
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0x980]
movsd xmm1, qword [esp + 0x468]
movsd xmm2, qword [esp + 0x470]
movsd xmm0, qword [esp + 0x460]
movsd qword [esp + 0x368], xmm1
movsd xmm1, qword [esp + 0x478]
movsd qword [esp + 0x370], xmm2
movsd xmm2, qword [esp + 0x480]
movsd qword [esp + 0x360], xmm0
movsd qword [esp + 0x378], xmm1
movsd xmm1, qword [esp + 0x488]
movsd qword [esp + 0x380], xmm2
movsd xmm2, qword [esp + 0x490]
movsd qword [esp + 0x388], xmm1
movsd xmm1, qword [esp + 0x498]
movsd qword [esp + 0x390], xmm2
movsd qword [esp + 0x398], xmm1
je 0x1005978d
mov esi, dword [esp + 0x10]
mov eax, dword [esi]
test eax, eax
je 0x1005977f
mov ecx, dword [esi + 4]
push eax
call dword [ecx]
add esp, 4
mov eax, dword [esi + 4]
cmp dword [eax + 4], 0
je 0x1005977f
mov esi, dword [esi]
cmp dword [eax + 8], 9
jae 0x1005976b
call sub.KERNEL32.dll_GetProcessHeap
push esi
jmp 0x10059773
mov bl, 1
mov dword [esp + 0xe0], 1
mov dword [esp + 0xd0], 0
mov dword [esp + 0x110], ecx
xor eax, eax
mov dword [esp + 0x80], 1
lea edx, [esp + 0x980]
mov ecx, 0x20
lea edi, [esp + 0x210]
mov esi, edx
test al, al
rep movsd dword es:[edi], dword [esi]
movsd xmm1, qword [esp + 0x5e8]
movsd xmm2, qword [esp + 0x5e0]
movsd xmm0, qword [esp + 0x5f0]
movsd qword [esp + 0x390], xmm1
movsd xmm1, qword [esp + 0x5d8]
movsd qword [esp + 0x388], xmm2
movsd xmm2, qword [esp + 0x5d0]
movsd qword [esp + 0x398], xmm0
movsd qword [esp + 0x380], xmm1
movsd xmm1, qword [esp + 0x5c8]
movsd qword [esp + 0x378], xmm2
movsd xmm2, qword [esp + 0x5b8]
movsd qword [esp + 0x370], xmm1
movsd xmm1, qword [esp + 0x5c0]
movsd qword [esp + 0x360], xmm2
movsd qword [esp + 0x368], xmm1
je 0x100597db
mov edi, dword [esp + 8]
mov eax, dword [edi]
test eax, eax
je 0x100597cd
mov ecx, dword [edi + 4]
push eax
call dword [ecx]
add esp, 4
mov eax, dword [edi + 4]
cmp dword [eax + 4], 0
je 0x100597cd
mov esi, dword [edi]
cmp dword [eax + 8], 9
jae 0x100597bd
call sub.KERNEL32.dll_GetProcessHeap
push esi
jmp 0x100597c5
mov eax, dword [esp + 0xf0]
movzx ecx, byte [esp + 0xd0]
shl eax, 8
or ecx, eax
mov dword [esp + 0x340], ecx
mov ecx, esi
call fcn.10065840
mov esi, dword [esp + 0x70]
mov edx, dword [esp + 0xb0]
mov ecx, dword [esp + 0x50]
jmp 0x100598cb
push 0xf0
push esi
lea edi, [esp + 0x5c0]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
call fcn.101076e0
cmp eax, 3
je 0x1005e9bb
mov esi, eax
mov dword [esp + 0x188], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x18c], edx
push 0xf0
push edi
lea edi, [esp + 0x218]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp esi, 1
je 0x1005969e
cmp esi, 2
jne 0x1005e9a7
push 0xf0
lea eax, [esp + 0x214]
push eax
lea eax, [esp + 0x46c]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0xf4
push ebx
lea edi, [esp + 0x988]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
call sub.KERNEL32.dll_GetProcessHeap
push 0x120
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1005ea5b
mov dword [eax], 0x8c
mov esi, eax
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x14], 0x1041a170
mov dword [eax + 0x18], 0
add eax, 0x1c
push 0xf4
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edi, dword [esp + 0x10]
mov edx, esi
mov dword [esi + 0x110], 0
mov dword [esi + 0x11c], 0
mov ecx, edi
add ecx, 8
push 0
call fcn.10108330
mov eax, edi
add esp, 4
mov edi, dword [esp + 0xf0]
mov ebx, dword [esp + 0x70]
mov edx, dword [esp + 0xb0]
lock dec dword [eax]
je 0x1005987a
jmp 0x1005988d
push 0xf0
push edi
lea eax, [esp + 0x46c]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0xf4
push ebx
lea edi, [esp + 0x988]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
call sub.KERNEL32.dll_GetProcessHeap
push 0x120
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1005ea5b
mov dword [eax], 0x8c
mov esi, eax
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x14], 0x1041a1b4
mov dword [eax + 0x18], 0
add eax, 0x1c
push 0xf4
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esp + 0x18c]
mov dword [esi + 0x110], 0
mov dword [esi + 0x11c], 0
mov dword [esp + 0x460], eax
call fcn.100ff160
test eax, eax
je 0x1005e9cf
mov eax, dword [eax]
mov ecx, ebx
mov edx, esi
test eax, eax
je 0x10059828
push eax
jmp 0x1005982a
call sub.KERNEL32.dll_GetProcessHeap
push dword [esi - 4]
push 0
push eax
call sub.KERNEL32.dll_HeapFree
mov esi, dword [esp + 0x10]
call sub.KERNEL32.dll_GetProcessHeap
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapFree
test bl, bl
je 0x10059798
mov ecx, edi
call fcn.100650d0
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 1
mov dword [esp + 8], 1
mov dword [esp + 0x120], ecx
jmp 0x1005980e
call sub.KERNEL32.dll_GetProcessHeap
push dword [esi - 4]
push 0
push eax
call sub.KERNEL32.dll_HeapFree
call sub.KERNEL32.dll_GetProcessHeap
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapFree
test bl, bl
je 0x100597eb
lea ecx, [esp + 0x460]
call fcn.10065840
mov dword [esp + 0x10], 0
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esp + 0x120], 0
mov ecx, dword [esp + 0x50]
xor ebx, ebx
lea esi, [esp + 0x210]
test ecx, ecx
jne 0x10059965
jmp 0x1005997d
push 0
call fcn.10107c70
add esp, 4
mov eax, dword [esp + 0x188]
mov edi, dword [esp + 0xf0]
mov ebx, dword [esp + 0x70]
mov edx, dword [esp + 0xb0]
test eax, eax
je 0x1005988d
cmp eax, 1
jne 0x1005986e
mov eax, dword [esp + 0x18c]
lock dec dword [eax]
jne 0x1005988d
lea ecx, [esp + 0x18c]
call fcn.10069c70
jmp 0x10059886
mov eax, dword [esp + 0x18c]
lock dec dword [eax]
jne 0x1005988d
lea ecx, [esp + 0x18c]
call fcn.10069d40
mov edx, dword [esp + 0xb0]
mov eax, 0x8c
mov ecx, 0x44
lock cmpxchg dword [esi], ecx
je 0x100598ae
mov eax, dword [esi + 0x14]
push esi
call dword [eax + 0xc]
mov edx, dword [esp + 0xb4]
add esp, 4
movzx eax, byte [esp + 0xd0]
mov ecx, dword [esp + 0x580]
shl edi, 8
mov esi, ebx
or eax, edi
mov dword [esp + 0x340], eax
mov ebx, dword [esp + 0xac]
mov dword [esp + 0x28], esi
lea esi, [esp + 0x210]
mov dword [esp + 0xc], 0
mov eax, ebx
shr eax, 8
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0xc0], edx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x200]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x200], eax
mov eax, dword [esp + 8]
mov dword [esp + 8], 0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x120], eax
mov eax, ebx
xor ebx, ebx
mov dword [esp + 0xd0], eax
test ecx, ecx
je 0x1005997d
lock dec dword [ecx]
jne 0x1005997d
lea ecx, [esp + 0x580]
call fcn.10116bf0
lea esi, [esp + 0x210]
mov ecx, 0x20
lea edi, [esp + 0x6c8]
rep movsd dword es:[edi], dword [esi]
movsd xmm1, qword [esp + 0x390]
movsd xmm2, qword [esp + 0x388]
movsd xmm0, qword [esp + 0x398]
mov ecx, dword [esp + 0x1b0]
movsd qword [esp + 0x170], xmm1
movsd xmm1, qword [esp + 0x380]
movsd qword [esp + 0x168], xmm2
movsd xmm2, qword [esp + 0x378]
movsd qword [esp + 0x178], xmm0
movsd qword [esp + 0x160], xmm1
movsd xmm1, qword [esp + 0x370]
movsd qword [esp + 0x158], xmm2
movsd xmm2, qword [esp + 0x360]
movsd qword [esp + 0x150], xmm1
movsd xmm1, qword [esp + 0x368]
movsd qword [esp + 0x140], xmm2
movsd qword [esp + 0x148], xmm1
call fcn.1005ef20
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xf0]
mov edi, dword [esp + 0x778]
lea esi, [esp + 0x6c8]
mov dword [edx + 0xc], 0
mov dword [edx + 8], 1
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x10]
mov dword [edx + 0x14], ebx
mov ebx, dword [ebp + 8]
mov dword [edx + 0x1c], eax
mov eax, dword [esp + 0xc]
mov dword [edx + 0x18], eax
mov eax, dword [esp + 0x120]
mov dword [edx + 0x24], eax
mov eax, dword [esp + 0x80]
mov dword [edx + 0x20], eax
mov eax, dword [esp + 0xe0]
mov dword [edx + 0x28], eax
mov eax, dword [esp + 0x340]
mov dword [edx + 0x2c], eax
mov eax, dword [esp + 0xd0]
mov byte [edx + 0x30], al
mov eax, ecx
mov word [edx + 0x31], cx
mov ecx, 0x20
shr eax, 0x10
mov byte [edx + 0x33], al
mov eax, dword [esp + 0x110]
mov dword [edx + 0x34], eax
mov eax, dword [esp + 0x28]
mov dword [edx + 0x38], eax
mov eax, dword [esp + 0x70]
mov dword [edx + 0x3c], eax
mov eax, dword [esp + 0xc0]
mov dword [edx + 0x40], eax
mov eax, dword [esp + 0xb0]
mov dword [edx + 0x44], eax
mov eax, dword [esp + 0x100]
mov dword [edx + 0x48], eax
mov eax, dword [esp + 0x130]
mov dword [edx + 0x4c], eax
mov eax, dword [esp + 0x200]
mov dword [edx + 0x50], eax
mov eax, dword [esp + 0x30]
mov dword [edx + 0x54], eax
rep movsd dword es:[edi], dword [esi]
mov edi, edx
lea ecx, [esp + 0xaf8]
movsd xmm0, qword [esp + 0x178]
mov eax, dword [esp + 0x774]
movsd qword [eax + 0x38], xmm0
movsd xmm0, qword [esp + 0x170]
movsd qword [eax + 0x30], xmm0
movsd xmm0, qword [esp + 0x168]
movsd qword [eax + 0x28], xmm0
movsd xmm0, qword [esp + 0x160]
movsd qword [eax + 0x20], xmm0
movsd xmm0, qword [esp + 0x158]
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [esp + 0x150]
movsd qword [eax + 0x10], xmm0
movq xmm0, qword [esp + 0x140]
movsd xmm1, qword [esp + 0x148]
movsd qword [eax + 8], xmm1
movq qword [eax], xmm0
mov eax, 1
test eax, eax
je 0x100588d6
cmp eax, 1
jne 0x1005e948
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx]
or eax, dword [ecx + 4]
je 0x10059cb0
mov ecx, dword [esp + 0x358]
mov eax, dword [ecx]
or eax, dword [ecx + 4]
je 0x10059d70
mov eax, dword [esp + 0x184]
mov edi, dword [esp + 0x768]
mov eax, dword [eax]
cmp eax, 1
cmove edi, dword [esp + 0x5a8]
test eax, eax
je 0x10059ea6
mov dword [esp + 0x460], 2
movaps xmm2, xmmword [esp + 0x460]
movaps xmm3, xmmword [esp + 0x470]
movdqu xmm0, xmmword [edi]
movups xmm1, xmmword [edi + 0x10]
movups xmmword [edi + 0x10], xmm3
movups xmmword [edi], xmm2
movups xmm2, xmmword [edi + 0x50]
mov eax, dword [edi + 0x3c]
mov ecx, dword [edi + 0x38]
mov edx, dword [edi + 0x30]
movaps xmmword [esp + 0x70], xmm2
movups xmm2, xmmword [edi + 0x40]
mov dword [esp + 0xf0], eax
mov eax, dword [edi + 0x34]
movaps xmmword [esp + 0x130], xmm2
movups xmm2, xmmword [edi + 0x70]
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x2c]
movaps xmmword [esp + 0x200], xmm2
movups xmm2, xmmword [edi + 0x60]
mov dword [esp + 0x30], eax
mov eax, dword [edi + 0x28]
movaps xmmword [esp + 0xc0], xmm2
movups xmm2, xmmword [edi + 0x90]
mov dword [esp + 0x50], eax
mov eax, dword [edi + 0x24]
movaps xmmword [esp + 0xb0], xmm2
movups xmm2, xmmword [edi + 0x80]
mov dword [esp + 0xd0], eax
mov eax, dword [edi + 0x20]
movaps xmmword [esp + 0x100], xmm2
movsd xmm2, qword [edi + 0xa8]
mov dword [esp + 8], eax
movsd qword [esp + 0x218], xmm2
movsd xmm2, qword [edi + 0xa0]
movsd qword [esp + 0x210], xmm2
jmp 0x10059e57
mov dword [esp + 0x460], 2
movaps xmm2, xmmword [esp + 0x460]
movaps xmm3, xmmword [esp + 0x470]
movdqu xmm0, xmmword [edi + 0x18]
movups xmm1, xmmword [edi + 0x28]
movups xmmword [edi + 0x28], xmm3
movups xmmword [edi + 0x18], xmm2
mov eax, dword [edi + 0x54]
movups xmm2, xmmword [edi + 0x68]
mov ecx, dword [edi + 0x50]
mov edx, dword [edi + 0x48]
mov dword [esp + 0xf0], eax
mov eax, dword [edi + 0x4c]
movaps xmmword [esp + 0x70], xmm2
movups xmm2, xmmword [edi + 0x58]
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x44]
movaps xmmword [esp + 0x130], xmm2
movups xmm2, xmmword [edi + 0x88]
mov dword [esp + 0x30], eax
mov eax, dword [edi + 0x40]
movaps xmmword [esp + 0x200], xmm2
movups xmm2, xmmword [edi + 0x78]
mov dword [esp + 0x50], eax
mov eax, dword [edi + 0x3c]
movaps xmmword [esp + 0xc0], xmm2
movups xmm2, xmmword [edi + 0xa8]
mov dword [esp + 0xd0], eax
mov eax, dword [edi + 0x38]
movaps xmmword [esp + 0xb0], xmm2
movups xmm2, xmmword [edi + 0x98]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x764]
jmp 0x10059e34
mov ecx, dword [esp + 0x184]
mov eax, dword [ecx]
or eax, dword [ecx + 4]
je 0x1005a038
mov dword [esp + 0x460], 2
movaps xmm2, xmmword [esp + 0x460]
movaps xmm3, xmmword [esp + 0x470]
movdqu xmm0, xmmword [edi + 0x28]
movups xmm1, xmmword [edi + 0x38]
movups xmmword [edi + 0x38], xmm3
movups xmmword [edi + 0x28], xmm2
mov eax, dword [edi + 0x64]
movups xmm2, xmmword [edi + 0x78]
mov ecx, dword [edi + 0x60]
mov edx, dword [edi + 0x58]
mov dword [esp + 0xf0], eax
mov eax, dword [edi + 0x5c]
movaps xmmword [esp + 0x70], xmm2
movups xmm2, xmmword [edi + 0x68]
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x54]
movaps xmmword [esp + 0x130], xmm2
movups xmm2, xmmword [edi + 0x98]
mov dword [esp + 0x30], eax
mov eax, dword [edi + 0x50]
movaps xmmword [esp + 0x200], xmm2
movups xmm2, xmmword [edi + 0x88]
mov dword [esp + 0x50], eax
mov eax, dword [edi + 0x4c]
movaps xmmword [esp + 0xc0], xmm2
movups xmm2, xmmword [edi + 0xb8]
mov dword [esp + 0xd0], eax
mov eax, dword [edi + 0x48]
movaps xmmword [esp + 0xb0], xmm2
movups xmm2, xmmword [edi + 0xa8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x75c]
movaps xmmword [esp + 0x100], xmm2
movsd xmm2, qword [eax]
movsd xmm3, qword [eax + 8]
movsd qword [esp + 0x210], xmm2
movsd qword [esp + 0x218], xmm3
movd eax, xmm0
cmp eax, 2
je 0x1005e95c
movsd xmm2, qword [esp + 0x210]
movq xmm3, qword [esp + 0x218]
mov dword [esp + 0x28], edx
mov dword [esp + 0x10], ecx
movdqa xmmword [esp + 0x980], xmm0
movaps xmmword [esp + 0x990], xmm1
movsd qword [esp + 0xaf8], xmm2
movq qword [esp + 0xb00], xmm3
jmp 0x1005a31d
cmp byte [edi], 3
je 0x1005e920
lea ecx, [esp + 0x460]
mov edx, edi
push ebx
call fcn.10066a00
add esp, 4
mov ebx, dword [esp + 0x460]
cmp ebx, 2
je 0x1005dcd5
lea ecx, [esp + 0x464]
mov eax, dword [esp + 0x464]
movzx esi, word [ecx + 5]
mov dl, byte [ecx + 7]
movsd xmm0, qword [ecx + 0xc]
movsd xmm1, qword [ecx + 0x14]
mov dword [esp + 0x80], eax
mov al, byte [esp + 0x468]
mov word [esp + 0x890], si
mov byte [esp + 0x892], dl
movsd qword [esp + 0x360], xmm0
movsd qword [esp + 0x368], xmm1
mov esi, dword [esp + 0x46c]
cmp byte [edi], 3
mov dword [esp + 0xe0], eax
je 0x1005eac7
mov ecx, dword [esp + 0x498]
mov edx, dword [esp + 0x494]
mov eax, dword [esp + 0x49c]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x490]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x48c]
mov dword [esp + 0xf0], eax
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x488]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x484]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x480]
mov dword [esp + 0xd0], edx
mov dword [esp + 8], ecx
mov ecx, edi
call fcn.100650d0
mov byte [edi], 3
movsd xmm0, qword [esp + 0x477]
movsd qword [edi + 0x18], xmm0
movsd xmm0, qword [esp + 0x470]
movsd qword [edi + 0x11], xmm0
movsd xmm0, qword [esp + 0x460]
movsd xmm1, qword [esp + 0x468]
movsd qword [edi + 9], xmm1
movsd qword [edi + 1], xmm0
movzx eax, word [esp + 0x890]
movsd xmm0, qword [esp + 0x360]
movsd xmm1, qword [esp + 0x368]
mov word [esp + 0x6c8], ax
mov al, byte [esp + 0x892]
movsd qword [esp + 0x460], xmm0
movsd qword [esp + 0x468], xmm1
mov byte [esp + 0x6ca], al
xor eax, eax
cmp ebx, 1
jne 0x1005a1c6
mov ecx, dword [esp + 0x80]
mov eax, 1
xor edx, edx
mov esi, ecx
jmp 0x1005a216
mov edi, dword [esp + 0x5a8]
mov eax, dword [edi]
xor eax, 3
or eax, dword [edi + 4]
je 0x1005e920
lea ecx, [esp + 0x460]
mov edx, edi
push ebx
call fcn.100695b0
add esp, 4
mov esi, dword [esp + 0x460]
cmp esi, 2
je 0x1005dcd5
mov eax, dword [esp + 0x464]
lea ecx, [esp + 0x464]
mov ebx, dword [esp + 0x46c]
movsd xmm0, qword [ecx + 0xc]
movsd xmm1, qword [ecx + 0x14]
mov dword [esp + 0x80], eax
mov al, byte [esp + 0x468]
movsd qword [esp + 0x360], xmm0
movsd qword [esp + 0x368], xmm1
mov dword [esp + 0xe0], eax
movzx eax, word [ecx + 5]
mov word [esp + 0x890], ax
mov al, byte [ecx + 7]
mov byte [esp + 0x892], al
mov eax, dword [edi]
xor eax, 3
or eax, dword [edi + 4]
je 0x1005e984
mov ecx, dword [esp + 0x498]
mov edx, dword [esp + 0x494]
mov eax, dword [esp + 0x49c]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x490]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x48c]
mov dword [esp + 0xf0], eax
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x488]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x484]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x480]
mov dword [esp + 0xd0], edx
mov dword [esp + 8], ecx
mov ecx, edi
call fcn.10065840
mov dword [edi + 4], 0
mov dword [edi], 3
push 0xe8
lea eax, [esp + 0x464]
push eax
push dword [esp + 0x74]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, word [esp + 0x890]
movsd xmm0, qword [esp + 0x360]
movsd xmm1, qword [esp + 0x368]
mov word [esp + 0x6c8], ax
mov al, byte [esp + 0x892]
movsd qword [esp + 0x460], xmm0
movsd qword [esp + 0x468], xmm1
mov byte [esp + 0x6ca], al
xor eax, eax
cmp esi, 1
jne 0x1005a254
mov ecx, dword [esp + 0x80]
mov eax, 1
xor edx, edx
mov ebx, ecx
jmp 0x1005a2a4
mov cl, byte [esp + 0x6ca]
movsd xmm0, qword [esp + 0x460]
movsd xmm1, qword [esp + 0x468]
mov edx, dword [esp + 0xe0]
mov byte [esp + 0x782], cl
movzx ecx, word [esp + 0x6c8]
movsd qword [esp + 0x210], xmm0
movsd qword [esp + 0x218], xmm1
mov word [esp + 0x780], cx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x980], eax
mov dword [esp + 0x984], ecx
mov byte [esp + 0x988], dl
mov bl, byte [esp + 0x782]
movzx edx, word [esp + 0x780]
lea ecx, [esp + 0x984]
mov byte [ecx + 7], bl
mov word [ecx + 5], dx
mov dword [esp + 0x98c], esi
jmp 0x1005a2dd
mov cl, byte [esp + 0x6ca]
movsd xmm0, qword [esp + 0x460]
movsd xmm1, qword [esp + 0x468]
mov edx, dword [esp + 0xe0]
mov byte [esp + 0x782], cl
movzx ecx, word [esp + 0x6c8]
movsd qword [esp + 0x210], xmm0
movsd qword [esp + 0x218], xmm1
mov word [esp + 0x780], cx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x980], eax
mov dword [esp + 0x984], ecx
mov byte [esp + 0x988], dl
mov al, byte [esp + 0x782]
movzx edx, word [esp + 0x780]
lea ecx, [esp + 0x984]
mov byte [ecx + 7], al
mov word [ecx + 5], dx
mov dword [esp + 0x98c], ebx
movsd xmm1, qword [esp + 0x218]
movsd xmm0, qword [esp + 0x210]
movsd qword [ecx + 0x14], xmm1
movsd qword [ecx + 0xc], xmm0
movsd xmm0, qword [esp + 0x5b8]
movsd xmm1, qword [esp + 0x5c0]
movsd qword [esp + 0xaf8], xmm0
movsd qword [esp + 0xb00], xmm1
movaps xmm1, xmmword [esp + 0x990]
mov esi, dword [esp + 0x1b0]
movaps xmm0, xmmword [esp + 0x980]
movsd xmm2, qword [esp + 0xaf8]
movaps xmmword [esp + 0x340], xmm1
movsd xmm1, qword [esp + 0xb00]
mov ecx, esi
movaps xmmword [esp + 0x120], xmm0
movsd qword [esp + 0x1c8], xmm2
movsd qword [esp + 0x1d0], xmm1
call fcn.1005ef20
movdqa xmm0, xmmword [esp + 0x120]
mov dword [esi + 4], 0
mov dword [esi], 2
movd eax, xmm0
cmp eax, 2
je 0x1005d3af
movsd xmm0, qword [esp + 0x1c8]
movsd xmm1, qword [esp + 0x1d0]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x48], eax
movsd qword [esp + 0xad0], xmm1
movsd qword [esp + 0xac8], xmm0
mov eax, dword [edi + 0x128]
mov esi, dword [edi + 0x12c]
mov dword [esp + 0xac], eax
xor eax, 3
or eax, esi
je 0x1005ea65
movdqa xmm0, xmmword [esp + 0x340]
movd dword [esp + 0x80], xmm0
pshufd xmm0, xmm0, 0xe5
movd dword [esp + 0xe0], xmm0
push 0xa8
push dword [esp + 0x360]
lea eax, [esp + 0xb00]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ebx, dword [esp + 0x1b0]
mov ecx, ebx
call fcn.1005ef20
push 0x120
lea eax, [esp + 0x464]
push eax
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [edi + 0x12c], 0
mov dword [edi + 0x128], 3
push 0xa8
lea eax, [esp + 0x5bc]
push eax
push dword [esp + 0x364]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movdqa xmm1, xmmword [esp + 0x120]
mov eax, dword [esp + 0xac]
movsd xmm2, qword [esp + 0xac8]
mov dword [esp + 0x984], esi
pshufd xmm0, xmm1, 0xe7
mov dword [esp + 0x980], eax
movsd qword [esp + 0xad8], xmm2
movd dword [esp + 0x110], xmm0
pshufd xmm0, xmm1, 0x4e
movdqa xmm1, xmmword [esp + 0x340]
movd edi, xmm0
pshufd xmm0, xmm1, 0x4e
pshufd xmm3, xmm1, 0xe7
movsd xmm1, qword [esp + 0xad0]
movd ebx, xmm0
movd esi, xmm3
movsd qword [esp + 0xae0], xmm1
push 0xa8
lea eax, [esp + 0xafc]
push eax
lea eax, [esp + 0x990]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [esp + 0x48], 1
jne 0x1005a560
movsd xmm0, qword [esp + 0xad8]
movsd xmm1, qword [esp + 0xae0]
lea ecx, [esp + 0x980]
mov dword [esp + 0x340], ebx
mov dword [esp + 0x48], edi
mov dword [esp + 0x120], esi
movsd qword [esp + 0x218], xmm1
movsd qword [esp + 0x210], xmm0
call fcn.1005efd0
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 8]
xor ebx, ebx
jmp 0x1005ce85
pshufd xmm0, xmmword [esp + 0x120], 0xe5
movdqa xmmword [esp + 0x70], xmm0
push 0xb0
lea eax, [esp + 0x984]
push eax
lea eax, [esp + 0x468]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movdqa xmm0, xmmword [esp + 0x70]
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0x10]
movd dword [esp + 0x780], xmm0
mov dword [esp + 0x788], eax
mov dword [esp + 0x784], edi
mov dword [esp + 0x790], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x78c], ecx
mov dword [esp + 0x794], ebx
mov dword [esp + 0x798], esi
mov esi, dword [esp + 0xf0]
mov dword [esp + 0x7b4], edx
mov edx, dword [esp + 0x30]
cmp ecx, 1
lea ebx, [esp + 0x460]
mov dword [esp + 0x7b8], esi
mov esi, dword [esp + 0x28]
mov dword [esp + 0x7a8], edx
mov edx, dword [esp + 0xd0]
mov dword [esp + 0x7ac], esi
mov esi, dword [esp + 0x50]
mov dword [esp + 0x7a0], edx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x7a4], esi
mov esi, dword [esp + 8]
mov dword [esp + 0x7b0], edx
mov dword [esp + 0x79c], esi
je 0x1005a6c0
mov edi, dword [esp + 0x2c]
cmp ecx, 2
mov eax, ecx
je 0x1005e970
cmp byte [esp + 0x508], 0
je 0x1005b479
movzx eax, byte [esp + 0x4b4]
xor edi, edi
test eax, eax
je 0x1005a92b
cmp eax, 1
je 0x1005a919
call sub.KERNEL32.dll_GetProcessHeap
push 0x10
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1005eb1f
mov esi, eax
mov eax, dword [esp + 0x4b8]
mov ecx, dword [eax + 0xc]
lea edx, [eax + 8]
push dword [eax + 4]
push dword [eax]
push edx
push esi
call dword [ecx]
add esp, 0x10
mov eax, 2
jmp 0x1005a92d
cmp byte [esp + 0x4a0], 7
mov edi, dword [esp + 0x2c]
jne 0x1005b870
mov eax, dword [0x104debf8]
cmp eax, 4
jb 0x1005a6e1
mov eax, dword [0x104debfc]
mov eax, dword [0x104d53e8]
add eax, 0xfffffffe
cmp eax, 4
jb 0x1005a7f9
mov ecx, dword [0x104d4e10]
test ecx, ecx
je 0x1005a7f9
mov al, 1
cmp ecx, 1
je 0x1005a712
cmp ecx, 2
jne 0x1005885d
mov al, 2
movzx edx, al
mov ecx, 0x104d4e10
call fcn.10109d10
test al, al
je 0x1005a7f9
mov ecx, dword [0x104d4e14]
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x1005eb30
mov edx, dword [ecx + 0x2c]
mov esi, dword [ecx + 0x34]
mov edi, dword [ecx + 0x38]
mov dword [esp + 0x5b8], 0
mov dword [esp + 0x210], 0x1041a290
mov dword [esp + 0x214], 1
mov dword [esp + 0x218], 0
mov dword [esp + 0x220], str.formatter_errorfailed_to_write_whole_buffer
mov dword [esp + 0x224], 0
mov dword [esp + 0x5bc], edx
lea edx, [esp + 0x360]
mov dword [esp + 0x5c0], eax
mov dword [esp + 0x5c4], esi
lea esi, [esp + 0x5b8]
lea eax, [ecx + 0x2c]
mov dword [esp + 0x5c8], edi
mov dword [esp + 0x890], edx
lea edx, [esp + 0x210]
mov dword [esp + 0x360], esi
mov dword [esp + 0x894], 1
mov dword [esp + 0x898], eax
mov dword [esp + 0x364], edx
lea edx, [esp + 0x890]
mov dword [esp + 0x368], 0x10419960
call fcn.1010a570
mov edi, dword [esp + 0x2c]
call sub.KERNEL32.dll_GetProcessHeap
push 0xc
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1005ecd3
lea ecx, [esp + 0x780]
mov dword [eax], 0
mov dword [esp + 0x120], eax
mov word [eax + 8], 0x501
call fcn.1005f910
cmp byte [esp + 0x4a0], 0xa
jb 0x1005a858
cmp dword [esp + 0x4a8], 0
je 0x1005a858
mov esi, dword [esp + 0x4a4]
call sub.KERNEL32.dll_GetProcessHeap
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapFree
cmp byte [esp + 0x4b4], 2
jb 0x1005a890
mov eax, dword [esp + 0x4b8]
mov ecx, dword [eax + 0xc]
lea edx, [eax + 8]
push dword [eax + 4]
push dword [eax]
push edx
call dword [ecx + 4]
add esp, 0xc
mov esi, dword [esp + 0x4b8]
call sub.KERNEL32.dll_GetProcessHeap
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x4c8]
push dword [esp + 0x4c0]
push dword [esp + 0x4c0]
lea ecx, [esp + 0x4cc]
push ecx
call dword [eax + 4]
add esp, 0xc
mov eax, dword [esp + 0x4d8]
push dword [esp + 0x4d0]
push dword [esp + 0x4d0]
lea ecx, [esp + 0x4dc]
push ecx
call dword [eax + 4]
add esp, 0xc
push ebx
call fcn.1004fb10
add esp, 4
lea ecx, [esp + 0x4e0]
call fcn.10056e00
lea ecx, [esp + 0x4e8]
call fcn.100544e0
mov dword [esp + 8], 0
mov dword [esp + 0x80], 1
xor ebx, ebx
mov dword [esp + 0x48], 0
jmp 0x1005cb92
movzx edi, byte [esp + 0x4b5]
mov eax, 1
shl edi, 8
jmp 0x1005a92d
xor eax, eax
or edi, eax
mov eax, dword [esp + 0x4c8]
push dword [esp + 0x4c0]
push dword [esp + 0x4c0]
lea ecx, [esp + 0x4cc]
push ecx
lea ecx, [esp + 0x36c]
push ecx
call dword [eax]
add esp, 0x10
mov eax, dword [esp + 0x4d8]
push dword [esp + 0x4d0]
push dword [esp + 0x4d0]
lea ecx, [esp + 0x4dc]
push ecx
lea ecx, [esp + 0x21c]
push ecx
call dword [eax]
add esp, 0x10
movzx eax, word [esp + 0x4dc]
movsd xmm1, qword [esp + 0x368]
movsd xmm0, qword [esp + 0x360]
lea ecx, [esp + 0x5c0]
mov dword [esp + 0x5bc], esi
mov dword [esp + 0x5b8], edi
movsd xmm2, qword [0x1041a21c]
mov word [esp + 0x220], ax
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
movsd qword [esp + 0x368], xmm2
mov eax, dword [esp + 0x220]
movsd xmm1, qword [esp + 0x218]
movq xmm0, qword [esp + 0x210]
mov dword [ecx + 0x20], eax
movsd qword [ecx + 0x18], xmm1
mov eax, dword [0x1041a224]
movsd xmm1, qword [0x1041a214]
movq qword [ecx + 0x10], xmm0
mov ecx, ebx
mov dword [esp + 0x370], eax
movsd qword [esp + 0x360], xmm1
call fcn.1004df60
mov eax, dword [esp + 0x460]
mov cx, 0xb561
xor eax, 2
or eax, dword [esp + 0x464]
jne 0x1005ad45
mov eax, dword [esp + 0x468]
mov ecx, dword [esp + 0x46c]
mov edx, dword [esp + 0x470]
mov esi, dword [esp + 0x474]
mov dword [esp + 0x890], 0
mov edi, eax
mov dword [esp + 0x210], eax
mov dword [esp + 0x214], ecx
mov dword [esp + 0x218], edx
mov dword [esp + 0x21c], esi
xor eax, 0x6e657261
xor edi, 0x70736575
mov dword [esp + 0x220], edi
mov edi, ecx
xor ecx, 0x6c796765
xor edi, 0x736f6d65
mov dword [esp + 0x224], edi
mov edi, esi
mov dword [esp + 0x22c], ecx
mov ecx, edx
xor esi, 0x74656462
mov dword [esp + 0x228], eax
xor edx, 0x79746573
xor ecx, 0x6e646f6d
xor edi, 0x646f7261
mov dword [esp + 0x230], ecx
mov dword [esp + 0x234], edi
mov dword [esp + 0x23c], esi
lea ecx, [esp + 0x2f0]
lea esi, [esp + 0x210]
mov dword [esp + 0x238], edx
lea edi, [esp + 0x890]
mov dword [ecx - 0xb0], 0
mov dword [ecx - 0xa8], 0
mov dword [ecx - 0xa4], 0
mov dword [ecx - 0xac], 0
mov ecx, esi
mov edx, edi
push 4
call fcn.10017fe0
add esp, 4
movzx eax, byte [esp + 0x361]
mov ecx, esi
mov edx, edi
mov dword [esp + 0x890], eax
push 4
call fcn.10017fe0
add esp, 4
mov esi, dword [esp + 0x248]
mov ecx, dword [esp + 0x23c]
mov edx, dword [esp + 0x240]
mov eax, dword [esp + 0x230]
mov ebx, dword [esp + 0x224]
shl esi, 0x18
mov dword [esp + 0x110], edx
mov edi, eax
or esi, dword [esp + 0x244]
mov dword [esp + 0xe0], esi
xor ecx, esi
mov esi, dword [esp + 0x238]
xor esi, edx
mov edx, dword [esp + 0x220]
add edx, eax
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x234]
adc ebx, edx
shld edi, edx, 0xd
shld edx, eax, 0xd
mov eax, dword [esp + 0x228]
mov dword [esp + 0x10], ebx
xor edx, ebx
mov ebx, dword [esp + 0x50]
xor edi, ebx
add eax, esi
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x22c]
adc eax, ecx
mov dword [esp + 0x80], eax
mov eax, esi
shrd esi, ecx, 0x10
shld eax, ecx, 0x10
xor esi, dword [esp + 0x80]
xor eax, dword [esp + 0x30]
add dword [esp + 0x10], eax
mov ecx, eax
adc ebx, esi
shld ecx, esi, 0x15
shrd eax, esi, 0xb
mov esi, edi
xor eax, ebx
xor ecx, dword [esp + 0x10]
add dword [esp + 0x30], edi
adc dword [esp + 0x80], edx
shld esi, edx, 0x11
shrd edi, edx, 0xf
mov edx, ebx
mov ebx, dword [esp + 0x110]
xor esi, dword [esp + 0x30]
xor edx, dword [esp + 0xe0]
xor dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x80]
xor edi, ebx
xor ebx, 0xff
add dword [esp + 0x10], esi
adc edx, edi
mov dword [esp + 0x50], edx
mov edx, esi
shrd esi, edi, 0x13
shld edx, edi, 0xd
xor esi, dword [esp + 0x50]
mov edi, ecx
xor edx, dword [esp + 0x10]
add ebx, ecx
adc dword [esp + 0x30], eax
shld edi, eax, 0x10
shrd ecx, eax, 0x10
xor edi, ebx
xor ecx, dword [esp + 0x30]
add dword [esp + 0x50], edi
mov eax, edi
adc dword [esp + 0x10], ecx
shld eax, ecx, 0x15
shrd edi, ecx, 0xb
mov ecx, edx
xor edi, dword [esp + 0x10]
xor eax, dword [esp + 0x50]
add ebx, edx
adc dword [esp + 0x30], esi
shld ecx, esi, 0x11
shrd edx, esi, 0xf
xor ecx, ebx
xor edx, dword [esp + 0x30]
add dword [esp + 0x50], ecx
mov esi, ecx
adc dword [esp + 0x10], edx
shld esi, edx, 0xd
shrd ecx, edx, 0x13
mov edx, eax
xor ecx, dword [esp + 0x10]
xor esi, dword [esp + 0x50]
add dword [esp + 0x30], eax
adc ebx, edi
shld edx, edi, 0x10
shrd eax, edi, 0x10
xor edx, dword [esp + 0x30]
xor eax, ebx
add dword [esp + 0x10], edx
mov edi, edx
adc dword [esp + 0x50], eax
shld edi, eax, 0x15
shrd edx, eax, 0xb
mov eax, esi
xor edx, dword [esp + 0x50]
xor edi, dword [esp + 0x10]
add dword [esp + 0x30], esi
adc ebx, ecx
shld eax, ecx, 0x11
shrd esi, ecx, 0xf
mov ecx, eax
xor esi, ebx
xor ecx, dword [esp + 0x30]
add dword [esp + 0x10], ecx
mov eax, ecx
adc dword [esp + 0x50], esi
shld eax, esi, 0xd
shrd ecx, esi, 0x13
mov esi, dword [esp + 0x30]
xor eax, dword [esp + 0x10]
xor ecx, dword [esp + 0x50]
add ebx, edi
adc esi, edx
shrd edi, edx, 0x10
xor edi, esi
shr edi, 0xb
add ebx, eax
adc esi, ecx
shr ecx, 0xf
xor ecx, edi
xor ecx, esi
xor ecx, ebx
movzx eax, word [esp + 0x498]
and ecx, 0x7fff
mov edi, dword [esp + 0x47c]
mov dword [esp + 0x30], 0
mov dword [esp + 0x80], ecx
movzx edx, ax
mov eax, ecx
mov dword [esp + 0x110], edi
and eax, edx
mov dword [esp + 0xe0], edx
mov edx, dword [esp + 0x478]
mov dword [esp + 0x10], edx
mov dl, byte [esp + 0x360]
mov byte [esp + 0xf0], dl
mov dl, byte [esp + 0x361]
mov byte [esp + 0x130], dl
mov edx, dword [esp + 0x488]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x480]
mov dword [esp + 0xd0], edx
mov edx, dword [esp + 0x364]
mov dword [esp + 0xc0], edx
mov edx, dword [esp + 0x368]
mov dword [esp + 0xb0], edx
mov edx, ecx
jmp 0x1005ae0e
movzx edx, byte [esp + 0x130]
mov edi, dword [esp + 0xd0]
cmp byte [edi + eax + 1], dl
je 0x1005880e
nop word [eax + eax]
inc dword [esp + 0x30]
mov edi, dword [esp + 0x110]
inc esi
mov eax, esi
mov esi, eax
cmp eax, edi
mov eax, 0
jae 0x1005ae0e
mov eax, dword [esp + 0x10]
movzx edi, word [eax + esi*4]
cmp edi, 0xffff
je 0x1005af3b
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0xe0]
mov edx, esi
mov dword [esp + 0x50], edx
movzx eax, word [eax + esi*4 + 2]
mov ecx, ebx
and ecx, eax
sub edx, ecx
and edx, ebx
cmp edx, dword [esp + 0x30]
jb 0x1005af78
mov edx, dword [esp + 0x80]
mov esi, dword [esp + 0x50]
cmp ax, dx
jne 0x1005ae00
cmp dword [esp + 0x70], edi
mov ecx, edi
jbe 0x1005eb44
movzx edx, byte [esp + 0xf0]
mov edi, dword [esp + 0xd0]
imul eax, ecx, 0x38
cmp byte [edi + eax], dl
jne 0x1005ae00
cmp byte [esp + 0xf0], 1
mov dword [esp + 0x100], ecx
jne 0x1005adde
mov edx, dword [esp + 0xb0]
mov edi, dword [esp + 0xd0]
cmp dword [edi + eax + 8], edx
jne 0x1005ae00
mov ecx, dword [esp + 0xd0]
mov eax, dword [ecx + eax + 4]
cmp eax, dword [esp + 0xc0]
je 0x1005aeec
push dword [esp + 0xb0]
push dword [esp + 0xc4]
push eax
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x1005ae00
mov eax, dword [esp + 0x190]
movq xmm0, qword [esp + 0x188]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x370]
movq qword [esp + 0x98], xmm0
push dword [esp + 0xb0]
push dword [esp + 0xc4]
lea ecx, [esp + 0x374]
push ecx
call dword [eax + 4]
add esp, 0xc
mov edx, dword [esp + 0x488]
jmp 0x10058832
cmp dword [esp + 0x30], 0x1ff
mov ecx, dword [esp + 0x460]
seta al
xor ecx, 2
or ecx, dword [esp + 0x464]
setne cl
and cl, al
lea eax, [esp + 0x36c]
movsd xmm0, qword [eax - 4]
mov eax, dword [eax + 4]
mov byte [esp + 0x30], cl
mov ecx, dword [esp + 0x360]
jmp 0x1005afb7
cmp dword [esp + 0x30], 0x1ff
mov ecx, dword [esp + 0x460]
mov esi, dword [esp + 0x50]
seta al
xor ecx, 2
or ecx, dword [esp + 0x464]
setne cl
and cl, al
lea eax, [esp + 0x36c]
movsd xmm0, qword [eax - 4]
mov byte [esp + 0x30], cl
mov ecx, dword [esp + 0x360]
mov eax, dword [eax + 4]
movsd qword [esp + 0x188], xmm0
mov dword [esp + 0x190], eax
mov edx, dword [esp + 0x5c4]
mov eax, dword [esp + 0x190]
movq xmm0, qword [esp + 0x188]
mov dword [esp + 0x10], ecx
test edx, edx
mov dword [esp + 0xa0], eax
movq qword [esp + 0x98], xmm0
mov dword [esp + 0x588], eax
movq qword [esp + 0x580], xmm0
je 0x1005eb4f
mov ecx, dword [esp + 0x5c0]
call fcn.10034a80
test eax, eax
je 0x1005eb4f
cmp dword [esp + 0x5c4], 0
mov edi, eax
mov ebx, edx
mov dword [esp + 0x450], eax
mov dword [esp + 0x454], edx
je 0x1005b144
lea ecx, [esp + 0x188]
lea edx, [esp + 0x5c0]
call fcn.10034570
cmp dword [esp + 0x188], 0
je 0x1005b14f
mov eax, dword [esp + 0x190]
movq xmm0, qword [esp + 0x188]
lea ecx, [esp + 0x450]
lea edx, [esp + 0x1c8]
mov dword [esp + str.formatter_errorfailed_to_write_whole_buffer], 0x10422a14
mov dword [esp + 0x214], 2
mov dword [esp + 0x218], 0
mov dword [esp + 0x360], ecx
lea ecx, [esp + 0x360]
mov dword [esp + 0x364], 0x10009120
mov dword [esp + 0x368], edx
lea edx, [esp + 0x210]
mov dword [esp + 0x36c], 0x1006a160
mov dword [esp + 0x220], ecx
lea ecx, [esp + 0x890]
mov dword [esp + 0x224], 2
mov dword [esp + 0x1d0], eax
movq qword [esp + 0x1c8], xmm0
call fcn.10006620
mov eax, dword [esp + 0x894]
mov edi, dword [esp + 0x890]
xor ecx, ecx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x898]
nop dword [eax]
cmp eax, ecx
je 0x1005b1a2
movzx ebx, byte [edi + ecx]
cmp bl, 0x1f
seta dl
cmp bl, 0x7f
setne dh
inc ecx
cmp bl, 9
je 0x1005b120
and dl, dh
jne 0x1005b120
mov bl, 1
mov al, 2
jmp 0x1005b1b8
mov dword [esp + 0x188], 0
xor eax, eax
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp ebx, eax
je 0x1005b182
mov ch, byte [edi + eax]
cmp ch, 0x1f
seta cl
cmp ch, 0x7f
setne dl
inc eax
cmp ch, 9
je 0x1005b160
and cl, dl
jne 0x1005b160
jmp 0x1005eb63
lea ecx, [esp + 0x210]
mov edx, edi
push ebx
call fcn.100079c0
add esp, 4
mov ebx, dword [esp + 0x10]
mov byte [esp + 0x220], 0
jmp 0x1005b1e0
lea ecx, [esp + 0x210]
mov edx, edi
push eax
call fcn.100079c0
add esp, 4
xor eax, eax
xor ebx, ebx
cmp dword [esp + 0x50], 0
mov byte [esp + 0x220], al
je 0x1005b1d4
call sub.KERNEL32.dll_GetProcessHeap
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapFree
test bl, bl
mov ebx, dword [esp + 0x10]
jne 0x1005eb6b
mov edi, dword [esp + 0x488]
mov eax, dword [esp + 0x220]
movsd xmm0, qword [esp + 0x210]
movsd xmm1, qword [esp + 0x218]
mov ecx, dword [esp + 0x588]
movsd xmm2, qword [esp + 0x580]
cmp edi, 0x7fff
mov dword [esp + 0x8a0], eax
movsd qword [esp + 0x898], xmm1
movsd qword [esp + 0x890], xmm0
mov dword [esp + 0x190], ecx
movsd qword [esp + 0x188], xmm2
mov dword [esp + 0x370], eax
movsd qword [esp + 0x368], xmm1
movsd qword [esp + 0x360], xmm0
ja 0x1005eb8b
mov eax, dword [esp + 0x190]
movsd xmm0, qword [esp + 0x188]
movsd xmm2, qword [esp + 0x360]
movsd xmm1, qword [esp + 0x368]
cmp edi, dword [esp + 0x484]
mov dword [esp + 0x1d0], eax
mov eax, dword [esp + 0x370]
movsd qword [esp + 0x1c8], xmm0
movsd qword [esp + 0x210], xmm2
movsd qword [esp + 0x218], xmm1
mov dword [esp + 0x220], eax
mov eax, edi
jne 0x1005b2d3
lea ecx, [esp + 0x480]
mov edx, 1
call fcn.1004e740
mov eax, dword [esp + 0x488]
mov ecx, dword [esp + 0x480]
mov edx, dword [esp + 0xc0]
imul eax, eax, 0x38
mov dword [esp + 0x50], edi
mov dword [esp + 0x10], 0
mov dword [ecx + eax], ebx
mov dword [ecx + eax + 4], edx
movsd xmm0, qword [esp + 0x1c8]
movsd qword [ecx + eax + 8], xmm0
mov edx, dword [esp + 0x1d0]
mov dword [ecx + eax + 0x10], edx
movq xmm0, qword [esp + 0x210]
movsd xmm1, qword [esp + 0x218]
movq qword [ecx + eax + 0x14], xmm0
movsd qword [ecx + eax + 0x1c], xmm1
mov edx, dword [esp + 0x220]
mov dword [ecx + eax + 0x24], edx
mov edx, dword [esp + 0x80]
mov dword [ecx + eax + 0x28], 0
mov word [ecx + eax + 0x34], dx
inc dword [esp + 0x488]
mov ecx, edx
mov eax, dword [esp + 0x478]
mov edx, dword [esp + 0x47c]
nop word cs:[eax + eax]
nop
mov ebx, esi
cmp esi, edx
mov esi, 0
jae 0x1005b370
movzx esi, word [eax + ebx*4]
cmp si, 0xffff
je 0x1005b3a0
inc dword [esp + 0x10]
shl ecx, 0x10
movzx edi, di
or edi, ecx
movzx ecx, word [eax + ebx*4 + 2]
mov dword [eax + ebx*4], edi
inc ebx
mov edi, esi
mov esi, ebx
jmp 0x1005b370
mov dl, byte [esp + 0x30]
cmp dword [esp + 0x10], 0x80
mov word [eax + ebx*4], di
mov word [eax + ebx*4 + 2], cx
setb al
not dl
test dl, al
jne 0x1005b3e4
mov eax, dword [esp + 0x464]
or eax, dword [esp + 0x460]
jne 0x1005b3e4
mov dword [esp + 0x464], 0
mov dword [esp + 0x460], 1
mov edx, dword [esp + 0x488]
mov ecx, dword [esp + 0x50]
cmp edx, ecx
jbe 0x1005eb9f
cmp byte [esp + 0x5b8], 2
jb 0x1005b42f
mov eax, dword [esp + 0x5bc]
mov ecx, dword [eax + 0xc]
lea edx, [eax + 8]
push dword [eax + 4]
push dword [eax]
push edx
call dword [ecx + 4]
add esp, 0xc
mov esi, dword [esp + 0x5bc]
call sub.KERNEL32.dll_GetProcessHeap
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x5cc]
push dword [esp + 0x5c4]
push dword [esp + 0x5c4]
lea ecx, [esp + 0x5d0]
push ecx
call dword [eax + 4]
add esp, 0xc
mov eax, dword [esp + 0x5dc]
push dword [esp + 0x5d4]
push dword [esp + 0x5d4]
lea ecx, [esp + 0x5e0]
push ecx
call dword [eax + 4]
add esp, 0xc
mov edi, dword [esp + 0x2c]
cmp byte [esp + 0x4a0], 7
jne 0x1005b626
cmp byte [esp + 0x4b4], 0
je 0x1005b668
mov ecx, dword [esp + 0x4d0]
lea eax, [esp + 0x4cc]
mov dword [esp + 0x188], eax
mov eax, 0x1041fb7c
test ecx, ecx
je 0x1005b4ba
mov eax, dword [esp + 0x4cc]
cmp ecx, 1
ja 0x1005b4d3
cmp eax, 0x1041fb7c
je 0x1005b616
cmp byte [eax], 0x2f
je 0x1005b616
mov eax, dword [0x104debf8]
cmp eax, 2
jb 0x1005b4e2
mov eax, dword [0x104debfc]
mov eax, dword [0x104d53e8]
and eax, 0xfffffffe
cmp eax, 4
je 0x1005b616
mov ecx, dword [0x104d5218]
test ecx, ecx
je 0x1005b616
mov al, 1
cmp ecx, 1
je 0x1005b513
cmp ecx, 2
jne 0x1005888b
mov al, 2
movzx edx, al
mov ecx, 0x104d5218
call fcn.10109d10
test al, al
je 0x1005b616
mov ecx, dword [0x104d521c]
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x1005ebae
mov edx, dword [ecx + 0x2c]
mov esi, dword [ecx + 0x34]
mov edi, dword [ecx + 0x38]
mov dword [esp + 0x5b8], 0
mov dword [esp + 0x210], 0x1040679c
mov dword [esp + 0x214], 1
mov dword [esp + 0x218], 0
mov dword [esp + 0x5bc], edx
lea edx, [esp + 0x360]
mov dword [esp + 0x5c0], eax
mov dword [esp + 0x5c4], esi
lea esi, [esp + 0x188]
lea eax, [ecx + 0x2c]
mov dword [esp + 0x5c8], edi
mov dword [esp + 0x890], edx
lea edx, [esp + 0x1c8]
mov dword [esp + 0x1c8], esi
lea esi, [esp + 0x5b8]
mov dword [esp + 0x894], 1
mov dword [esp + 0x898], eax
mov dword [esp + 0x1cc], 0x1003e9a0
mov dword [esp + 0x220], edx
lea edx, [esp + 0x210]
mov dword [esp + 0x360], esi
mov dword [esp + 0x224], 1
mov dword [esp + 0x364], edx
lea edx, [esp + 0x890]
mov dword [esp + 0x368], 0x10405f48
call fcn.1010a570
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x4c0]
test eax, eax
jne 0x1005b677
jmp 0x1005ebc2
cmp dword [esp + 0x78c], 2
je 0x1005e970
cmp byte [esp + 0x789], 0
je 0x1005b85d
movzx eax, byte [esp + 0x4b4]
test eax, eax
je 0x1005b870
cmp eax, 1
je 0x1005b853
test eax, eax
jne 0x1005b870
jmp 0x1005ec25
mov eax, dword [esp + 0x4c0]
test eax, eax
je 0x1005b495
mov ecx, dword [esp + 0x4c8]
push eax
push dword [esp + 0x4c0]
lea eax, [esp + 0x4cc]
push eax
lea esi, [esp + 0x21c]
push esi
call dword [ecx]
add esp, 0x10
mov eax, dword [esp + 0x218]
movsd xmm0, qword [esp + 0x210]
mov ecx, dword [esp + 0x21c]
lea edx, [esp + 0x5c0]
mov dword [esp + 0x5bc], 0
mov dword [esp + 0x5b8], 3
mov dword [edx + 8], eax
movsd qword [edx], xmm0
mov dword [esp + 0x5cc], ecx
mov ecx, esi
lea edx, [esp + 0x5b8]
mov dword [esp + 0x898], eax
movsd qword [esp + 0x890], xmm0
mov dword [esp + 0x5dc], 0
call fcn.10034e70
cmp byte [esp + 0x210], 1
je 0x1005ec31
lea ecx, [esp + 0x2f0]
cmp byte [esp + 0x4b4], 2
movsd xmm2, qword [ecx - 0xc4]
movsd xmm1, qword [ecx - 0xcc]
mov eax, dword [ecx - 0xb4]
movsd xmm0, qword [ecx - 0xbc]
movsd qword [esp + 0x378], xmm2
movsd qword [esp + 0x370], xmm1
movsd xmm2, qword [ecx - 0xdc]
movsd xmm1, qword [ecx - 0xd4]
mov dword [esp + 0x388], eax
movsd qword [esp + 0x380], xmm0
movsd qword [esp + 0x368], xmm1
movsd qword [esp + 0x360], xmm2
jb 0x1005b7b5
mov eax, dword [esp + 0x4b8]
mov ecx, dword [eax + 0xc]
lea edx, [eax + 8]
push dword [eax + 4]
push dword [eax]
push edx
call dword [ecx + 4]
add esp, 0xc
mov esi, dword [esp + 0x4b8]
call sub.KERNEL32.dll_GetProcessHeap
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x4c8]
push dword [esp + 0x4c0]
push dword [esp + 0x4c0]
lea ecx, [esp + 0x4cc]
push ecx
call dword [eax + 4]
add esp, 0xc
mov eax, dword [esp + 0x4d8]
push dword [esp + 0x4d0]
push dword [esp + 0x4d0]
lea ecx, [esp + 0x4dc]
push ecx
call dword [eax + 4]
add esp, 0xc
movsd xmm2, qword [esp + 0x378]
movsd xmm1, qword [esp + 0x370]
lea ecx, [esp + 0x4b4]
mov eax, dword [esp + 0x388]
movq xmm0, qword [esp + 0x380]
movsd qword [ecx + 0x18], xmm2
movsd qword [ecx + 0x10], xmm1
movsd xmm2, qword [esp + 0x360]
movsd xmm1, qword [esp + 0x368]
mov dword [ecx + 0x28], eax
movq qword [ecx + 0x20], xmm0
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm2
jmp 0x1005b870
cmp byte [esp + 0x4b5], 1
jne 0x1005b870
lea ecx, [esp + 0x4b4]
call fcn.1003e6b0
nop dword [eax]
mov eax, dword [esp + 0x78c]
cmp eax, 2
je 0x1005ec65
mov ecx, dword [esp + 0x460]
movups xmm1, xmmword [esp + 0x498]
movups xmm0, xmmword [esp + 0x468]
mov esi, dword [esp + 0x464]
movups xmm2, xmmword [esp + 0x478]
movdqu xmm3, xmmword [esp + 0x488]
movups xmm4, xmmword [esp + 0x4b8]
movups xmm5, xmmword [esp + 0x4a8]
cmp eax, 1
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x464]
movaps xmmword [esp + 0x200], xmm1
movaps xmmword [esp + 0x130], xmm0
movsd xmm1, qword [ecx + 0x6c]
movsd xmm6, qword [ecx + 0x74]
movsd xmm7, qword [ecx + 0x64]
movsd qword [esp + 0x6c0], xmm1
movsd xmm1, qword [ecx + 0x7c]
movsd qword [esp + 0x188], xmm6
movsd xmm6, qword [ecx + 0x8c]
movsd qword [esp + 0x6b8], xmm7
movsd qword [esp + 0x190], xmm1
movsd xmm1, qword [ecx + 0x84]
movsd qword [esp + 0x1a0], xmm6
movsd qword [esp + 0x198], xmm1
movsd xmm1, qword [ecx + 0x94]
movsd qword [esp + 0x1a8], xmm1
jne 0x1005bb84
movsd xmm1, qword [esp + 0x6c0]
movaps xmmword [esp + 0x70], xmm2
movsd xmm2, qword [esp + 0x188]
movsd xmm0, qword [esp + 0x6b8]
movaps xmmword [esp + 0x100], xmm5
movaps xmmword [esp + 0xb0], xmm4
movdqa xmmword [esp + 0xc0], xmm3
movsd qword [esp + 0xa0], xmm1
movsd xmm1, qword [esp + 0x190]
movsd qword [esp + 0x890], xmm2
movsd xmm2, qword [esp + 0x1a0]
movsd qword [esp + 0x98], xmm0
movsd qword [esp + 0x898], xmm1
movsd xmm1, qword [esp + 0x198]
movsd qword [esp + 0x8a8], xmm2
movsd qword [esp + 0x8a0], xmm1
movsd xmm1, qword [esp + 0x1a8]
movsd qword [esp + 0x8b0], xmm1
call sub.KERNEL32.dll_GetProcessHeap
push 0xd0
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1005ec76
mov ecx, eax
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 0xc], 0
mov dword [eax + 8], 2
add ecx, 0x10
push 0xa8
lea ebx, [esp + 0x214]
push ebx
push ecx
mov ebx, eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [ebx + 0xb8], 0
lock inc dword [ebx]
jle 0x1005eb1b
mov eax, dword [esp + 0x10]
movaps xmm1, xmmword [esp + 0x130]
mov dword [esp + 0x214], esi
movdqa xmm0, xmmword [esp + 0x70]
movaps xmm2, xmmword [esp + 0x200]
lea esi, [esp + 0x5b8]
lea edx, [esp + 0x794]
mov ecx, esi
mov dword [esp + 0x210], eax
movups xmmword [esp + 0x218], xmm1
movaps xmm1, xmmword [esp + 0xc0]
movdqu xmmword [esp + 0x228], xmm0
movups xmmword [esp + 0x248], xmm2
movaps xmm2, xmmword [esp + 0xb0]
lea eax, [esp + 0x2f0]
movups xmmword [esp + 0x238], xmm1
movaps xmm1, xmmword [esp + 0x100]
movups xmmword [esp + 0x268], xmm2
movsd xmm2, qword [esp + 0x98]
movups xmmword [esp + 0x258], xmm1
movsd xmm1, qword [esp + 0xa0]
movsd qword [eax - 0x78], xmm2
movsd xmm2, qword [esp + 0x8a8]
movsd qword [eax - 0x70], xmm1
movsd xmm1, qword [esp + 0x8b0]
movsd qword [eax - 0x50], xmm2
movsd xmm2, qword [esp + 0x890]
movsd qword [eax - 0x48], xmm1
movsd xmm1, qword [esp + 0x8a0]
movsd qword [eax - 0x68], xmm2
movsd qword [eax - 0x58], xmm1
movsd xmm1, qword [esp + 0x898]
movsd qword [eax - 0x60], xmm1
lea eax, [esp + 0x210]
mov dword [esp + 0x2b0], 0
mov dword [esp + 0x2b4], ebx
push eax
call fcn.1006a250
add esp, 4
mov eax, dword [esp + 0x5b8]
mov dword [esp + 0x210], ebx
xor eax, 4
or eax, dword [esp + 0x5bc]
jne 0x1005be6c
mov ecx, ebx
xor esi, esi
xor edx, edx
jmp 0x1005c8b5
movsd xmm1, qword [esp + 0x6c0]
movsd xmm6, qword [esp + 0x188]
movsd xmm0, qword [esp + 0x6b8]
mov ecx, dword [esp + 0x790]
mov eax, 1
xor edx, edx
movsd qword [esp + 0xa0], xmm1
movsd xmm1, qword [esp + 0x190]
movsd qword [esp + 0x890], xmm6
movsd xmm6, qword [esp + 0x1a0]
movsd qword [esp + 0x98], xmm0
movsd qword [esp + 0x898], xmm1
movsd xmm1, qword [esp + 0x198]
movsd qword [esp + 0x8a8], xmm6
movsd qword [esp + 0x8a0], xmm1
movsd xmm1, qword [esp + 0x1a8]
movsd qword [esp + 0x8b0], xmm1
lock cmpxchg dword [ecx + 8], edx
je 0x1005bcac
cmp byte [esp + 0x798], 0
je 0x1005bcac
movsd xmm1, qword [esp + 0xa0]
movsd xmm6, qword [esp + 0x890]
movsd xmm0, qword [esp + 0x98]
movsd qword [esp + 0x458], xmm1
movsd xmm1, qword [esp + 0x898]
movsd qword [esp + 0x1c8], xmm6
movsd xmm6, qword [esp + 0x8a8]
movsd qword [esp + 0x450], xmm0
movsd qword [esp + 0x1d0], xmm1
movsd xmm1, qword [esp + 0x8a0]
movsd qword [esp + 0x1e0], xmm6
movsd qword [esp + 0x1d8], xmm1
movsd xmm1, qword [esp + 0x8b0]
movsd qword [esp + 0x1e8], xmm1
jmp 0x1005c516
movaps xmmword [esp + 0x100], xmm5
movaps xmmword [esp + 0xb0], xmm4
movdqa xmmword [esp + 0xc0], xmm3
movaps xmmword [esp + 0x70], xmm2
mov byte [esp + 0x798], 1
call sub.KERNEL32.dll_GetProcessHeap
push 0xd0
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1005ec76
mov ecx, eax
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 0xc], 0
mov dword [eax + 8], 2
add ecx, 0x10
push 0xa8
lea ebx, [esp + 0x214]
push ebx
push ecx
mov ebx, eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [ebx + 0xb8], 0
lock inc dword [ebx]
jle 0x1005eb1b
mov eax, dword [esp + 0x10]
movaps xmm1, xmmword [esp + 0x130]
mov dword [esp + 0x214], esi
movdqa xmm0, xmmword [esp + 0x70]
movaps xmm2, xmmword [esp + 0x200]
lea esi, [esp + 0x5b8]
lea edx, [esp + 0x794]
mov ecx, esi
mov dword [esp + 0x210], eax
movups xmmword [esp + 0x218], xmm1
movaps xmm1, xmmword [esp + 0xc0]
movdqu xmmword [esp + 0x228], xmm0
movups xmmword [esp + 0x248], xmm2
movaps xmm2, xmmword [esp + 0xb0]
lea eax, [esp + 0x2f0]
movups xmmword [esp + 0x238], xmm1
movaps xmm1, xmmword [esp + 0x100]
movups xmmword [esp + 0x268], xmm2
movsd xmm2, qword [esp + 0x98]
movups xmmword [esp + 0x258], xmm1
movsd xmm1, qword [esp + 0xa0]
movsd qword [eax - 0x78], xmm2
movsd xmm2, qword [esp + 0x8a8]
movsd qword [eax - 0x70], xmm1
movsd xmm1, qword [esp + 0x8b0]
movsd qword [eax - 0x50], xmm2
movsd xmm2, qword [esp + 0x890]
movsd qword [eax - 0x48], xmm1
movsd xmm1, qword [esp + 0x8a0]
movsd qword [eax - 0x68], xmm2
movsd qword [eax - 0x58], xmm1
movsd xmm1, qword [esp + 0x898]
movsd qword [eax - 0x60], xmm1
lea eax, [esp + 0x210]
mov dword [esp + 0x2b0], 0
mov dword [esp + 0x2b4], ebx
push eax
call fcn.1006a250
add esp, 4
mov eax, dword [esp + 0x5b8]
mov dword [esp + 0x210], ebx
xor eax, 4
or eax, dword [esp + 0x5bc]
jne 0x1005c2ba
mov ecx, ebx
xor esi, esi
xor edx, edx
jmp 0x1005c7e5
push 0xa8
push esi
lea esi, [esp + 0x368]
push esi
call sub.VCRUNTIME140.dll_memcpy
mov edx, ebx
add esp, 0xc
mov eax, dword [ebx + 0xb8]
nop word [eax + eax]
mov ecx, eax
or ecx, 4
lock cmpxchg dword [edx + 0xb8], ecx
jne 0x1005be90
and eax, 0xa
cmp eax, 8
jne 0x1005bebb
mov eax, dword [edx + 0xc0]
push dword [edx + 0xbc]
call dword [eax + 8]
mov edx, ebx
add esp, 4
lock dec dword [edx]
jne 0x1005becc
lea ecx, [esp + 0x210]
call fcn.100646e0
push 0xa8
push esi
lea esi, [esp + 0x5c0]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movdqu xmm0, xmmword [esp + 0x5b8]
movaps xmm2, xmmword [0x103e6600]
movups xmm1, xmmword [esp + 0x5c8]
pshufd xmm3, xmm0, 0xe5
movd eax, xmm0
movups xmmword [esp + 0x5b8], xmm2
movd ecx, xmm3
mov dword [esp + 0x10], eax
xor eax, 3
or eax, ecx
mov dword [esp + 0xf0], ecx
je 0x1005ec87
movdqu xmmword [esp + 0x210], xmm0
movups xmm0, xmmword [esp + 0x5d8]
movups xmmword [esp + 0x220], xmm1
mov eax, dword [esp + 0x658]
mov ecx, dword [esp + 0x65c]
movups xmm2, xmmword [esp + 0x638]
movdqu xmm3, xmmword [esp + 0x648]
movups xmm4, xmmword [esp + 0x628]
movups xmm5, xmmword [esp + 0x618]
movups xmm1, xmmword [esp + 0x608]
movups xmmword [esp + 0x230], xmm0
movups xmm0, xmmword [esp + 0x5e8]
movups xmmword [esp + 0x240], xmm0
movups xmm0, xmmword [esp + 0x5f8]
movups xmmword [esp + 0x260], xmm1
movups xmmword [esp + 0x250], xmm0
movups xmmword [esp + 0x270], xmm5
movups xmmword [esp + 0x280], xmm4
movdqu xmmword [esp + 0x2a0], xmm3
movups xmmword [esp + 0x290], xmm2
mov dword [esp + 0x2b4], ecx
mov dword [esp + 0x2b0], eax
lea eax, [esp + 0x2f0]
lea ecx, [esp + 0x2b0]
movups xmm2, xmmword [esp + 0x218]
movups xmm1, xmmword [esp + 0x248]
movups xmm0, xmmword [esp + 0x228]
movaps xmmword [esp + 0x130], xmm2
movaps xmmword [esp + 0x200], xmm1
movups xmm2, xmmword [esp + 0x238]
movups xmm1, xmmword [esp + 0x268]
movaps xmmword [esp + 0x70], xmm0
movaps xmmword [esp + 0xc0], xmm2
movaps xmmword [esp + 0xb0], xmm1
movsd xmm2, qword [eax - 0x70]
movsd xmm1, qword [eax - 0x78]
movsd qword [esp + 0x458], xmm2
movsd qword [esp + 0x450], xmm1
movsd xmm2, qword [eax - 0x68]
movsd xmm1, qword [eax - 0x60]
movsd qword [esp + 0x1c8], xmm2
movsd qword [esp + 0x1d0], xmm1
movsd xmm2, qword [eax - 0x58]
movsd xmm1, qword [eax - 0x50]
movsd qword [esp + 0x1d8], xmm2
movsd qword [esp + 0x1e0], xmm1
movsd xmm2, qword [eax - 0x48]
movups xmm1, xmmword [esp + 0x258]
movsd qword [esp + 0x1e8], xmm2
movaps xmmword [esp + 0x100], xmm1
call fcn.10064630
mov ecx, esi
call fcn.10063c80
movsd xmm1, qword [esp + 0x458]
movsd xmm2, qword [esp + 0x1c8]
movq xmm0, qword [esp + 0x450]
movsd qword [esp + 0x898], xmm1
movsd xmm1, qword [esp + 0x1d0]
movsd qword [esp + 0x210], xmm2
movsd xmm2, qword [esp + 0x1e0]
movq qword [esp + 0x890], xmm0
movsd qword [esp + 0x218], xmm1
movsd xmm1, qword [esp + 0x1d8]
movsd qword [esp + 0x228], xmm2
movsd qword [esp + 0x220], xmm1
movsd xmm1, qword [esp + 0x1e8]
movsd qword [esp + 0x230], xmm1
mov eax, dword [0x104debf8]
cmp eax, 4
jb 0x1005c13a
mov eax, dword [0x104debfc]
mov eax, dword [0x104d53e8]
add eax, 0xfffffffe
cmp eax, 4
jb 0x1005c24e
mov ecx, dword [0x104d4cfc]
test ecx, ecx
je 0x1005c24e
mov al, 1
cmp ecx, 1
je 0x1005c16b
cmp ecx, 2
jne 0x10058874
mov al, 2
movzx edx, al
mov ecx, 0x104d4cfc
call fcn.10109d10
test al, al
je 0x1005c24e
mov ecx, dword [0x104d4d00]
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x1005ec98
mov edx, dword [ecx + 0x2c]
mov esi, dword [ecx + 0x34]
mov edi, dword [ecx + 0x38]
mov dword [esp + 0x360], 0
mov dword [esp + 0x5b8], 0x1041a2f0
mov dword [esp + 0x5bc], 1
mov dword [esp + 0x5c0], 0
mov dword [esp + 0x5c8], 0x1044b054
mov dword [esp + 0x5cc], 0
mov dword [esp + 0x364], edx
lea edx, [esp + 0x6ac]
mov dword [esp + 0x368], eax
mov dword [esp + 0x36c], esi
lea esi, [esp + 0x360]
lea eax, [ecx + 0x2c]
mov dword [esp + 0x370], edi
mov dword [esp + 0x98], edx
lea edx, [esp + 0x5b8]
mov dword [esp + 0x6ac], esi
mov dword [esp + 0x9c], 1
mov dword [esp + 0xa0], eax
mov dword [esp + 0x6b0], edx
lea edx, [esp + 0x98]
mov dword [esp + 0x6b4], 0x10419960
call fcn.1010a570
call sub.KERNEL32.dll_GetProcessHeap
push 0xc
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1005ecd3
mov ecx, str.connection_was_not_ready4
mov edx, 0x18
mov dword [eax], 0
mov byte [eax + 8], 4
mov edi, eax
call fcn.1004c640
mov esi, dword [edi]
mov ecx, edi
mov dword [esp + 0x30], eax
test esi, esi
je 0x1005c81f
mov ebx, dword [ecx + 4]
push esi
call dword [ebx]
mov ecx, edi
add esp, 4
cmp dword [ebx + 4], 0
je 0x1005c81f
cmp dword [ebx + 8], 9
jae 0x1005c80d
call sub.KERNEL32.dll_GetProcessHeap
push esi
jmp 0x1005c815
push 0xa8
push esi
lea esi, [esp + 0x368]
push esi
call sub.VCRUNTIME140.dll_memcpy
mov edx, ebx
add esp, 0xc
mov eax, dword [ebx + 0xb8]
nop dword [eax + eax]
mov ecx, eax
or ecx, 4
lock cmpxchg dword [edx + 0xb8], ecx
jne 0x1005c2e0
and eax, 0xa
cmp eax, 8
jne 0x1005c30b
mov eax, dword [edx + 0xc0]
push dword [edx + 0xbc]
call dword [eax + 8]
mov edx, ebx
add esp, 4
lock dec dword [edx]
jne 0x1005c31c
lea ecx, [esp + 0x210]
call fcn.100646e0
push 0xa8
push esi
lea esi, [esp + 0x5c0]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movdqu xmm0, xmmword [esp + 0x5b8]
movaps xmm2, xmmword [0x103e6600]
movups xmm1, xmmword [esp + 0x5c8]
movups xmmword [esp + 0x5b8], xmm2
pshufd xmm2, xmm0, 0xe5
movd eax, xmm0
mov dword [esp + 0x10], eax
movd ecx, xmm2
xor eax, 3
or eax, ecx
je 0x1005eca9
movdqu xmmword [esp + 0x210], xmm0
movups xmm0, xmmword [esp + 0x5d8]
movups xmmword [esp + 0x220], xmm1
mov edi, ecx
mov eax, dword [esp + 0x658]
mov ecx, dword [esp + 0x65c]
movups xmm2, xmmword [esp + 0x638]
movups xmm3, xmmword [esp + 0x648]
movups xmm4, xmmword [esp + 0x628]
movups xmm5, xmmword [esp + 0x618]
movups xmm1, xmmword [esp + 0x608]
movups xmmword [esp + 0x230], xmm0
movups xmm0, xmmword [esp + 0x5e8]
movups xmmword [esp + 0x240], xmm0
movups xmm0, xmmword [esp + 0x5f8]
movups xmmword [esp + 0x260], xmm1
movups xmmword [esp + 0x250], xmm0
movups xmmword [esp + 0x270], xmm5
movups xmmword [esp + 0x280], xmm4
movups xmmword [esp + 0x2a0], xmm3
movups xmmword [esp + 0x290], xmm2
mov dword [esp + 0x2b4], ecx
mov dword [esp + 0x2b0], eax
lea eax, [esp + 0x2f0]
lea ecx, [esp + 0x2b0]
movups xmm2, xmmword [esp + 0x218]
movups xmm1, xmmword [esp + 0x248]
movups xmm0, xmmword [esp + 0x228]
movaps xmmword [esp + 0x130], xmm2
movaps xmmword [esp + 0x200], xmm1
movups xmm2, xmmword [esp + 0x238]
movups xmm1, xmmword [esp + 0x268]
movaps xmmword [esp + 0x70], xmm0
movaps xmmword [esp + 0xc0], xmm2
movaps xmmword [esp + 0xb0], xmm1
movsd xmm2, qword [eax - 0x70]
movsd xmm1, qword [eax - 0x78]
movsd qword [esp + 0x458], xmm2
movsd qword [esp + 0x450], xmm1
movsd xmm2, qword [eax - 0x68]
movsd xmm1, qword [eax - 0x60]
movsd qword [esp + 0x1c8], xmm2
movsd qword [esp + 0x1d0], xmm1
movsd xmm2, qword [eax - 0x58]
movsd xmm1, qword [eax - 0x50]
movsd qword [esp + 0x1d8], xmm2
movsd qword [esp + 0x1e0], xmm1
movsd xmm2, qword [eax - 0x48]
movups xmm1, xmmword [esp + 0x258]
movsd qword [esp + 0x1e8], xmm2
movaps xmmword [esp + 0x100], xmm1
call fcn.10064630
mov ecx, esi
call fcn.10063c80
movaps xmm5, xmmword [esp + 0x100]
movaps xmm4, xmmword [esp + 0xb0]
movdqa xmm3, xmmword [esp + 0xc0]
movaps xmm2, xmmword [esp + 0x70]
mov esi, edi
movsd xmm1, qword [esp + 0x458]
movaps xmmword [esp + 0x70], xmm2
movsd xmm2, qword [esp + 0x1c8]
movq xmm0, qword [esp + 0x450]
movaps xmmword [esp + 0x100], xmm5
movaps xmmword [esp + 0xb0], xmm4
movdqa xmmword [esp + 0xc0], xmm3
movsd qword [esp + 0x898], xmm1
movsd xmm1, qword [esp + 0x1d0]
movsd qword [esp + 0x210], xmm2
movsd xmm2, qword [esp + 0x1e0]
movq qword [esp + 0x890], xmm0
movsd qword [esp + 0x218], xmm1
movsd xmm1, qword [esp + 0x1d8]
movsd qword [esp + 0x228], xmm2
movsd qword [esp + 0x220], xmm1
movsd xmm1, qword [esp + 0x1e8]
movsd qword [esp + 0x230], xmm1
mov eax, dword [0x104debf8]
cmp eax, 4
jb 0x1005c5c1
mov eax, dword [0x104debfc]
mov eax, dword [0x104d53e8]
add eax, 0xfffffffe
cmp eax, 4
jb 0x1005c6d9
mov ecx, dword [0x104d4cf0]
test ecx, ecx
je 0x1005c6d9
mov al, 1
cmp ecx, 1
je 0x1005c5f2
cmp ecx, 2
jne 0x10058846
mov al, 2
movzx edx, al
mov ecx, 0x104d4cf0
call fcn.10109d10
test al, al
je 0x1005c6d9
mov ecx, dword [0x104d4cf4]
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x1005ecba
mov edx, dword [ecx + 0x2c]
mov ebx, esi
mov esi, dword [ecx + 0x34]
mov edi, dword [ecx + 0x38]
mov dword [esp + 0x360], 0
mov dword [esp + 0x5b8], 0x1041a2f0
mov dword [esp + 0x5bc], 1
mov dword [esp + 0x5c0], 0
mov dword [esp + 0x5c8], 0x1044b054
mov dword [esp + 0x5cc], 0
mov dword [esp + 0x364], edx
lea edx, [esp + 0x6ac]
mov dword [esp + 0x368], eax
mov dword [esp + 0x36c], esi
mov dword [esp + 0x370], edi
lea edi, [esp + 0x360]
lea eax, [ecx + 0x2c]
mov dword [esp + 0x98], edx
lea edx, [esp + 0x5b8]
mov dword [esp + 0x6ac], edi
mov dword [esp + 0x9c], 1
mov dword [esp + 0xa0], eax
mov dword [esp + 0x6b0], edx
lea edx, [esp + 0x98]
mov dword [esp + 0x6b4], 0x10419960
call fcn.1010a570
mov esi, ebx
mov dword [esp + 0xf0], esi
call sub.KERNEL32.dll_GetProcessHeap
push 0xc
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1005ecd3
mov ecx, str.connection_was_not_ready4
mov edx, 0x18
mov dword [eax], 0
mov byte [eax + 8], 4
mov edi, eax
call fcn.1004c640
mov esi, dword [edi]
mov ecx, edi
mov dword [esp + 0x30], eax
test esi, esi
je 0x1005c74f
mov ebx, dword [ecx + 4]
push esi
call dword [ebx]
mov ecx, edi
add esp, 4
cmp dword [ebx + 4], 0
je 0x1005c74f
cmp dword [ebx + 8], 9
jae 0x1005c73d
call sub.KERNEL32.dll_GetProcessHeap
push esi
jmp 0x1005c745
call sub.KERNEL32.dll_GetProcessHeap
push dword [esi - 4]
push 0
push eax
call sub.KERNEL32.dll_HeapFree
mov ecx, edi
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x2c]
xor edx, edx
mov esi, 1
mov dword [ecx], eax
mov dword [ecx + 4], 0x1041909c
movsd xmm1, qword [esp + 0x898]
movsd xmm2, qword [esp + 0x210]
movsd xmm0, qword [esp + 0x890]
movsd qword [esp + 0x368], xmm1
movsd xmm1, qword [esp + 0x218]
movsd qword [esp + 0x5b8], xmm2
movsd xmm2, qword [esp + 0x228]
movsd qword [esp + 0x360], xmm0
movsd qword [esp + 0x5c0], xmm1
movsd xmm1, qword [esp + 0x220]
movsd qword [esp + 0x5d0], xmm2
movsd qword [esp + 0x5c8], xmm1
movsd xmm1, qword [esp + 0x230]
movsd qword [esp + 0x5d8], xmm1
movsd xmm1, qword [esp + 0x368]
movsd xmm2, qword [esp + 0x5b8]
movsd xmm0, qword [esp + 0x360]
mov dword [esp + 8], 0
jmp 0x1005c8d6
call sub.KERNEL32.dll_GetProcessHeap
push dword [esi - 4]
push 0
push eax
call sub.KERNEL32.dll_HeapFree
mov ecx, edi
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x2c]
xor edx, edx
mov esi, 1
mov dword [ecx], eax
mov dword [ecx + 4], 0x1041909c
movsd xmm1, qword [esp + 0x898]
movsd xmm2, qword [esp + 0x210]
movsd xmm0, qword [esp + 0x890]
movsd qword [esp + 0x368], xmm1
movsd xmm1, qword [esp + 0x218]
movsd qword [esp + 0x5b8], xmm2
movsd xmm2, qword [esp + 0x228]
movsd qword [esp + 0x360], xmm0
movsd qword [esp + 0x5c0], xmm1
movsd xmm1, qword [esp + 0x220]
movsd qword [esp + 0x5d0], xmm2
movsd qword [esp + 0x5c8], xmm1
movsd xmm1, qword [esp + 0x230]
movsd qword [esp + 0x5d8], xmm1
movsd xmm1, qword [esp + 0x368]
movsd xmm2, qword [esp + 0x5b8]
movsd xmm0, qword [esp + 0x360]
mov al, 1
mov dword [esp + 8], eax
movsd qword [esp + 0x898], xmm1
movsd xmm1, qword [esp + 0x5c0]
movsd qword [esp + 0x210], xmm2
movsd xmm2, qword [esp + 0x5d0]
movsd qword [esp + 0x890], xmm0
movsd qword [esp + 0x218], xmm1
movsd xmm1, qword [esp + 0x5c8]
movsd qword [esp + 0x228], xmm2
movsd qword [esp + 0x220], xmm1
movsd xmm1, qword [esp + 0x5d8]
movsd qword [esp + 0x230], xmm1
movsd xmm1, qword [esp + 0x898]
movsd xmm2, qword [esp + 0x210]
mov ebx, dword [esp + 0x78c]
mov al, byte [esp + 0x7b8]
movsd xmm0, qword [esp + 0x890]
movsd qword [esp + 0xaf0], xmm1
movsd xmm1, qword [esp + 0x218]
movsd qword [esp + 0x580], xmm2
movsd xmm2, qword [esp + 0x228]
cmp ebx, 2
mov byte [esp + 0xac], al
movsd qword [esp + 0xae8], xmm0
movsd qword [esp + 0x588], xmm1
movsd xmm1, qword [esp + 0x220]
movsd qword [esp + 0x598], xmm2
movsd qword [esp + 0x590], xmm1
movsd xmm1, qword [esp + 0x230]
movsd qword [esp + 0x5a0], xmm1
je 0x1005e970
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x780]
mov dword [esp + 0xd0], edx
test ecx, ecx
je 0x1005ca09
mov eax, dword [esp + 0x784]
push ecx
call dword [eax + 0xc]
add esp, 4
mov ebx, dword [esp + 0x78c]
mov dword [esp + 0x758], edx
jmp 0x1005ca0b
xor eax, eax
movsd xmm1, qword [esp + 0xaf0]
movsd xmm2, qword [esp + 0x580]
movsd xmm0, qword [esp + 0xae8]
mov ecx, dword [esp + 0xa99]
mov edx, dword [esp + 0xa9c]
cmp ebx, 2
movsd qword [esp + 0x368], xmm1
movsd xmm1, qword [esp + 0x588]
movsd qword [esp + 0x210], xmm2
movsd xmm2, qword [esp + 0x598]
mov dword [esp + 0x98], ecx
movsd qword [esp + 0x360], xmm0
mov dword [esp + 0x9b], edx
movsd qword [esp + 0x218], xmm1
movsd xmm1, qword [esp + 0x590]
movsd qword [esp + 0x228], xmm2
movsd qword [esp + 0x220], xmm1
movsd xmm1, qword [esp + 0x5a0]
movsd qword [esp + 0x230], xmm1
je 0x1005e970
mov dword [esp + 0x760], eax
mov eax, dword [esp + 0x790]
mov eax, dword [eax + 8]
cmp eax, 3
jne 0x1005cbcd
movsd xmm1, qword [esp + 0x368]
movsd xmm2, qword [esp + 0x210]
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9b]
movsd xmm0, qword [esp + 0x360]
mov dword [esp + 0x120], 0
movsd qword [esp + 0x898], xmm1
movsd xmm1, qword [esp + 0x218]
movsd qword [esp + 0x5b8], xmm2
movsd xmm2, qword [esp + 0x228]
mov dword [esp + 0x1c8], eax
mov dword [esp + 0x1cb], ecx
lea ecx, [esp + 0x780]
movsd qword [esp + 0x890], xmm0
movsd qword [esp + 0x5c0], xmm1
movsd xmm1, qword [esp + 0x220]
movsd qword [esp + 0x5d0], xmm2
movsd qword [esp + 0x5c8], xmm1
movsd xmm1, qword [esp + 0x230]
movsd qword [esp + 0x5d8], xmm1
call fcn.1005f910
mov edx, esi
xor ecx, ecx
xor ebx, ebx
mov dword [esp + 0x48], 1
mov dword [esp + 0x80], 0
mov eax, dword [esp + 0x500]
mov dword [esp + 0x110], 0
mov dword [esp + 0x30], ecx
mov dword [esp + 0x50], edx
mov dword [esp + 0xe0], ebx
test eax, eax
je 0x1005cbc8
lock dec dword [eax]
jne 0x1005cbc8
lea ecx, [esp + 0x500]
call fcn.10116bf0
jmp 0x1005cd4f
movsd xmm1, qword [esp + 0x368]
movsd xmm2, qword [esp + 0x220]
mov eax, dword [esp + 0x500]
mov ecx, dword [esp + 0x9b]
movsd xmm0, qword [esp + 0x360]
movq xmm3, qword [esp + 0x210]
mov dword [esp + 0x120], 0
mov dword [esp + 0x80], 1
mov dword [esp + 0x50], esi
mov dword [esp + 0x30], 0
mov dword [esp + 0xe0], 0
mov dword [esp + 0x48], 1
mov dword [esp + 0x110], 0
movsd qword [esp + 0x898], xmm1
movsd xmm1, qword [esp + 0x218]
movsd qword [esp + 0x5c8], xmm2
movsd xmm2, qword [esp + 0x230]
mov dword [esp + 0x750], eax
mov eax, dword [esp + 0x504]
mov dword [esp + 0x1cb], ecx
movsd qword [esp + 0x890], xmm0
movq qword [esp + 0x5b8], xmm3
movsd qword [esp + 0x5c0], xmm1
movsd xmm1, qword [esp + 0x228]
movsd qword [esp + 0x5d8], xmm2
movsd xmm2, qword [esp + 0x7a8]
mov dword [esp + 0x754], eax
mov eax, dword [esp + 0x98]
movsd qword [esp + 0x5d0], xmm1
movsd xmm1, qword [esp + 0x7b0]
movsd qword [esp + 0x6f0], xmm2
movsd xmm2, qword [esp + 0x798]
mov dword [esp + 0x1c8], eax
mov eax, dword [esp + 0x7b8]
movsd qword [esp + 0x6f8], xmm1
movsd xmm1, qword [esp + 0x7a0]
movsd qword [esp + 0x6e0], xmm2
movsd xmm2, qword [esp + 0x780]
mov dword [esp + 0x700], eax
movsd qword [esp + 0x6e8], xmm1
movsd xmm1, qword [esp + 0x790]
movsd qword [esp + 0x6c8], xmm2
movsd qword [esp + 0x6d8], xmm1
movsd xmm1, qword [esp + 0x788]
movsd qword [esp + 0x6d0], xmm1
movsd xmm1, qword [esp + 0x898]
movsd xmm2, qword [esp + 0x5c8]
mov eax, dword [esp + 8]
movsd xmm0, qword [esp + 0x890]
movq xmm3, qword [esp + 0x5b8]
mov ecx, dword [esp + 0x1cb]
mov bl, 1
movsd qword [esp + 0x218], xmm1
movsd xmm1, qword [esp + 0x5c0]
movsd qword [esp + 0x470], xmm2
movsd xmm2, qword [esp + 0x5d8]
movzx eax, al
movsd qword [esp + 0x210], xmm0
movq qword [esp + 0x460], xmm3
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x1c8]
movsd qword [esp + 0x468], xmm1
movsd xmm1, qword [esp + 0x5d0]
movsd qword [esp + 0x480], xmm2
movsd xmm2, qword [esp + 0x6f0]
mov dword [esp + 0x360], eax
mov eax, dword [esp + 0x700]
mov dword [esp + 0x363], ecx
movsd qword [esp + 0x478], xmm1
movsd xmm1, qword [esp + 0x6f8]
movsd qword [esp + 0x168], xmm2
movsd xmm2, qword [esp + 0x6e0]
mov dword [esp + 0x178], eax
movsd qword [esp + 0x170], xmm1
movsd xmm1, qword [esp + 0x6e8]
movsd qword [esp + 0x158], xmm2
movsd xmm2, qword [esp + 0x6c8]
movsd qword [esp + 0x160], xmm1
movsd xmm1, qword [esp + 0x6d8]
movsd qword [esp + 0x140], xmm2
movsd qword [esp + 0x150], xmm1
movsd xmm1, qword [esp + 0x6d0]
movsd qword [esp + 0x148], xmm1
movsd xmm1, qword [esp + 0x218]
movsd xmm2, qword [esp + 0x470]
mov eax, dword [esp + 0x360]
mov ecx, dword [esp + 0x363]
movsd xmm0, qword [esp + 0x210]
movq xmm3, qword [esp + 0x460]
movsd qword [esp + 0x888], xmm1
movsd xmm1, qword [esp + 0x468]
movsd qword [esp + 0xab0], xmm2
movsd xmm2, qword [esp + 0x480]
mov dword [esp + 0x748], eax
mov eax, dword [esp + 0x178]
mov dword [esp + 0x74b], ecx
mov ecx, edi
movsd qword [esp + 0x880], xmm0
movq qword [esp + 0xaa0], xmm3
movsd qword [esp + 0xaa8], xmm1
movsd xmm1, qword [esp + 0x478]
movsd qword [esp + 0xac0], xmm2
movsd xmm2, qword [esp + 0x168]
mov dword [esp + 0x338], eax
movsd qword [esp + 0xab8], xmm1
movsd xmm1, qword [esp + 0x170]
movsd qword [esp + 0x328], xmm2
movsd xmm2, qword [esp + 0x158]
movsd qword [esp + 0x330], xmm1
movsd xmm1, qword [esp + 0x160]
movsd qword [esp + 0x318], xmm2
movsd xmm2, qword [esp + 0x140]
movsd qword [esp + 0x320], xmm1
movsd xmm1, qword [esp + 0x150]
movsd qword [esp + 0x300], xmm2
movsd qword [esp + 0x310], xmm1
movsd xmm1, qword [esp + 0x148]
movsd qword [esp + 0x308], xmm1
call fcn.1005ed30
test bl, bl
je 0x1005d9a4
mov eax, dword [esp + 0x48]
mov dword [edi + 4], 0
mov dword [edi], 1
movaps xmm0, xmmword [esp + 0x130]
mov edx, dword [esp + 0x76c]
mov ebx, dword [ebp + 8]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x110]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x80]
mov dword [edi + 0x10], eax
mov eax, dword [esp + 0xe0]
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x340]
mov dword [edi + 0x18], eax
mov eax, dword [esp + 0x120]
mov dword [edi + 0x1c], eax
mov eax, dword [esp + 0xd0]
mov dword [edi + 0x20], esi
mov dword [edi + 0x24], eax
mov eax, dword [esp + 0x50]
mov dword [edi + 0x28], eax
mov eax, dword [esp + 0x30]
mov dword [edi + 0x2c], eax
mov eax, dword [esp + 0x28]
mov dword [edi + 0x30], eax
mov eax, dword [esp + 0xc]
mov dword [edi + 0x34], eax
mov eax, dword [esp + 0x10]
mov dword [edi + 0x38], eax
mov eax, dword [esp + 0xf0]
mov dword [edi + 0x3c], eax
movups xmmword [edi + 0x40], xmm0
movaps xmm0, xmmword [esp + 0x70]
mov eax, dword [esp + 0x770]
movups xmmword [edi + 0x50], xmm0
movaps xmm0, xmmword [esp + 0xc0]
movups xmmword [edi + 0x60], xmm0
movaps xmm0, xmmword [esp + 0x200]
movups xmmword [edi + 0x70], xmm0
movaps xmm0, xmmword [esp + 0x100]
movups xmmword [edi + 0x80], xmm0
movaps xmm0, xmmword [esp + 0xb0]
movups xmmword [edi + 0x90], xmm0
movsd xmm0, qword [esp + 0x880]
movsd xmm1, qword [esp + 0x888]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov eax, dword [esp + 0x5b4]
movsd xmm0, qword [esp + 0xac0]
movsd qword [eax + 0x20], xmm0
movsd xmm0, qword [esp + 0xab8]
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [esp + 0xab0]
movsd qword [eax + 0x10], xmm0
movsd xmm0, qword [esp + 0xaa0]
movsd xmm1, qword [esp + 0xaa8]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov al, byte [esp + 0xac]
mov byte [edi + 0xe0], al
mov eax, dword [esp + 0x748]
mov ecx, dword [esp + 0x74b]
mov dword [edx + 3], ecx
mov dword [edx], eax
mov eax, dword [esp + 0x760]
mov ecx, dword [esp + 0x5b0]
mov dword [edi + 0xe8], eax
mov eax, dword [esp + 0x758]
mov dword [edi + 0xec], eax
mov eax, dword [esp + 0x338]
mov dword [ecx + 0x38], eax
mov eax, dword [esp + 0x750]
movsd xmm0, qword [esp + 0x330]
movsd qword [ecx + 0x30], xmm0
movsd xmm0, qword [esp + 0x328]
movsd qword [ecx + 0x28], xmm0
movsd xmm0, qword [esp + 0x320]
movsd qword [ecx + 0x20], xmm0
movsd xmm0, qword [esp + 0x318]
movsd qword [ecx + 0x18], xmm0
movsd xmm0, qword [esp + 0x310]
movsd qword [ecx + 0x10], xmm0
movq xmm0, qword [esp + 0x300]
movsd xmm1, qword [esp + 0x308]
movsd qword [ecx + 8], xmm1
movq qword [ecx], xmm0
mov dword [edi + 0x12c], eax
mov eax, dword [esp + 0x754]
lea ecx, [esp + 0xaf8]
mov dword [edi + 0x130], eax
mov eax, 1
test eax, eax
je 0x100588b0
cmp eax, 1
jne 0x1005e934
mov ecx, dword [esp + 0x1b0]
mov eax, dword [ecx]
or eax, dword [ecx + 4]
je 0x1005d25a
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx]
or eax, dword [ecx + 4]
je 0x1005d37d
mov esi, dword [esp + 0x358]
mov eax, dword [esi]
xor eax, 4
or eax, dword [esi + 4]
je 0x1005e920
lea ecx, [esp + 0x460]
mov edx, esi
push ebx
call fcn.1006a3e0
add esp, 4
mov edi, dword [esp + 0x460]
mov ecx, dword [esp + 0x464]
mov eax, edi
xor eax, 2
or eax, ecx
jne 0x1005d3c8
mov dword [esp + 0x984], 0
mov dword [esp + 0x980], 2
jmp 0x1005d3af
movups xmm1, xmmword [edi + 0x20]
movdqu xmm0, xmmword [edi + 0x10]
mov eax, dword [esp + 0x5b4]
movaps xmmword [esp + 0x1b0], xmm1
movaps xmm1, xmmword [0x103e6630]
movups xmmword [edi + 0x10], xmm1
movups xmm1, xmmword [edi + 0x40]
movsd xmm3, qword [eax]
movups xmm6, xmmword [edi + 0x30]
movups xmm7, xmmword [edi + 0x50]
movups xmm5, xmmword [edi + 0xa0]
movups xmm2, xmmword [edi + 0x90]
movsd xmm4, qword [eax + 8]
movaps xmmword [esp + 0x10], xmm1
movups xmm1, xmmword [edi + 0x60]
movaps xmmword [esp + 0x30], xmm1
movups xmm1, xmmword [edi + 0x80]
movaps xmmword [esp + 0x50], xmm1
movups xmm1, xmmword [edi + 0x70]
movd edi, xmm0
movsd qword [esp + 0x460], xmm3
pshufd xmm3, xmm0, 0xe5
movsd qword [esp + 0x468], xmm4
mov eax, edi
movd esi, xmm3
xor eax, 2
or eax, esi
je 0x1005e95c
movaps xmm3, xmmword [esp + 0x1b0]
movaps xmm4, xmmword [esp + 0x10]
movdqu xmmword [esp + 0x980], xmm0
movups xmmword [esp + 0x990], xmm3
movdqa xmm3, xmmword [esp + 0x30]
movups xmmword [esp + 0x9a0], xmm6
movups xmmword [esp + 0x9b0], xmm4
movups xmmword [esp + 0x9c0], xmm7
movdqu xmmword [esp + 0x9d0], xmm3
movups xmmword [esp + 0x9e0], xmm1
movaps xmm1, xmmword [esp + 0x50]
movups xmmword [esp + 0x9f0], xmm1
movups xmmword [esp + 0xa00], xmm2
movsd xmm2, qword [esp + 0x460]
movsd xmm1, qword [esp + 0x468]
movups xmmword [esp + 0xa10], xmm5
movsd qword [esp + 0xa20], xmm2
movsd qword [esp + 0xa28], xmm1
jmp 0x1005d756
mov edx, dword [esp + 0x358]
lea ecx, [esp + 0x980]
push ebx
call fcn.1006a3e0
add esp, 4
mov edi, dword [esp + 0x980]
mov esi, dword [esp + 0x984]
mov eax, edi
xor eax, 2
or eax, esi
jne 0x1005d756
mov eax, dword [esp + 0x354]
mov dword [eax + 4], 0
mov dword [eax], 2
jmp 0x1005d99c
mov dword [esp + 0x1b0], ecx
lea eax, [esp + 0x468]
push 0xa8
push eax
lea eax, [esp + 0xb00]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi]
xor eax, 4
or eax, dword [esi + 4]
je 0x1005ece4
mov ecx, dword [esp + 0x5b0]
mov ebx, dword [esp + 0x2c]
mov eax, dword [ecx + 8]
mov dword [esp + 0x190], eax
movsd xmm0, qword [ecx]
mov ecx, esi
movsd qword [esp + 0x188], xmm0
movsd xmm0, qword [ebx + 0x108]
mov edx, dword [ebx + 0xfc]
movsd qword [esp + 0x1d0], xmm0
mov esi, edx
movsd xmm0, qword [ebx + 0x110]
movsd qword [esp + 0x1d8], xmm0
movsd xmm0, qword [ebx + 0x118]
movsd qword [esp + 0x1e0], xmm0
movsd xmm0, qword [ebx + 0x120]
movsd qword [esp + 0x1e8], xmm0
movsd xmm0, qword [ebx + 0x128]
movsd qword [esp + 0x1f0], xmm0
mov eax, dword [ebx + 0x130]
mov dword [esp + 0x1f8], eax
movq xmm0, qword [ebx + 0x100]
movq qword [esp + 0x1c8], xmm0
call fcn.1005f7d0
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x18], 4
push pe_nt_image_headers32
lea eax, [esp + 0x464]
push eax
push dword [esp + 0x18c]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp esi, 3
je 0x1005eb02
push 0xa8
lea eax, [esp + 0xafc]
push eax
lea ebx, [esp + 0x218]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x190]
movq xmm0, qword [esp + 0x188]
movsd xmm1, qword [esp + 0x1d0]
movsd xmm2, qword [esp + 0x1d8]
xor edi, 1
movq xmm3, qword [esp + 0x1c8]
or edi, dword [esp + 0x1b0]
mov dword [esp + 0x898], eax
movq qword [esp + 0x890], xmm0
mov dword [esp + 0x89c], esi
movsd qword [esp + 0x8a8], xmm1
movsd xmm1, qword [esp + 0x1e0]
movsd qword [esp + 0x8b0], xmm2
movsd xmm2, qword [esp + 0x1e8]
mov eax, dword [esp + 0x1f8]
movq qword [esp + 0x8a0], xmm3
movsd qword [esp + 0x8b8], xmm1
movsd xmm1, qword [esp + 0x1f0]
movsd qword [esp + 0x8c0], xmm2
mov dword [esp + 0x8d0], eax
movsd qword [esp + 0x8c8], xmm1
jne 0x1005d5ed
push 0xa8
push ebx
lea eax, [esp + 0x5c0]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea ecx, [esp + 0x890]
call fcn.1005f910
mov eax, dword [esp + 0x8cc]
xor esi, esi
mov edi, 1
test eax, eax
je 0x1005d72b
lock dec dword [eax]
jne 0x1005d72b
lea ecx, [esp + 0x8cc]
call fcn.10116bf0
jmp 0x1005d72b
lea edi, [esp + 0x780]
lea esi, [esp + 0x890]
mov ecx, 0x11
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0x460]
lea esi, [esp + 0x210]
mov ecx, 0x1c
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x78c]
cmp eax, 1
je 0x1005d649
cmp eax, 2
je 0x1005e970
cmp dword [esp + 0x7b4], 0
je 0x1005d649
mov eax, dword [esp + 0x790]
mov eax, dword [eax + 8]
cmp eax, 1
jne 0x1005dadb
movsd xmm2, qword [esp + 0x7a8]
movsd xmm1, qword [esp + 0x7a0]
mov eax, dword [esp + 0x7b8]
movq xmm0, qword [esp + 0x7b0]
lea ecx, [esp + 0x360]
movsd qword [esp + 0x388], xmm2
movsd qword [esp + 0x380], xmm1
movsd xmm2, qword [esp + 0x798]
movsd xmm1, qword [esp + 0x790]
mov dword [esp + 0x398], eax
movq qword [esp + 0x390], xmm0
movsd qword [esp + 0x378], xmm2
movsd qword [esp + 0x370], xmm1
movsd xmm2, qword [esp + 0x780]
movsd xmm1, qword [esp + 0x788]
movsd qword [esp + 0x368], xmm1
movsd qword [esp + 0x360], xmm2
call fcn.1005f910
lea edi, [esp + 0x360]
lea esi, [esp + 0x460]
mov ecx, 0x1c
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x7bc]
test eax, eax
je 0x1005d712
lock dec dword [eax]
jne 0x1005d712
lea ecx, [esp + 0x7bc]
call fcn.10116bf0
lea edi, [esp + 0x5b8]
lea esi, [esp + 0x360]
mov ecx, 0x1c
rep movsd dword es:[edi], dword [esi]
xor edi, edi
xor esi, esi
lea eax, [esp + 0x5b8]
mov dword [esp + 0x980], edi
mov dword [esp + 0x984], esi
push 0xa8
push eax
lea eax, [esp + 0x990]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movups xmm0, xmmword [esp + 0x9d0]
mov ecx, dword [esp + 0x994]
mov edx, dword [esp + 0x990]
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x98c]
mov dword [esp + 0x4c], edi
mov dword [esp + 0x1b0], esi
mov esi, dword [esp + 0x988]
mov edi, dword [esp + 0x9b0]
movaps xmmword [esp + 0x70], xmm0
movups xmm0, xmmword [esp + 0x9c0]
mov dword [esp + 0xe0], ecx
mov ecx, dword [esp + 0x998]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x99c]
mov dword [esp + 0x110], eax
movaps xmmword [esp + 0x130], xmm0
movups xmm0, xmmword [esp + 0x9f0]
mov dword [esp + 0x340], ecx
mov ecx, dword [esp + 0x9a4]
mov dword [esp + 0x120], edx
mov edx, dword [esp + 0x9a0]
movaps xmmword [esp + 0x200], xmm0
movups xmm0, xmmword [esp + 0x9e0]
mov dword [esp + 0xd0], ecx
mov ecx, dword [esp + 0x9ac]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x9a8]
movaps xmmword [esp + 0xc0], xmm0
movups xmm0, xmmword [esp + 0xa10]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x9b4]
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x9bc]
movaps xmmword [esp + 0xb0], xmm0
movups xmm0, xmmword [esp + 0xa00]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x9b8]
mov dword [esp + 0xf0], edx
movaps xmmword [esp + 0x100], xmm0
movsd xmm0, qword [esp + 0xa20]
mov dword [esp + 0x10], ecx
mov ecx, ebx
movsd qword [esp + 0x870], xmm0
movsd xmm0, qword [esp + 0xa28]
movsd qword [esp + 0x878], xmm0
call fcn.1005ed30
mov edx, edi
movaps xmm5, xmmword [esp + 0x100]
movaps xmm4, xmmword [esp + 0xb0]
movdqa xmm3, xmmword [esp + 0xc0]
movaps xmm2, xmmword [esp + 0x200]
movaps xmm1, xmmword [esp + 0x130]
movdqa xmm0, xmmword [esp + 0x70]
mov ecx, dword [esp + 8]
mov edi, dword [esp + 0xe0]
mov dword [ebx + 4], 0
mov dword [ebx], 2
mov ebx, esi
mov eax, dword [esp + 0x354]
mov esi, dword [esp + 0x4c]
mov dword [eax], esi
mov esi, dword [esp + 0x1b0]
mov dword [eax + 4], esi
mov esi, dword [esp + 0x110]
mov dword [eax + 8], ebx
mov dword [eax + 0xc], esi
mov esi, dword [esp + 0x80]
mov dword [eax + 0x14], edi
mov edi, dword [esp + 0x50]
mov dword [eax + 0x10], esi
mov esi, dword [esp + 0x340]
mov dword [eax + 0x18], esi
mov esi, dword [esp + 0x120]
mov dword [eax + 0x1c], esi
mov esi, dword [esp + 0xd0]
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], esi
mov esi, dword [esp + 0x30]
mov dword [eax + 0x28], edi
mov dword [eax + 0x2c], esi
mov dword [eax + 0x30], edx
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov dword [eax + 0x34], edx
mov edx, dword [esp + 0xf0]
mov dword [eax + 0x38], esi
mov dword [eax + 0x3c], edx
movups xmmword [eax + 0x40], xmm1
movdqu xmmword [eax + 0x50], xmm0
movups xmmword [eax + 0x70], xmm2
movsd xmm2, qword [esp + 0x870]
movsd xmm1, qword [esp + 0x878]
movdqu xmmword [eax + 0x60], xmm3
movups xmmword [eax + 0x80], xmm5
movups xmmword [eax + 0x90], xmm4
movsd qword [eax + 0xa0], xmm2
movsd qword [eax + 0xa8], xmm1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [edi + 4], 0
mov dword [edi], 2
movaps xmm2, xmmword [esp + 0x200]
movaps xmm3, xmmword [esp + 0xc0]
movaps xmm4, xmmword [esp + 0xb0]
movaps xmm5, xmmword [esp + 0x100]
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0xe0]
mov ebx, dword [esp + 0x48]
mov ecx, esi
mov dword [esp + 0x1b0], 0
mov dword [esp + 0x4c], 1
movsd xmm0, qword [esp + 0x880]
movsd xmm1, qword [esp + 0x888]
movsd qword [esp + 0x878], xmm1
movsd qword [esp + 0x870], xmm0
movaps xmm0, xmmword [esp + 0x70]
movaps xmm1, xmmword [esp + 0x130]
jmp 0x1005d8df
movsd xmm1, qword [esp + 0x790]
movq xmm0, qword [esp + 0x798]
movsd xmm2, qword [esp + 0x780]
movsd qword [esp + 0x470], xmm1
movsd xmm1, qword [esp + 0x788]
movq qword [esp + 0x478], xmm0
movsd qword [esp + 0x460], xmm2
movsd qword [esp + 0x468], xmm1
push 0xf0
push esi
lea eax, [esp + 0x488]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x110
lea eax, [esp + 0x464]
push eax
lea edi, [esp + 0x988]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov esi, dword [esp + 0x6c]
mov eax, dword [esi]
xor eax, 3
or eax, dword [esi + 4]
je 0x1005dac4
mov ecx, dword [esp + 0x4c]
call fcn.100650d0
mov ecx, esi
call fcn.10065840
push 0x110
push edi
push dword [esp + 0x54]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
jmp 0x1005d3af
mov eax, dword [esp + 0x4a8]
test eax, eax
je 0x1005e026
cmp eax, 1
je 0x1005dce5
lea ecx, [esp + 0x4b0]
call fcn.1002cac0
test al, al
je 0x1005dcf9
movsd xmm2, qword [esp + 0x7a8]
movsd xmm1, qword [esp + 0x7a0]
mov esi, dword [esp + 0x7bc]
mov eax, dword [esp + 0x7b8]
movsd xmm0, qword [esp + 0x7b0]
movsd qword [esp + 0x328], xmm2
movsd qword [esp + 0x320], xmm1
movsd xmm2, qword [esp + 0x798]
movsd xmm1, qword [esp + 0x790]
test esi, esi
mov dword [esp + 0x338], eax
movsd qword [esp + 0x330], xmm0
movsd qword [esp + 0x318], xmm2
movsd qword [esp + 0x310], xmm1
movsd xmm2, qword [esp + 0x780]
movsd xmm1, qword [esp + 0x788]
movsd qword [esp + 0x308], xmm1
movsd qword [esp + 0x300], xmm2
je 0x1005e2f9
mov edi, dword [esp + 0x7c0]
movsd xmm2, qword [esp + 0x328]
movsd xmm1, qword [esp + 0x320]
mov eax, dword [esp + 0x338]
movq xmm0, qword [esp + 0x330]
mov ebx, dword [edi + 8]
movsd qword [esp + 0x388], xmm2
movsd qword [esp + 0x380], xmm1
movsd xmm2, qword [esp + 0x318]
movsd xmm1, qword [esp + 0x310]
mov dword [esp + 0x398], eax
movq qword [esp + 0x390], xmm0
movsd qword [esp + 0x378], xmm2
movsd qword [esp + 0x370], xmm1
movsd xmm2, qword [esp + 0x300]
movsd xmm1, qword [esp + 0x308]
movsd qword [esp + 0x368], xmm1
movsd qword [esp + 0x360], xmm2
call sub.KERNEL32.dll_GetProcessHeap
push 0x3c
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1005ed18
mov edx, dword [esp + 0x398]
lea ecx, [ebx + 7]
neg ebx
and ebx, ecx
add esi, ebx
mov dword [eax + 0x38], edx
movsd xmm0, qword [esp + 0x390]
movsd qword [eax + 0x30], xmm0
movsd xmm0, qword [esp + 0x388]
movsd qword [eax + 0x28], xmm0
movsd xmm0, qword [esp + 0x380]
movsd qword [eax + 0x20], xmm0
movsd xmm0, qword [esp + 0x378]
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [esp + 0x370]
movsd qword [eax + 0x10], xmm0
movq xmm0, qword [esp + 0x360]
movsd xmm1, qword [esp + 0x368]
movsd qword [eax + 8], xmm1
movq qword [eax], xmm0
push 0x1041a3a8
push eax
push esi
call dword [edi + 0xc]
add esp, 0xc
jmp 0x1005d6e1
mov dword [esp + 0x980], 2
jmp 0x1005d3af
mov eax, dword [esp + 0x4b8]
or eax, dword [esp + 0x4bc]
je 0x1005db07
call sub.KERNEL32.dll_GetProcessHeap
push 0x24
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1005ed0a
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 0xc], 0
mov byte [eax + 0x10], 0
mov esi, eax
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9b]
mov dword [esi + 0x11], eax
mov dword [esi + 0x14], ecx
mov dword [esi + 0x18], 0
mov byte [esi + 0x1c], 0
movzx eax, word [esp + 0x6c8]
mov word [esi + 0x1d], ax
mov al, byte [esp + 0x6ca]
mov byte [esi + 0x1f], al
mov word [esi + 0x20], 0
lock inc dword [esi]
jle 0x1005eb1b
mov edi, dword [esp + 0x4c8]
test edi, edi
jne 0x1005ddb2
call sub.KERNEL32.dll_GetProcessHeap
push 0x10
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1005eb1f
lea ecx, [esp + 0x4c8]
mov dword [eax], 2
mov edi, eax
mov dword [eax + 8], 0
call fcn.10037a50
mov dword [esp + 0x4c8], edi
cmp dword [edi], 2
je 0x1005de3e
mov ebx, dword [edi + 4]
mov al, 1
mov dl, 1
xchg byte [ebx + 0x20], al
mov al, 1
xchg byte [ebx + 0x10], al
test al, al
jne 0x1005ddef
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
xor edx, edx
mov dword [ebx + 0xc], 0
xchg byte [ebx + 0x10], dl
mov dl, 1
test ecx, ecx
je 0x1005ddef
push eax
call dword [ecx + 0xc]
mov dl, 1
add esp, 4
xchg byte [ebx + 0x1c], dl
lea ecx, [edi + 4]
test dl, dl
jne 0x1005de32
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x1b0], ecx
xor edx, edx
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0x18]
mov dword [ebx + 0x18], 0
xchg byte [ebx + 0x1c], dl
mov ecx, dword [esp + 0x1b0]
test eax, eax
je 0x1005de32
push dword [esp + 0x10]
call dword [eax + 4]
mov ecx, dword [esp + 0x1b4]
add esp, 4
mov eax, dword [ecx]
lock dec dword [eax]
jne 0x1005de3e
call fcn.10064f90
mov dword [edi], 0
mov dword [edi + 4], esi
movsd xmm2, qword [esp + 0x7a8]
movsd xmm1, qword [esp + 0x7a0]
mov edi, dword [esp + 0x7bc]
mov eax, dword [esp + 0x7b8]
movsd xmm0, qword [esp + 0x7b0]
movsd qword [esp + 0x328], xmm2
movsd qword [esp + 0x320], xmm1
movsd xmm2, qword [esp + 0x798]
movsd xmm1, qword [esp + 0x790]
test edi, edi
mov dword [esp + 0x338], eax
movsd qword [esp + 0x330], xmm0
movsd qword [esp + 0x318], xmm2
movsd qword [esp + 0x310], xmm1
movsd xmm2, qword [esp + 0x780]
movsd xmm1, qword [esp + 0x788]
movsd qword [esp + 0x308], xmm1
movsd qword [esp + 0x300], xmm2
je 0x1005e039
mov eax, dword [esp + 0x7c0]
movsd xmm2, qword [esp + 0x328]
movsd xmm1, qword [esp + 0x320]
movq xmm0, qword [esp + 0x330]
mov ebx, dword [eax + 8]
movsd qword [esp + 0x168], xmm2
movsd qword [esp + 0x160], xmm1
movsd xmm2, qword [esp + 0x318]
movsd xmm1, qword [esp + 0x310]
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 0x338]
movq qword [esp + 0x170], xmm0
movsd qword [esp + 0x158], xmm2
movsd qword [esp + 0x150], xmm1
movsd xmm2, qword [esp + 0x300]
movsd xmm1, qword [esp + 0x308]
mov dword [esp + 0x178], eax
movsd qword [esp + 0x148], xmm1
movsd qword [esp + 0x140], xmm2
call sub.KERNEL32.dll_GetProcessHeap
push 0x40
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1005ed11
mov edx, dword [esp + 0x178]
lea ecx, [ebx + 7]
neg ebx
and ebx, ecx
add edi, ebx
mov dword [eax + 0x38], edx
movsd xmm0, qword [esp + 0x170]
movsd qword [eax + 0x30], xmm0
movsd xmm0, qword [esp + 0x168]
movsd qword [eax + 0x28], xmm0
movsd xmm0, qword [esp + 0x160]
movsd qword [eax + 0x20], xmm0
movsd xmm0, qword [esp + 0x158]
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [esp + 0x150]
movsd qword [eax + 0x10], xmm0
movq xmm0, qword [esp + 0x140]
movsd xmm1, qword [esp + 0x148]
movsd qword [eax + 8], xmm1
movq qword [eax], xmm0
mov dword [eax + 0x3c], esi
push 0x1041a3e0
push eax
push edi
mov eax, dword [esp + 0x1bc]
call dword [eax + 0xc]
add esp, 0xc
jmp 0x1005d6e1
cmp dword [esp + 0x4b8], 0
jne 0x1005dcf9
jmp 0x1005db07
movsd xmm2, qword [esp + 0x328]
movsd xmm1, qword [esp + 0x320]
mov eax, dword [esp + 0x338]
movq xmm0, qword [esp + 0x330]
movsd qword [esp + 0x168], xmm2
movsd qword [esp + 0x160], xmm1
movsd xmm2, qword [esp + 0x318]
movsd xmm1, qword [esp + 0x310]
mov dword [esp + 0x178], eax
movq qword [esp + 0x170], xmm0
movsd qword [esp + 0x158], xmm2
movsd qword [esp + 0x150], xmm1
movsd xmm2, qword [esp + 0x300]
movsd xmm1, qword [esp + 0x308]
movsd qword [esp + 0x148], xmm1
movsd qword [esp + 0x140], xmm2
call fcn.101076e0
cmp eax, 3
je 0x1005e9bb
movsd xmm2, qword [esp + 0x168]
movsd xmm1, qword [esp + 0x160]
mov ecx, dword [esp + 0x178]
movq xmm0, qword [esp + 0x170]
lea ebx, [esp + 0x584]
cmp eax, 1
mov dword [esp + 0x580], eax
mov dword [esp + 0x584], edx
movsd qword [esp + 0x6f0], xmm2
movsd qword [esp + 0x6e8], xmm1
movsd xmm2, qword [esp + 0x158]
movsd xmm1, qword [esp + 0x150]
mov dword [esp + 0x700], ecx
movq qword [esp + 0x6f8], xmm0
movsd qword [esp + 0x6e0], xmm2
movsd qword [esp + 0x6d8], xmm1
movsd xmm2, qword [esp + 0x140]
movsd xmm1, qword [esp + 0x148]
movsd qword [esp + 0x6d0], xmm1
movsd qword [esp + 0x6c8], xmm2
je 0x1005e5ad
cmp eax, 2
jne 0x1005e9a7
movsd xmm2, qword [esp + 0x6f0]
movsd xmm1, qword [esp + 0x6e8]
mov eax, dword [esp + 0x700]
movq xmm0, qword [esp + 0x6f8]
mov ebx, edx
movsd qword [esp + 0x388], xmm2
movsd qword [esp + 0x380], xmm1
movsd xmm2, qword [esp + 0x6e0]
movsd xmm1, qword [esp + 0x6d8]
mov dword [esp + 0x398], eax
movq qword [esp + 0x390], xmm0
movsd qword [esp + 0x378], xmm2
movsd qword [esp + 0x370], xmm1
movsd xmm2, qword [esp + 0x6c8]
movsd xmm1, qword [esp + 0x6d0]
movsd qword [esp + 0x368], xmm1
movsd qword [esp + 0x360], xmm2
call sub.KERNEL32.dll_GetProcessHeap
push 0x68
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1005ed1f
mov dword [eax], 0x8c
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x14], 0x1041a3f0
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov edi, eax
mov ecx, ebx
movsd xmm0, qword [esp + 0x360]
movsd xmm1, qword [esp + 0x368]
add ecx, 8
mov edx, edi
movsd qword [eax + 0x20], xmm0
movsd qword [eax + 0x28], xmm1
movsd xmm0, qword [esp + 0x370]
movsd qword [eax + 0x30], xmm0
movsd xmm0, qword [esp + 0x378]
movsd qword [eax + 0x38], xmm0
movsd xmm0, qword [esp + 0x380]
movsd qword [eax + 0x40], xmm0
movsd xmm0, qword [esp + 0x388]
movsd qword [eax + 0x48], xmm0
movq xmm0, qword [esp + 0x390]
movq qword [eax + 0x50], xmm0
mov eax, dword [esp + 0x398]
mov dword [edi + 0x58], eax
mov dword [edi + 0x5c], esi
mov dword [edi + 0x64], 0
push 0
call fcn.10108330
mov esi, ebx
add esp, 4
lea ebx, [esp + 0x584]
jmp 0x1005e8f1
movsd xmm2, qword [esp + 0x328]
movsd xmm1, qword [esp + 0x320]
mov eax, dword [esp + 0x338]
movq xmm0, qword [esp + 0x330]
movsd qword [esp + 0x168], xmm2
movsd qword [esp + 0x160], xmm1
movsd xmm2, qword [esp + 0x318]
movsd xmm1, qword [esp + 0x310]
mov dword [esp + 0x178], eax
movq qword [esp + 0x170], xmm0
movsd qword [esp + 0x158], xmm2
movsd qword [esp + 0x150], xmm1
movsd xmm2, qword [esp + 0x300]
movsd xmm1, qword [esp + 0x308]
movsd qword [esp + 0x148], xmm1
movsd qword [esp + 0x140], xmm2
call fcn.101076e0
cmp eax, 3
je 0x1005e9bb
movsd xmm2, qword [esp + 0x168]
movsd xmm1, qword [esp + 0x160]
mov ecx, dword [esp + 0x178]
movq xmm0, qword [esp + 0x170]
mov esi, edx
lea ebx, [esp + 0x584]
cmp eax, 1
mov dword [esp + 0x580], eax
mov dword [esp + 0x584], edx
movsd qword [esp + 0x6f0], xmm2
movsd qword [esp + 0x6e8], xmm1
movsd xmm2, qword [esp + 0x158]
movsd xmm1, qword [esp + 0x150]
mov dword [esp + 0x700], ecx
movq qword [esp + 0x6f8], xmm0
movsd qword [esp + 0x6e0], xmm2
movsd qword [esp + 0x6d8], xmm1
movsd xmm2, qword [esp + 0x140]
movsd xmm1, qword [esp + 0x148]
movsd qword [esp + 0x6d0], xmm1
movsd qword [esp + 0x6c8], xmm2
je 0x1005e72c
cmp eax, 2
jne 0x1005e9a7
movsd xmm2, qword [esp + 0x6f0]
movsd xmm1, qword [esp + 0x6e8]
mov eax, dword [esp + 0x700]
movq xmm0, qword [esp + 0x6f8]
movsd qword [esp + 0x388], xmm2
movsd qword [esp + 0x380], xmm1
movsd xmm2, qword [esp + 0x6e0]
movsd xmm1, qword [esp + 0x6d8]
mov dword [esp + 0x398], eax
movq qword [esp + 0x390], xmm0
movsd qword [esp + 0x378], xmm2
movsd qword [esp + 0x370], xmm1
movsd xmm2, qword [esp + 0x6c8]
movsd xmm1, qword [esp + 0x6d0]
movsd qword [esp + 0x368], xmm1
movsd qword [esp + 0x360], xmm2
call sub.KERNEL32.dll_GetProcessHeap
push 0x64
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1005ed26
mov dword [eax], 0x8c
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x14], 0x1041a3b8
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov edi, eax
mov ecx, esi
movsd xmm0, qword [esp + 0x360]
movsd xmm1, qword [esp + 0x368]
add ecx, 8
mov edx, edi
movsd qword [eax + 0x20], xmm0
movsd qword [eax + 0x28], xmm1
movsd xmm0, qword [esp + 0x370]
movsd qword [eax + 0x30], xmm0
movsd xmm0, qword [esp + 0x378]
movsd qword [eax + 0x38], xmm0
movsd xmm0, qword [esp + 0x380]
movsd qword [eax + 0x40], xmm0
movsd xmm0, qword [esp + 0x388]
movsd qword [eax + 0x48], xmm0
movq xmm0, qword [esp + 0x390]
movq qword [eax + 0x50], xmm0
mov eax, dword [esp + 0x398]
mov dword [edi + 0x58], eax
mov dword [edi + 0x60], 0
push 0
call fcn.10108330
add esp, 4
jmp 0x1005e8f1
movsd xmm2, qword [esp + 0x6f0]
movsd xmm1, qword [esp + 0x6e8]
mov eax, dword [esp + 0x700]
movq xmm0, qword [esp + 0x6f8]
movsd qword [esp + 0x388], xmm2
movsd qword [esp + 0x380], xmm1
movsd xmm2, qword [esp + 0x6e0]
movsd xmm1, qword [esp + 0x6d8]
mov dword [esp + 0x398], eax
movq qword [esp + 0x390], xmm0
movsd qword [esp + 0x378], xmm2
movsd qword [esp + 0x370], xmm1
movsd xmm2, qword [esp + 0x6c8]
movsd xmm1, qword [esp + 0x6d0]
movsd qword [esp + 0x368], xmm1
movsd qword [esp + 0x360], xmm2
call sub.KERNEL32.dll_GetProcessHeap
push 0x68
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1005ed1f
mov dword [eax], 0x8c
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x14], 0x1041a404
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov edi, eax
movsd xmm0, qword [esp + 0x360]
movsd xmm1, qword [esp + 0x368]
movsd qword [eax + 0x20], xmm0
movsd qword [eax + 0x28], xmm1
movsd xmm0, qword [esp + 0x370]
movsd qword [eax + 0x30], xmm0
movsd xmm0, qword [esp + 0x378]
movsd qword [eax + 0x38], xmm0
movsd xmm0, qword [esp + 0x380]
movsd qword [eax + 0x40], xmm0
movsd xmm0, qword [esp + 0x388]
movsd qword [eax + 0x48], xmm0
movq xmm0, qword [esp + 0x390]
movq qword [eax + 0x50], xmm0
mov eax, dword [esp + 0x398]
mov dword [edi + 0x58], eax
mov dword [edi + 0x5c], esi
mov dword [edi + 0x64], 0
mov dword [esp + 0x360], ebx
call fcn.100ff160
test eax, eax
je 0x1005e9cf
mov eax, dword [eax]
lea ecx, [esp + 0x360]
mov edx, edi
test eax, eax
je 0x1005e8a1
push eax
jmp 0x1005e8a3
movsd xmm2, qword [esp + 0x6f0]
movsd xmm1, qword [esp + 0x6e8]
mov eax, dword [esp + 0x700]
movq xmm0, qword [esp + 0x6f8]
movsd qword [esp + 0x388], xmm2
movsd qword [esp + 0x380], xmm1
movsd xmm2, qword [esp + 0x6e0]
movsd xmm1, qword [esp + 0x6d8]
mov dword [esp + 0x398], eax
movq qword [esp + 0x390], xmm0
movsd qword [esp + 0x378], xmm2
movsd qword [esp + 0x370], xmm1
movsd xmm2, qword [esp + 0x6c8]
movsd xmm1, qword [esp + 0x6d0]
movsd qword [esp + 0x368], xmm1
movsd qword [esp + 0x360], xmm2
call sub.KERNEL32.dll_GetProcessHeap
push 0x64
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1005ed26
mov dword [eax], 0x8c
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x14], 0x1041a3cc
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov edi, eax
movsd xmm0, qword [esp + 0x360]
movsd xmm1, qword [esp + 0x368]
movsd qword [eax + 0x20], xmm0
movsd qword [eax + 0x28], xmm1
movsd xmm0, qword [esp + 0x370]
movsd qword [eax + 0x30], xmm0
movsd xmm0, qword [esp + 0x378]
movsd qword [eax + 0x38], xmm0
movsd xmm0, qword [esp + 0x380]
movsd qword [eax + 0x40], xmm0
movsd xmm0, qword [esp + 0x388]
movsd qword [eax + 0x48], xmm0
movq xmm0, qword [esp + 0x390]
movq qword [eax + 0x50], xmm0
mov eax, dword [esp + 0x398]
mov dword [edi + 0x58], eax
mov dword [edi + 0x60], 0
mov dword [esp + 0x360], ebx
call fcn.100ff160
test eax, eax
je 0x1005e9cf
mov eax, dword [eax]
lea ecx, [esp + 0x360]
mov edx, edi
test eax, eax
je 0x1005e8d0
push eax
jmp 0x1005e8d2
push 0
call fcn.10107c70
add esp, 4
mov eax, dword [esp + 0x580]
test eax, eax
je 0x1005e8fd
cmp eax, 1
jne 0x1005e8ea
mov eax, dword [esp + 0x584]
lock dec dword [eax]
jne 0x1005e8fd
mov ecx, ebx
call fcn.10069c70
jmp 0x1005e8fd
push 0
call fcn.10107c70
add esp, 4
mov eax, dword [esp + 0x580]
test eax, eax
je 0x1005e8fd
cmp eax, 1
je 0x1005e8bb
mov esi, dword [esp + 0x584]
lock dec dword [esi]
jne 0x1005e8fd
mov ecx, ebx
call fcn.10069d40
mov ecx, 0x44
mov eax, 0x8c
lock cmpxchg dword [edi], ecx
je 0x1005d6e1
mov eax, dword [edi + 0x14]
push edi
call dword [eax + 0xc]
add esp, 4
jmp 0x1005d6e1
mov ecx, 0x1041a02c
mov edx, 0x36
push 0x1041a064
jmp 0x1005eb11
mov ecx, 0x10419ffa
mov edx, 0x22
push 0x1041a01c
jmp 0x1005eb11
mov ecx, 0x1041a074
mov edx, 0x1f
push 0x1041a094
jmp 0x1005eb11
mov ecx, str.Ready_polled_after_completion
mov edx, 0x1d
push 0x1041a1e8
jmp 0x1005ecc9
mov ecx, str.not_dropped
mov edx, 0xb
push 0x1041a204
jmp 0x1005ecc9
mov dword [edi + 4], 0
mov dword [edi], 3
push 0xe8
lea eax, [esp + 0x464]
push eax
push dword [esp + 0x74]
jmp 0x1005eaa9
mov ecx, str.spawning_not_enabled_for_runtime
mov edx, 0x20
push 0x1041a1a4
jmp 0x1005eb11
mov ecx, str.must_be_called_from_the_context_of_Tokio_runtime_configured_with_either__basic_scheduler__or__threaded_scheduler_
mov edx, 0x71
push 0x1041a160
jmp 0x1005ecc9
lea eax, [esp + 0x6b8]
mov ecx, 0x1044ace7
mov edx, 0x46
push 0x1044ad30
push 0x10423110
jmp 0x1005ec5a
movsd xmm0, qword [esp + 0x5d0]
mov eax, dword [esp + 0x4c]
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [esp + 0x5c8]
movsd qword [eax + 0x10], xmm0
movq xmm0, qword [esp + 0x5b8]
movsd xmm1, qword [esp + 0x5c0]
movsd qword [eax + 8], xmm1
movq qword [eax], xmm0
mov eax, dword [esp + 0x6c]
mov dword [eax + 4], 0
mov dword [eax], 4
push 0xf0
lea eax, [esp + 0x984]
push eax
push dword [esp + 0x5b4]
jmp 0x1005eaa9
mov ecx, 0xf0
jmp 0x1005ec7b
mov ecx, 0x120
jmp 0x1005ec7b
push 0x120
lea eax, [esp + 0x464]
push eax
push dword [esp + 0x1b8]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [edi + 0x12c], 0
mov dword [edi + 0x128], 3
push 0xa8
lea eax, [esp + 0x5bc]
push eax
push dword [esp + 0x364]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
jmp 0x1005eb02
mov ecx, 0x1041a0a4
mov edx, 0x18
push 0x1041a0bc
jmp 0x1005ecc9
mov byte [edi], 3
movsd xmm0, qword [esp + 0x460]
movsd xmm1, qword [esp + 0x468]
movsd qword [edi + 1], xmm0
movsd qword [edi + 9], xmm1
movsd xmm0, qword [esp + 0x470]
movsd qword [edi + 0x11], xmm0
movsd xmm0, qword [esp + 0x477]
movsd qword [edi + 0x18], xmm0
mov ecx, 0x1044acbf
mov edx, 0x28
push 0x1041a0cc
call fcn.1004d560
add esp, 4
ud2
ud2
mov ecx, 0x10
jmp 0x1005ecd8
push 0x1041a280
jmp 0x1005eba4
mov ecx, 0x1041992d
mov edx, 0x22
push 0x1041a298
jmp 0x1005ecc9
mov edx, dword [esp + 0x70]
push 0x10419808
jmp 0x1005eba4
mov ecx, str.authority_implies_host
mov edx, 0x16
push 0x1041a240
jmp 0x1005ecc9
mov byte [esp + 0x220], 2
lea eax, [esp + 0x6b8]
mov ecx, str.uri_host_is_valid_header_value
mov edx, 0x1e
push 0x1041a270
push 0x104196e0
jmp 0x1005ec5a
mov ecx, str.header_map_at_capacity
mov edx, 0x16
push 0x10419184
jmp 0x1005eb11
push 0x10419818
call fcn.10008300
add esp, 4
ud2
mov ecx, 0x1041992d
mov edx, 0x22
push 0x104067a4
jmp 0x1005ecc9
lea eax, [esp + 0x5b8]
lea ecx, [esp + 0x210]
mov edx, 0x104067bc
mov dword [esp + 0x5b8], 0x104067b4
mov dword [esp + str.internal_error:_entered_unreachable_code:], 0x1044b020
mov dword [esp + 0x214], 1
mov dword [esp + 0x218], 0
mov dword [esp + 0x5bc], 0x10009120
mov dword [esp + 0x220], eax
mov dword [esp + 0x224], 1
call fcn.100f9210
ud2
mov ecx, 0x10400e68
call fcn.100329a0
ud2
mov al, byte [esp + 0x211]
mov ecx, str.authority_is_valid
mov edx, 0x12
mov byte [esp + 0x5b8], al
push 0x104067e0
push 0x1040677c
lea eax, [esp + 0x5c0]
push eax
call fcn.1000a790
add esp, 0xc
ud2
mov ecx, str.not_dropped
mov edx, 0xb
push 0x1041a2a8
jmp 0x1005ecc9
mov ecx, 0xd0
mov edx, 8
call fcn.10006540
ud2
mov ecx, str.envelope_not_dropped4
mov edx, 0x14
push 0x1041a2cc
jmp 0x1005ecc9
mov ecx, 0x1041992d
mov edx, 0x22
push 0x1041a360
jmp 0x1005ecc9
mov ecx, str.envelope_not_dropped4
mov edx, 0x14
push 0x1041a388
jmp 0x1005ecc9
mov ecx, 0x1041992d
mov edx, 0x22
push 0x1041a398
call fcn.1000a730
add esp, 4
ud2
mov ecx, 0xc
mov edx, 4
call fcn.10006540
ud2
mov dword [esi + 4], 0
mov dword [esi], 4
push pe_nt_image_headers32
lea eax, [esp + 0x464]
push eax
push dword [esp + 0x18c]
jmp 0x1005eaa9
mov ecx, 0x24
jmp 0x1005ecd8
mov ecx, 0x40
jmp 0x1005ecd8
mov ecx, 0x3c
jmp 0x1005ecd8
mov ecx, 0x68
jmp 0x1005ecd8
mov ecx, 0x64
jmp 0x1005ecd8