Function at 0x100589d0
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 0x1005d497
jmp 0x10058b70
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 0x1005b6b7
jmp 0x1005ede9
mov ecx, 0x10411260
call fcn.10109f40
test al, al
jne 0x1005c8b2
jmp 0x1005c999
mov ecx, 0x10411380
call fcn.10109f40
test al, al
jne 0x1005a9d2
jmp 0x1005aab9
mov ecx, 0x1041126c
call fcn.10109f40
test al, al
jne 0x1005c42b
jmp 0x1005c50e
mov ecx, 0x10411788
call fcn.10109f40
test al, al
jne 0x1005b7d3
jmp 0x1005b8d6
mov eax, dword [edi + 0x128]
xor eax, 3
or eax, dword [edi + 0x12c]
je 0x1005ebe0
mov eax, dword [esp + 0x1b0]
mov eax, dword [eax]
test eax, eax
jne 0x10059e4b
mov edx, dword [esp + 0x6c]
mov eax, dword [edx]
xor eax, 4
or eax, dword [edx + 4]
je 0x1005ebe0
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 [0x10364f90]
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 0x1005ed73
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.10066cc0
add esp, 4
mov eax, dword [esp + 0xaf8]
cmp eax, 2
jne 0x10058f20
lea esi, [esp + 0x210]
lea ecx, [esp + 0x360]
mov edx, esi
push ebx
call fcn.10069870
add esp, 4
mov eax, dword [esp + 0x360]
cmp eax, 2
je 0x1005dceb
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.10065b00
mov al, 1
lea esi, [esp + 0x5b8]
mov dword [esp + 0xc], eax
jmp 0x10059035
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.10065390
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 0x1005ecaf
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 0x100590f1
mov ecx, dword [esp + 0x4c]
call fcn.10065390
mov ecx, esi
call fcn.10065b00
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 0x10059280
cmp dword [esp + 0x340], 1
jne 0x10059430
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 0x100595bb
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 0x100595e7
cmp dword [esp + 0x10], 1
jne 0x100594f0
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 0x100596d6
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 0x10059709
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.10065390
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 0x10059ace
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 0x100597ec
push 0xf0
push esi
lea esi, [esp + 0x368]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [esp + 0x50], 0
je 0x10059822
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 0x1005ed11
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 0x10398e6c
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 0x10059b6e
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 0x10059a4d
mov esi, dword [esp + 0x10]
mov eax, dword [esi]
test eax, eax
je 0x10059a3f
mov ecx, dword [esi + 4]
push eax
call dword [ecx]
add esp, 4
mov eax, dword [esi + 4]
cmp dword [eax + 4], 0
je 0x10059a3f
mov esi, dword [esi]
cmp dword [eax + 8], 9
jae 0x10059a2b
call sub.KERNEL32.dll_GetProcessHeap
push esi
jmp 0x10059a33
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 0x10059a9b
mov edi, dword [esp + 8]
mov eax, dword [edi]
test eax, eax
je 0x10059a8d
mov ecx, dword [edi + 4]
push eax
call dword [ecx]
add esp, 4
mov eax, dword [edi + 4]
cmp dword [eax + 4], 0
je 0x10059a8d
mov esi, dword [edi]
cmp dword [eax + 8], 9
jae 0x10059a7d
call sub.KERNEL32.dll_GetProcessHeap
push esi
jmp 0x10059a85
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.10065b00
mov esi, dword [esp + 0x70]
mov edx, dword [esp + 0xb0]
mov ecx, dword [esp + 0x50]
jmp 0x10059b8b
push 0xf0
push esi
lea edi, [esp + 0x5c0]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
call fcn.101079c0
cmp eax, 3
je 0x1005ec7b
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 0x1005995e
cmp esi, 2
jne 0x1005ec67
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 0x1005ed1b
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], 0x10398f00
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.10108610
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 0x10059b3a
jmp 0x10059b4d
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 0x1005ed1b
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], 0x10398f44
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.100ff440
test eax, eax
je 0x1005ec8f
mov eax, dword [eax]
mov ecx, ebx
mov edx, esi
test eax, eax
je 0x10059ae8
push eax
jmp 0x10059aea
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 0x10059a58
mov ecx, edi
call fcn.10065390
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 0x10059ace
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 0x10059aab
lea ecx, [esp + 0x460]
call fcn.10065b00
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 0x10059c25
jmp 0x10059c3d
push 0
call fcn.10107f50
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 0x10059b4d
cmp eax, 1
jne 0x10059b2e
mov eax, dword [esp + 0x18c]
lock dec dword [eax]
jne 0x10059b4d
lea ecx, [esp + 0x18c]
call fcn.10069f30
jmp 0x10059b46
mov eax, dword [esp + 0x18c]
lock dec dword [eax]
jne 0x10059b4d
lea ecx, [esp + 0x18c]
call fcn.1006a000
mov edx, dword [esp + 0xb0]
mov eax, 0x8c
mov ecx, 0x44
lock cmpxchg dword [esi], ecx
je 0x10059b6e
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 0x10059c3d
lock dec dword [ecx]
jne 0x10059c3d
lea ecx, [esp + 0x580]
call fcn.10116ed0
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.1005f1e0
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 0x10058b96
cmp eax, 1
jne 0x1005ec08
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx]
or eax, dword [ecx + 4]
je 0x10059f70
mov ecx, dword [esp + 0x358]
mov eax, dword [ecx]
or eax, dword [ecx + 4]
je 0x1005a030
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 0x1005a166
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 0x1005a117
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 0x1005a0f4
mov ecx, dword [esp + 0x184]
mov eax, dword [ecx]
or eax, dword [ecx + 4]
je 0x1005a2f8
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 0x1005ec1c
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 0x1005a5dd
cmp byte [edi], 3
je 0x1005ebe0
lea ecx, [esp + 0x460]
mov edx, edi
push ebx
call fcn.10066cc0
add esp, 4
mov ebx, dword [esp + 0x460]
cmp ebx, 2
je 0x1005df95
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 0x1005ed87
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.10065390
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 0x1005a486
mov ecx, dword [esp + 0x80]
mov eax, 1
xor edx, edx
mov esi, ecx
jmp 0x1005a4d6
mov edi, dword [esp + 0x5a8]
mov eax, dword [edi]
xor eax, 3
or eax, dword [edi + 4]
je 0x1005ebe0
lea ecx, [esp + 0x460]
mov edx, edi
push ebx
call fcn.10069870
add esp, 4
mov esi, dword [esp + 0x460]
cmp esi, 2
je 0x1005df95
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 0x1005ec44
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.10065b00
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 0x1005a514
mov ecx, dword [esp + 0x80]
mov eax, 1
xor edx, edx
mov ebx, ecx
jmp 0x1005a564
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 0x1005a59d
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.1005f1e0
movdqa xmm0, xmmword [esp + 0x120]
mov dword [esi + 4], 0
mov dword [esi], 2
movd eax, xmm0
cmp eax, 2
je 0x1005d66f
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 0x1005ed25
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.1005f1e0
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 0x1005a820
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.1005f290
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 8]
xor ebx, ebx
jmp 0x1005d145
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 0x1005a980
mov edi, dword [esp + 0x2c]
cmp ecx, 2
mov eax, ecx
je 0x1005ec30
cmp byte [esp + 0x508], 0
je 0x1005b739
movzx eax, byte [esp + 0x4b4]
xor edi, edi
test eax, eax
je 0x1005abeb
cmp eax, 1
je 0x1005abd9
call sub.KERNEL32.dll_GetProcessHeap
push 0x10
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1005eddf
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 0x1005abed
cmp byte [esp + 0x4a0], 7
mov edi, dword [esp + 0x2c]
jne 0x1005bb30
mov eax, dword [0x10551ebc]
cmp eax, 4
jb 0x1005a9a1
mov eax, dword [0x10551ec0]
mov eax, dword [0x10411958]
add eax, 0xfffffffe
cmp eax, 4
jb 0x1005aab9
mov ecx, dword [0x10411380]
test ecx, ecx
je 0x1005aab9
mov al, 1
cmp ecx, 1
je 0x1005a9d2
cmp ecx, 2
jne 0x10058b1d
mov al, 2
movzx edx, al
mov ecx, 0x10411380
call fcn.10109ff0
test al, al
je 0x1005aab9
mov ecx, dword [0x10411384]
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x1005edf0
mov edx, dword [ecx + 0x2c]
mov esi, dword [ecx + 0x34]
mov edi, dword [ecx + 0x38]
mov dword [esp + 0x5b8], 0
mov dword [esp + 0x210], 0x10399020
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], 0x103986f0
call fcn.1010a850
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 0x1005ef93
lea ecx, [esp + 0x780]
mov dword [eax], 0
mov dword [esp + 0x120], eax
mov word [eax + 8], 0x501
call fcn.1005fbd0
cmp byte [esp + 0x4a0], 0xa
jb 0x1005ab18
cmp dword [esp + 0x4a8], 0
je 0x1005ab18
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 0x1005ab50
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.1004fdd0
add esp, 4
lea ecx, [esp + 0x4e0]
call fcn.100570c0
lea ecx, [esp + 0x4e8]
call fcn.100547a0
mov dword [esp + 8], 0
mov dword [esp + 0x80], 1
xor ebx, ebx
mov dword [esp + 0x48], 0
jmp 0x1005ce52
movzx edi, byte [esp + 0x4b5]
mov eax, 1
shl edi, 8
jmp 0x1005abed
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 [0x10398fac]
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 [0x10398fb4]
movsd xmm1, qword [0x10398fa4]
movq qword [ecx + 0x10], xmm0
mov ecx, ebx
mov dword [esp + 0x370], eax
movsd qword [esp + 0x360], xmm1
call fcn.1004e220
mov eax, dword [esp + 0x460]
mov cx, 0xb561
xor eax, 2
or eax, dword [esp + 0x464]
jne 0x1005b005
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.10018260
add esp, 4
movzx eax, byte [esp + 0x361]
mov ecx, esi
mov edx, edi
mov dword [esp + 0x890], eax
push 4
call fcn.10018260
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 0x1005b0ce
movzx edx, byte [esp + 0x130]
mov edi, dword [esp + 0xd0]
cmp byte [edi + eax + 1], dl
je 0x10058ace
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 0x1005b0ce
mov eax, dword [esp + 0x10]
movzx edi, word [eax + esi*4]
cmp edi, 0xffff
je 0x1005b1fb
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 0x1005b238
mov edx, dword [esp + 0x80]
mov esi, dword [esp + 0x50]
cmp ax, dx
jne 0x1005b0c0
cmp dword [esp + 0x70], edi
mov ecx, edi
jbe 0x1005ee04
movzx edx, byte [esp + 0xf0]
mov edi, dword [esp + 0xd0]
imul eax, ecx, 0x38
cmp byte [edi + eax], dl
jne 0x1005b0c0
cmp byte [esp + 0xf0], 1
mov dword [esp + 0x100], ecx
jne 0x1005b09e
mov edx, dword [esp + 0xb0]
mov edi, dword [esp + 0xd0]
cmp dword [edi + eax + 8], edx
jne 0x1005b0c0
mov ecx, dword [esp + 0xd0]
mov eax, dword [ecx + eax + 4]
cmp eax, dword [esp + 0xc0]
je 0x1005b1ac
push dword [esp + 0xb0]
push dword [esp + 0xc4]
push eax
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x1005b0c0
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 0x10058af2
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 0x1005b277
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 0x1005ee0f
mov ecx, dword [esp + 0x5c0]
call fcn.10034d30
test eax, eax
je 0x1005ee0f
cmp dword [esp + 0x5c4], 0
mov edi, eax
mov ebx, edx
mov dword [esp + 0x450], eax
mov dword [esp + 0x454], edx
je 0x1005b404
lea ecx, [esp + 0x188]
lea edx, [esp + 0x5c0]
call fcn.10034820
cmp dword [esp + 0x188], 0
je 0x1005b40f
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], 0x103a17a4
mov dword [esp + 0x214], 2
mov dword [esp + 0x218], 0
mov dword [esp + 0x360], ecx
lea ecx, [esp + 0x360]
mov dword [esp + 0x364], 0x100093b0
mov dword [esp + 0x368], edx
lea edx, [esp + 0x210]
mov dword [esp + 0x36c], 0x1006a420
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.100068b0
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 0x1005b462
movzx ebx, byte [edi + ecx]
cmp bl, 0x1f
seta dl
cmp bl, 0x7f
setne dh
inc ecx
cmp bl, 9
je 0x1005b3e0
and dl, dh
jne 0x1005b3e0
mov bl, 1
mov al, 2
jmp 0x1005b478
mov dword [esp + 0x188], 0
xor eax, eax
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp ebx, eax
je 0x1005b442
mov ch, byte [edi + eax]
cmp ch, 0x1f
seta cl
cmp ch, 0x7f
setne dl
inc eax
cmp ch, 9
je 0x1005b420
and cl, dl
jne 0x1005b420
jmp 0x1005ee23
lea ecx, [esp + 0x210]
mov edx, edi
push ebx
call fcn.10007c50
add esp, 4
mov ebx, dword [esp + 0x10]
mov byte [esp + 0x220], 0
jmp 0x1005b4a0
lea ecx, [esp + 0x210]
mov edx, edi
push eax
call fcn.10007c50
add esp, 4
xor eax, eax
xor ebx, ebx
cmp dword [esp + 0x50], 0
mov byte [esp + 0x220], al
je 0x1005b494
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 0x1005ee2b
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 0x1005ee4b
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 0x1005b593
lea ecx, [esp + 0x480]
mov edx, 1
call fcn.1004ea00
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 0x1005b630
movzx esi, word [eax + ebx*4]
cmp si, 0xffff
je 0x1005b660
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 0x1005b630
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 0x1005b6a4
mov eax, dword [esp + 0x464]
or eax, dword [esp + 0x460]
jne 0x1005b6a4
mov dword [esp + 0x464], 0
mov dword [esp + 0x460], 1
mov edx, dword [esp + 0x488]
mov ecx, dword [esp + 0x50]
cmp edx, ecx
jbe 0x1005ee5f
cmp byte [esp + 0x5b8], 2
jb 0x1005b6ef
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 0x1005b8e6
cmp byte [esp + 0x4b4], 0
je 0x1005b928
mov ecx, dword [esp + 0x4d0]
lea eax, [esp + 0x4cc]
mov dword [esp + 0x188], eax
mov eax, 0x1039e90c
test ecx, ecx
je 0x1005b77a
mov eax, dword [esp + 0x4cc]
cmp ecx, 1
ja 0x1005b793
cmp eax, 0x1039e90c
je 0x1005b8d6
cmp byte [eax], 0x2f
je 0x1005b8d6
mov eax, dword [0x10551ebc]
cmp eax, 2
jb 0x1005b7a2
mov eax, dword [0x10551ec0]
mov eax, dword [0x10411958]
and eax, 0xfffffffe
cmp eax, 4
je 0x1005b8d6
mov ecx, dword [0x10411788]
test ecx, ecx
je 0x1005b8d6
mov al, 1
cmp ecx, 1
je 0x1005b7d3
cmp ecx, 2
jne 0x10058b4b
mov al, 2
movzx edx, al
mov ecx, 0x10411788
call fcn.10109ff0
test al, al
je 0x1005b8d6
mov ecx, dword [0x1041178c]
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x1005ee6e
mov edx, dword [ecx + 0x2c]
mov esi, dword [ecx + 0x34]
mov edi, dword [ecx + 0x38]
mov dword [esp + 0x5b8], 0
mov dword [esp + 0x210], 0x1038552c
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], 0x1003ec50
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], 0x10384cd8
call fcn.1010a850
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x4c0]
test eax, eax
jne 0x1005b937
jmp 0x1005ee82
cmp dword [esp + 0x78c], 2
je 0x1005ec30
cmp byte [esp + 0x789], 0
je 0x1005bb1d
movzx eax, byte [esp + 0x4b4]
test eax, eax
je 0x1005bb30
cmp eax, 1
je 0x1005bb13
test eax, eax
jne 0x1005bb30
jmp 0x1005eee5
mov eax, dword [esp + 0x4c0]
test eax, eax
je 0x1005b755
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.10035120
cmp byte [esp + 0x210], 1
je 0x1005eef1
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 0x1005ba75
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 0x1005bb30
cmp byte [esp + 0x4b5], 1
jne 0x1005bb30
lea ecx, [esp + 0x4b4]
call fcn.1003e960
nop dword [eax]
mov eax, dword [esp + 0x78c]
cmp eax, 2
je 0x1005ef25
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 0x1005be44
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 0x1005ef36
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 0x1005eddb
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.1006a510
add esp, 4
mov eax, dword [esp + 0x5b8]
mov dword [esp + 0x210], ebx
xor eax, 4
or eax, dword [esp + 0x5bc]
jne 0x1005c12c
mov ecx, ebx
xor esi, esi
xor edx, edx
jmp 0x1005cb75
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 0x1005bf6c
cmp byte [esp + 0x798], 0
je 0x1005bf6c
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 0x1005c7d6
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 0x1005ef36
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 0x1005eddb
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.1006a510
add esp, 4
mov eax, dword [esp + 0x5b8]
mov dword [esp + 0x210], ebx
xor eax, 4
or eax, dword [esp + 0x5bc]
jne 0x1005c57a
mov ecx, ebx
xor esi, esi
xor edx, edx
jmp 0x1005caa5
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 0x1005c150
and eax, 0xa
cmp eax, 8
jne 0x1005c17b
mov eax, dword [edx + 0xc0]
push dword [edx + 0xbc]
call dword [eax + 8]
mov edx, ebx
add esp, 4
lock dec dword [edx]
jne 0x1005c18c
lea ecx, [esp + 0x210]
call fcn.100649a0
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 [0x10364f90]
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 0x1005ef47
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.100648f0
mov ecx, esi
call fcn.10063f40
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 [0x10551ebc]
cmp eax, 4
jb 0x1005c3fa
mov eax, dword [0x10551ec0]
mov eax, dword [0x10411958]
add eax, 0xfffffffe
cmp eax, 4
jb 0x1005c50e
mov ecx, dword [0x1041126c]
test ecx, ecx
je 0x1005c50e
mov al, 1
cmp ecx, 1
je 0x1005c42b
cmp ecx, 2
jne 0x10058b34
mov al, 2
movzx edx, al
mov ecx, 0x1041126c
call fcn.10109ff0
test al, al
je 0x1005c50e
mov ecx, dword [0x10411270]
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x1005ef58
mov edx, dword [ecx + 0x2c]
mov esi, dword [ecx + 0x34]
mov edi, dword [ecx + 0x38]
mov dword [esp + 0x360], 0
mov dword [esp + 0x5b8], 0x10399080
mov dword [esp + 0x5bc], 1
mov dword [esp + 0x5c0], 0
mov dword [esp + 0x5c8], 0x103c9de4
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], 0x103986f0
call fcn.1010a850
call sub.KERNEL32.dll_GetProcessHeap
push 0xc
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1005ef93
mov ecx, str.connection_was_not_ready9
mov edx, 0x18
mov dword [eax], 0
mov byte [eax + 8], 4
mov edi, eax
call fcn.1004c900
mov esi, dword [edi]
mov ecx, edi
mov dword [esp + 0x30], eax
test esi, esi
je 0x1005cadf
mov ebx, dword [ecx + 4]
push esi
call dword [ebx]
mov ecx, edi
add esp, 4
cmp dword [ebx + 4], 0
je 0x1005cadf
cmp dword [ebx + 8], 9
jae 0x1005cacd
call sub.KERNEL32.dll_GetProcessHeap
push esi
jmp 0x1005cad5
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 0x1005c5a0
and eax, 0xa
cmp eax, 8
jne 0x1005c5cb
mov eax, dword [edx + 0xc0]
push dword [edx + 0xbc]
call dword [eax + 8]
mov edx, ebx
add esp, 4
lock dec dword [edx]
jne 0x1005c5dc
lea ecx, [esp + 0x210]
call fcn.100649a0
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 [0x10364f90]
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 0x1005ef69
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.100648f0
mov ecx, esi
call fcn.10063f40
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 [0x10551ebc]
cmp eax, 4
jb 0x1005c881
mov eax, dword [0x10551ec0]
mov eax, dword [0x10411958]
add eax, 0xfffffffe
cmp eax, 4
jb 0x1005c999
mov ecx, dword [0x10411260]
test ecx, ecx
je 0x1005c999
mov al, 1
cmp ecx, 1
je 0x1005c8b2
cmp ecx, 2
jne 0x10058b06
mov al, 2
movzx edx, al
mov ecx, 0x10411260
call fcn.10109ff0
test al, al
je 0x1005c999
mov ecx, dword [0x10411264]
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x1005ef7a
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], 0x10399080
mov dword [esp + 0x5bc], 1
mov dword [esp + 0x5c0], 0
mov dword [esp + 0x5c8], 0x103c9de4
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], 0x103986f0
call fcn.1010a850
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 0x1005ef93
mov ecx, str.connection_was_not_ready9
mov edx, 0x18
mov dword [eax], 0
mov byte [eax + 8], 4
mov edi, eax
call fcn.1004c900
mov esi, dword [edi]
mov ecx, edi
mov dword [esp + 0x30], eax
test esi, esi
je 0x1005ca0f
mov ebx, dword [ecx + 4]
push esi
call dword [ebx]
mov ecx, edi
add esp, 4
cmp dword [ebx + 4], 0
je 0x1005ca0f
cmp dword [ebx + 8], 9
jae 0x1005c9fd
call sub.KERNEL32.dll_GetProcessHeap
push esi
jmp 0x1005ca05
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], 0x10397e2c
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 0x1005cb96
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], 0x10397e2c
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 0x1005ec30
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x780]
mov dword [esp + 0xd0], edx
test ecx, ecx
je 0x1005ccc9
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 0x1005cccb
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 0x1005ec30
mov dword [esp + 0x760], eax
mov eax, dword [esp + 0x790]
mov eax, dword [eax + 8]
cmp eax, 3
jne 0x1005ce8d
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.1005fbd0
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 0x1005ce88
lock dec dword [eax]
jne 0x1005ce88
lea ecx, [esp + 0x500]
call fcn.10116ed0
jmp 0x1005d00f
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.1005eff0
test bl, bl
je 0x1005dc64
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 0x10058b70
cmp eax, 1
jne 0x1005ebf4
mov ecx, dword [esp + 0x1b0]
mov eax, dword [ecx]
or eax, dword [ecx + 4]
je 0x1005d51a
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx]
or eax, dword [ecx + 4]
je 0x1005d63d
mov esi, dword [esp + 0x358]
mov eax, dword [esi]
xor eax, 4
or eax, dword [esi + 4]
je 0x1005ebe0
lea ecx, [esp + 0x460]
mov edx, esi
push ebx
call fcn.1006a6a0
add esp, 4
mov edi, dword [esp + 0x460]
mov ecx, dword [esp + 0x464]
mov eax, edi
xor eax, 2
or eax, ecx
jne 0x1005d688
mov dword [esp + 0x984], 0
mov dword [esp + 0x980], 2
jmp 0x1005d66f
movups xmm1, xmmword [edi + 0x20]
movdqu xmm0, xmmword [edi + 0x10]
mov eax, dword [esp + 0x5b4]
movaps xmmword [esp + 0x1b0], xmm1
movaps xmm1, xmmword [0x10364fc0]
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 0x1005ec1c
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 0x1005da16
mov edx, dword [esp + 0x358]
lea ecx, [esp + 0x980]
push ebx
call fcn.1006a6a0
add esp, 4
mov edi, dword [esp + 0x980]
mov esi, dword [esp + 0x984]
mov eax, edi
xor eax, 2
or eax, esi
jne 0x1005da16
mov eax, dword [esp + 0x354]
mov dword [eax + 4], 0
mov dword [eax], 2
jmp 0x1005dc5c
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 0x1005efa4
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.1005fa90
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 0x1005edc2
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 0x1005d8ad
push 0xa8
push ebx
lea eax, [esp + 0x5c0]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea ecx, [esp + 0x890]
call fcn.1005fbd0
mov eax, dword [esp + 0x8cc]
xor esi, esi
mov edi, 1
test eax, eax
je 0x1005d9eb
lock dec dword [eax]
jne 0x1005d9eb
lea ecx, [esp + 0x8cc]
call fcn.10116ed0
jmp 0x1005d9eb
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 0x1005d909
cmp eax, 2
je 0x1005ec30
cmp dword [esp + 0x7b4], 0
je 0x1005d909
mov eax, dword [esp + 0x790]
mov eax, dword [eax + 8]
cmp eax, 1
jne 0x1005dd9b
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.1005fbd0
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 0x1005d9d2
lock dec dword [eax]
jne 0x1005d9d2
lea ecx, [esp + 0x7bc]
call fcn.10116ed0
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.1005eff0
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 0x1005db9f
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 0x1005dd84
mov ecx, dword [esp + 0x4c]
call fcn.10065390
mov ecx, esi
call fcn.10065b00
push 0x110
push edi
push dword [esp + 0x54]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
jmp 0x1005d66f
mov eax, dword [esp + 0x4a8]
test eax, eax
je 0x1005e2e6
cmp eax, 1
je 0x1005dfa5
lea ecx, [esp + 0x4b0]
call fcn.1002cd60
test al, al
je 0x1005dfb9
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 0x1005e5b9
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 0x1005efd8
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 0x10399138
push eax
push esi
call dword [edi + 0xc]
add esp, 0xc
jmp 0x1005d9a1
mov dword [esp + 0x980], 2
jmp 0x1005d66f
mov eax, dword [esp + 0x4b8]
or eax, dword [esp + 0x4bc]
je 0x1005ddc7
call sub.KERNEL32.dll_GetProcessHeap
push 0x24
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1005efca
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 0x1005eddb
mov edi, dword [esp + 0x4c8]
test edi, edi
jne 0x1005e072
call sub.KERNEL32.dll_GetProcessHeap
push 0x10
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1005eddf
lea ecx, [esp + 0x4c8]
mov dword [eax], 2
mov edi, eax
mov dword [eax + 8], 0
call fcn.10037d00
mov dword [esp + 0x4c8], edi
cmp dword [edi], 2
je 0x1005e0fe
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 0x1005e0af
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 0x1005e0af
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 0x1005e0f2
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 0x1005e0f2
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 0x1005e0fe
call fcn.10065250
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 0x1005e2f9
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 0x1005efd1
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 0x10399170
push eax
push edi
mov eax, dword [esp + 0x1bc]
call dword [eax + 0xc]
add esp, 0xc
jmp 0x1005d9a1
cmp dword [esp + 0x4b8], 0
jne 0x1005dfb9
jmp 0x1005ddc7
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.101079c0
cmp eax, 3
je 0x1005ec7b
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 0x1005e86d
cmp eax, 2
jne 0x1005ec67
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 0x1005efdf
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], 0x10399180
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.10108610
mov esi, ebx
add esp, 4
lea ebx, [esp + 0x584]
jmp 0x1005ebb1
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.101079c0
cmp eax, 3
je 0x1005ec7b
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 0x1005e9ec
cmp eax, 2
jne 0x1005ec67
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 0x1005efe6
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], 0x10399148
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.10108610
add esp, 4
jmp 0x1005ebb1
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 0x1005efdf
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], 0x10399194
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.100ff440
test eax, eax
je 0x1005ec8f
mov eax, dword [eax]
lea ecx, [esp + 0x360]
mov edx, edi
test eax, eax
je 0x1005eb61
push eax
jmp 0x1005eb63
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 0x1005efe6
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], 0x1039915c
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.100ff440
test eax, eax
je 0x1005ec8f
mov eax, dword [eax]
lea ecx, [esp + 0x360]
mov edx, edi
test eax, eax
je 0x1005eb90
push eax
jmp 0x1005eb92
push 0
call fcn.10107f50
add esp, 4
mov eax, dword [esp + 0x580]
test eax, eax
je 0x1005ebbd
cmp eax, 1
jne 0x1005ebaa
mov eax, dword [esp + 0x584]
lock dec dword [eax]
jne 0x1005ebbd
mov ecx, ebx
call fcn.10069f30
jmp 0x1005ebbd
push 0
call fcn.10107f50
add esp, 4
mov eax, dword [esp + 0x580]
test eax, eax
je 0x1005ebbd
cmp eax, 1
je 0x1005eb7b
mov esi, dword [esp + 0x584]
lock dec dword [esi]
jne 0x1005ebbd
mov ecx, ebx
call fcn.1006a000
mov ecx, 0x44
mov eax, 0x8c
lock cmpxchg dword [edi], ecx
je 0x1005d9a1
mov eax, dword [edi + 0x14]
push edi
call dword [eax + 0xc]
add esp, 4
jmp 0x1005d9a1
mov ecx, 0x10398dbc
mov edx, 0x36
push 0x10398df4
jmp 0x1005edd1
mov ecx, 0x10398d8a
mov edx, 0x22
push 0x10398dac
jmp 0x1005edd1
mov ecx, 0x10398e04
mov edx, 0x1f
push 0x10398e24
jmp 0x1005edd1
mov ecx, str.Ready_polled_after_completion
mov edx, 0x1d
push 0x10398f78
jmp 0x1005ef89
mov ecx, str.not_dropped
mov edx, 0xb
push 0x10398f94
jmp 0x1005ef89
mov dword [edi + 4], 0
mov dword [edi], 3
push 0xe8
lea eax, [esp + 0x464]
push eax
push dword [esp + 0x74]
jmp 0x1005ed69
mov ecx, str.spawning_not_enabled_for_runtime
mov edx, 0x20
push 0x10398f34
jmp 0x1005edd1
mov ecx, str.must_be_called_from_the_context_of_Tokio_runtime_configured_with_either__basic_scheduler__or__threaded_scheduler_
mov edx, 0x71
push 0x10398ef0
jmp 0x1005ef89
lea eax, [esp + 0x6b8]
mov ecx, 0x103c9a77
mov edx, 0x46
push 0x103c9ac0
push 0x103a1ea0
jmp 0x1005ef1a
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 0x1005ed69
mov ecx, 0xf0
jmp 0x1005ef3b
mov ecx, 0x120
jmp 0x1005ef3b
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 0x1005edc2
mov ecx, 0x10398e34
mov edx, 0x18
push 0x10398e4c
jmp 0x1005ef89
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, 0x103c9a4f
mov edx, 0x28
push 0x10398e5c
call fcn.1004d820
add esp, 4
ud2
ud2
mov ecx, 0x10
jmp 0x1005ef98
push 0x10399010
jmp 0x1005ee64
mov ecx, 0x103986bd
mov edx, 0x22
push 0x10399028
jmp 0x1005ef89
mov edx, dword [esp + 0x70]
push 0x10398598
jmp 0x1005ee64
mov ecx, str.authority_implies_host
mov edx, 0x16
push 0x10398fd0
jmp 0x1005ef89
mov byte [esp + 0x220], 2
lea eax, [esp + 0x6b8]
mov ecx, str.uri_host_is_valid_header_value
mov edx, 0x1e
push 0x10399000
push 0x10398470
jmp 0x1005ef1a
mov ecx, str.header_map_at_capacity
mov edx, 0x16
push 0x10397f14
jmp 0x1005edd1
push 0x103985a8
call fcn.10008590
add esp, 4
ud2
mov ecx, 0x103986bd
mov edx, 0x22
push 0x10385534
jmp 0x1005ef89
lea eax, [esp + 0x5b8]
lea ecx, [esp + 0x210]
mov edx, 0x1038554c
mov dword [esp + 0x5b8], 0x10385544
mov dword [esp + str.internal_error:_entered_unreachable_code:], 0x103c9db0
mov dword [esp + 0x214], 1
mov dword [esp + 0x218], 0
mov dword [esp + 0x5bc], 0x100093b0
mov dword [esp + 0x220], eax
mov dword [esp + 0x224], 1
call fcn.100f94f0
ud2
mov ecx, 0x1037fbf8
call fcn.10032c50
ud2
mov al, byte [esp + 0x211]
mov ecx, str.authority_is_valid
mov edx, 0x12
mov byte [esp + 0x5b8], al
push 0x10385570
push 0x1038550c
lea eax, [esp + 0x5c0]
push eax
call fcn.1000aa20
add esp, 0xc
ud2
mov ecx, str.not_dropped
mov edx, 0xb
push 0x10399038
jmp 0x1005ef89
mov ecx, 0xd0
mov edx, 8
call fcn.100067d0
ud2
mov ecx, str.envelope_not_dropped9
mov edx, 0x14
push 0x1039905c
jmp 0x1005ef89
mov ecx, 0x103986bd
mov edx, 0x22
push 0x103990f0
jmp 0x1005ef89
mov ecx, str.envelope_not_dropped9
mov edx, 0x14
push 0x10399118
jmp 0x1005ef89
mov ecx, 0x103986bd
mov edx, 0x22
push 0x10399128
call fcn.1000a9c0
add esp, 4
ud2
mov ecx, 0xc
mov edx, 4
call fcn.100067d0
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 0x1005ed69
mov ecx, 0x24
jmp 0x1005ef98
mov ecx, 0x40
jmp 0x1005ef98
mov ecx, 0x3c
jmp 0x1005ef98
mov ecx, 0x68
jmp 0x1005ef98
mov ecx, 0x64
jmp 0x1005ef98