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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
mov eax, 0x4500
call fcn.102d9eb0
cmp dword [edx + 0x170], 2
je 0x1007cdae
movzx eax, byte [edx + 0x1ac]
mov ebx, edx
mov dword [esp + 0x114], ecx
test eax, eax
je 0x1007789f
cmp eax, 3
jne 0x1007cd90
movzx eax, byte [ebx + 0x164]
lea edx, [ebx + 0x164]
mov dword [esp + 0x10], edx
test eax, eax
je 0x10077b9b
cmp eax, 3
jne 0x1007cdc2
lea eax, [ebx + 0x58]
lea esi, [ebx + 0x12c]
mov dword [esp + 0xc], eax
movzx eax, byte [ebx + 0x12c]
mov dword [esp + 0x6c], esi
test eax, eax
je 0x10077cd5
cmp eax, 3
jne 0x1007ce40
lea eax, [esp + 0x118]
lea edx, [esp + 0x3e38]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x1bd0]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x160]
mov dword [esp + 0x34], eax
mov eax, dword [ebx + 0x128]
jmp 0x100781eb
mov eax, dword [0x10551ebc]
cmp eax, 5
jb 0x100778ae
mov eax, dword [0x10551ec0]
mov eax, dword [0x10411958]
dec eax
cmp eax, 5
jb 0x100779f2
mov ecx, dword [0x10411278]
test ecx, ecx
je 0x100779f2
mov al, 1
cmp ecx, 1
je 0x100778dd
cmp ecx, 2
jne 0x10079a33
mov al, 2
movzx edx, al
mov ecx, 0x10411278
call fcn.10109ff0
test al, al
je 0x100779f2
mov ecx, dword [0x1041127c]
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x1007d0cd
mov edx, dword [ecx + 0x2c]
mov esi, dword [ecx + 0x34]
mov edi, dword [ecx + 0x38]
mov dword [esp + 0x2650], 0
mov dword [esp + 0x2654], edx
mov dword [esp + 0x2658], eax
mov dword [esp + 0x265c], esi
mov dword [esp + 0x2660], edi
lea esi, [esp + 0x30a0]
lea edx, [esp + 0x11b0]
mov eax, 2
cmp byte [ebx + 0x192], 1
mov dword [esp + 0x11b0], esi
mov dword [esp + 0x1bd0], 0x1039976c
mov dword [esp + 0x1bd4], 1
mov dword [esp + 0x1bd8], 0
mov dword [esp + 0x1be0], edx
lea esi, [esp + 0x2650]
lea edx, [esp + 0x1bd0]
mov dword [esp + 0x11b4], 0x10010c10
mov dword [esp + 0x1be4], 1
mov dword [esp + 0x3780], esi
mov dword [esp + 0x3784], edx
lea esi, [esp + 0x3780]
lea edx, [ecx + 0x2c]
mov dword [esp + 0x3788], 0x103986f0
mov dword [esp + 0x3e38], esi
mov dword [esp + 0x3e3c], 1
mov dword [esp + 0x3e40], edx
lea edx, [esp + 0x3e38]
sbb eax, 0
mov dword [esp + 0x30a0], eax
call fcn.1010a850
call sub.KERNEL32.dll_GetProcessHeap
push 0xa90
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1007ce59
mov esi, eax
lea eax, [esp + 0x1bd0]
push 0xa80
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esi + 0xa84], 0
mov dword [esi + 0xa80], 0
mov dword [esi + 0xa8c], 0
mov dword [esi + 0xa88], 0
call sub.KERNEL32.dll_GetProcessHeap
push 0x34
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1007ce63
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 8], esi
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x20], 1
mov dword [eax + 0x24], esi
mov dword [eax + 0x28], 0
mov dword [eax + 0x2c], esi
mov byte [eax + 0x30], 0
mov edi, eax
movzx eax, word [esp + 0x70]
mov word [edi + 0x31], ax
mov al, byte [esp + 0x72]
mov byte [edi + 0x33], al
lock inc dword [edi]
jle 0x1007cd8c
call sub.KERNEL32.dll_GetProcessHeap
push 0x18
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1007ce6d
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 8], 0
mov dword [eax + 0x10], 0
mov byte [eax + 0x14], 0
movzx ecx, word [esp + 0x2650]
mov word [eax + 0x15], cx
mov cl, byte [esp + 0x2652]
mov byte [eax + 0x17], cl
lock inc dword [eax]
jle 0x1007cd8c
mov dword [ebx + 0x1a0], eax
mov dword [ebx + 0x1a4], edi
mov byte [ebx + 0x1a8], 0
mov dword [esp + 0x4c], eax
mov dword [esp + 0x68], edi
movzx ecx, word [esp + 0x1bd0]
mov word [ebx + 0x1a9], cx
mov cl, byte [esp + 0x1bd2]
mov byte [ebx + 0x1ab], cl
cmp byte [ebx + 0x192], 0
je 0x10077bbd
mov ecx, dword [ebx + 0x19c]
mov dword [esp + 0x2658], ecx
movsd xmm0, qword [ebx + 0x194]
movsd qword [esp + 0x2650], xmm0
mov esi, dword [ebx + 0x168]
test esi, esi
je 0x10077d0a
lock inc dword [esi]
jle 0x1007cd8c
mov eax, dword [ebx + 0x16c]
mov dword [esp + 8], eax
jmp 0x10077d0c
mov ecx, dword [ebx + 0x140]
mov esi, dword [ebx + 0x148]
mov edx, dword [ebx + 0x14c]
lea eax, [esp + 0x160]
mov dword [esp + 0x34], eax
jmp 0x10077dd3
mov eax, dword [ebx + 0x19c]
mov dword [esp + 0x1bd8], eax
movsd xmm0, qword [ebx + 0x194]
movsd qword [esp + 0x1bd0], xmm0
call sub.KERNEL32.dll_GetProcessHeap
push 0x2000
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1007ce8b
mov dword [esp + 0x100], eax
call sub.KERNEL32.dll_GetProcessHeap
push 0x140
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
mov dword [esp + 0x8c], eax
je 0x1007cfd3
mov esi, dword [esp + 0x1bd8]
movsd xmm0, qword [esp + 0x1bd0]
mov cl, byte [esp + 0x72]
movzx edx, word [esp + 0x70]
mov byte [esp + 0x2fa], cl
movsd qword [esp + 0xae3], xmm0
mov dword [esp + 0xaeb], esi
mov word [esp + 0x2f8], dx
mov cl, 2
mov ch, byte [ebx + 0x190]
cmp ch, 1
sbb cl, 0
xor edx, edx
cmp ch, 2
movzx eax, cl
mov cl, byte [ebx + 0x191]
cmove eax, edx
mov edx, dword [ebx + 0x170]
mov byte [esp + 0xf4], cl
mov ecx, dword [ebx + 0x178]
mov esi, edx
cmp edx, 1
mov esi, 0x2000
mov dword [esp + 0x34], edx
jne 0x10077c9d
mov esi, dword [ebx + 0x174]
cmp ecx, 1
mov dword [esp + 0x54], eax
jne 0x10079663
mov ecx, dword [ebx + 0x17c]
cmp ecx, 0x1fff
jbe 0x1007d06a
mov esi, 0x2000
mov dword [esp + 0xd8], ecx
mov dword [esp + 0x34], 0
jmp 0x1007966e
lea edx, [esp + 0x1bd0]
lea ecx, [esp + 0x118]
lea eax, [esp + 0x3e38]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x160]
mov dword [esp + 8], eax
mov dword [esp + 0x34], ecx
jmp 0x10078060
xor esi, esi
mov eax, dword [esp + 0x2658]
movsd xmm0, qword [esp + 0x2650]
lea edi, [ebx + 0x180]
mov dword [esp + 0x1d08], eax
movsd qword [esp + 0x1d00], xmm0
push 0x13c
lea eax, [esp + 0x1bd4]
push eax
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 8]
mov dword [ebx + 0x13c], eax
mov dword [ebx + 0x140], ecx
mov dword [ebx + 0x144], edi
mov dword [ebx + 0x148], esi
mov dword [ebx + 0x14c], edx
lea edi, [esp + 0x160]
movsd xmm0, qword [esp + 0x2f8]
movsd xmm1, qword [esp + 0x300]
mov dword [esp + 0x34], edi
movsd qword [ebx + 0x150], xmm0
movsd qword [ebx + 0x158], xmm1
mov eax, dword [esp + 0x308]
mov dword [ebx + 0x160], eax
lea eax, [ebx + 0x164]
mov byte [ebx + 0x164], 0
mov dword [esp + 0x10], eax
movzx eax, word [esp + 0x64]
mov word [ebx + 0x165], ax
mov al, byte [esp + 0x66]
mov byte [ebx + 0x167], al
mov eax, dword [ebx + 0x138]
mov dword [esp + 0x2b0], eax
movsd xmm0, qword [ebx + 0x130]
movsd qword [esp + 0x2a8], xmm0
mov eax, dword [ebx + 0x13c]
mov dword [ebx + 0x150], eax
mov dword [ebx + 0x154], ecx
mov eax, dword [ebx + 0x144]
mov dword [ebx + 0x158], eax
mov dword [ebx + 0x15c], esi
mov dword [ebx + 0x160], edx
mov dword [ebx + 4], 0
mov dword [ebx], 0x1e
mov dword [ebx + 8], 0
mov dword [ebx + 0x10], 0xffffffff
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x1c], 0xa
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x28], 0
mov dword [ebx + 0x30], 0
mov dword [ebx + 0x38], 0
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x48], 0
mov byte [ebx + 0x50], 0
mov dword [ebx + 0x54], 1
mov ecx, dword [eax + 4]
mov dword [ebx + 0x38], 1
mov dword [ebx + 0x3c], ecx
mov dword [esp + 8], ecx
mov edx, dword [eax]
mov dword [ebx + 0x14], 1
mov dword [ebx + 0x18], edx
mov eax, dword [eax + 8]
lea ecx, [eax - 0x4000]
cmp ecx, 0xffc000
jae 0x1007ce27
mov dword [ebx + 0x40], 1
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x28], 1
mov dword [ebx + 0x2c], 0
lea esi, [esp + 0x1bd0]
lea edi, [esp + 0x3428]
mov ecx, dword [ebx + 0x24]
movsd xmm0, qword [esp + 0x2a8]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], ecx
mov ecx, dword [ebx + 0x34]
mov dword [esp + 0x14], ecx
mov ecx, dword [ebx + 0x4c]
movsd qword [esp + 0x1c28], xmm0
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x2b0]
mov dword [esp + 0x1c30], ecx
mov ecx, 0x19
rep movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x5c], 0
mov dword [ebx + 0x58], 0x1e
mov dword [ebx + 0x60], 0
mov dword [ebx + 0x68], 0xffffffff
mov dword [ebx + 0x6c], 1
mov dword [ebx + 0x70], edx
mov dword [ebx + 0x74], 0xa
mov dword [ebx + 0x78], 0
lea edi, [ebx + 0xb0]
lea esi, [esp + 0x3428]
lea edx, [ebx + 0x58]
mov ecx, dword [esp + 0x20]
mov dword [ebx + 0x7c], ecx
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0x80], 1
mov dword [ebx + 0x84], 0
mov dword [ebx + 0x88], 0
mov dword [ebx + 0x8c], ecx
mov ecx, dword [esp + 8]
mov dword [ebx + 0x90], 1
mov dword [ebx + 0x94], ecx
mov dword [ebx + 0x98], 1
mov dword [ebx + 0x9c], eax
mov eax, dword [esp + 0xc]
mov dword [ebx + 0xa0], 0
mov ecx, 0x19
mov dword [ebx + 0xa4], eax
mov byte [ebx + 0xa8], 0
mov al, byte [esp + 0x20a]
mov byte [ebx + 0xab], al
movzx eax, word [esp + 0x208]
mov word [ebx + 0xa9], ax
mov dword [ebx + 0xac], 1
lea eax, [ebx + 0x12c]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x6c], eax
lea esi, [esp + 0x118]
lea ecx, [esp + 0x3e38]
movsd xmm0, qword [esp + 0x340]
mov dword [esp + 0x14], esi
mov dword [esp + 8], ecx
movsd qword [ebx + 0x124], xmm0
movsd xmm0, qword [esp + 0x330]
movsd xmm1, qword [esp + 0x338]
movsd qword [ebx + 0x11c], xmm1
movsd qword [ebx + 0x114], xmm0
mov byte [ebx + 0x12c], 0
movzx eax, word [esp + 0x48]
mov word [ebx + 0x12d], ax
mov al, byte [esp + 0x4a]
mov byte [ebx + 0x12f], al
mov eax, dword [ebx + 0x110]
lea edi, [ebx + 0xb0]
mov ecx, 0x16
mov dword [esp + 0xc], edx
mov esi, edx
mov dword [edx + 0xc4], eax
movsd xmm0, qword [ebx + 0x108]
movsd qword [edx + 0xbc], xmm0
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x10551ebc]
cmp eax, 4
jb 0x1007809e
mov eax, dword [0x10551ec0]
mov eax, dword [0x10411958]
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 8]
add eax, 0xfffffffe
cmp eax, 4
jb 0x100781c6
mov ecx, dword [0x10410d08]
test ecx, ecx
je 0x100781c6
mov al, 1
cmp ecx, 1
je 0x100780d7
cmp ecx, 2
jne 0x10079a18
mov al, 2
movzx edx, al
mov ecx, 0x10410d08
call fcn.10109ff0
mov edx, dword [esp + 8]
test al, al
je 0x100781c6
mov ecx, dword [0x10410d0c]
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x1007d04c
mov edx, dword [ecx + 0x2c]
mov esi, dword [ecx + 0x34]
mov edi, dword [ecx + 0x38]
mov dword [esp + 0x758], 0
mov dword [esp + 0x11b0], 0x103997b4
mov dword [esp + 0x11b4], 1
mov dword [esp + 0x11b8], 0
mov dword [esp + 0x11c0], 0x103c9de4
mov dword [esp + 0x11c4], 0
mov dword [esp + 0x75c], edx
mov dword [esp + 0x760], eax
mov dword [esp + 0x764], esi
mov dword [esp + 0x768], edi
lea edi, [esp + 0x758]
lea edx, [esp + 0x11b0]
mov dword [esp + 0xae0], edi
mov dword [esp + 0xae4], edx
lea edi, [esp + 0xae0]
lea edx, [ecx + 0x2c]
mov dword [esp + 0xae8], 0x103986f0
mov dword [esp + 0x400], edi
mov dword [esp + 0x404], 1
mov dword [esp + 0x408], edx
lea edx, [esp + 0x400]
call fcn.1010a850
mov edx, dword [esp + 8]
mov esi, dword [esp + 0xc]
lea eax, [esi + 0xbc]
mov dword [ebx + 0x120], eax
mov eax, 0x18
mov dword [ebx + 0x124], str.PRI__HTTP_2.0_r_n_r_nSM_r_n_r_n.
mov dword [ebx + 0x128], 0x18
mov esi, dword [ebp + 8]
lea edi, [esp + 0x11b0]
mov dword [esp + 8], edx
nop dword [eax]
test eax, eax
je 0x100782bd
mov ecx, dword [ebx + 0x120]
mov edx, dword [ecx + 4]
push eax
push dword [ebx + 0x124]
push esi
push dword [ecx]
push edi
call dword [edx + 0x10]
add esp, 0x14
mov eax, dword [esp + 0x11b0]
cmp eax, 2
je 0x10078296
mov ecx, dword [esp + 0x11b4]
cmp eax, 1
je 0x10078288
mov eax, dword [ebx + 0x128]
mov edx, dword [ebx + 0x124]
mov dword [ebx + 0x124], str.formatter_errorfailed_to_write_whole_buffer
mov dword [ebx + 0x128], 0
sub eax, ecx
jb 0x1007cd78
add edx, ecx
test ecx, ecx
mov dword [ebx + 0x124], edx
mov dword [ebx + 0x128], eax
jne 0x10078200
mov dword [esp + 0x20], 0
mov eax, 0xe
mov cl, 1
jmp 0x1007998f
cmp cl, 3
je 0x100782bd
cmp cl, 4
jne 0x1007997e
mov eax, dword [esp + 0x114]
mov byte [ebx + 0x12c], 3
mov byte [ebx + 0x164], 3
mov byte [ebx + 0x1ac], 3
mov dword [eax], 2
jmp 0x1007cd59
mov eax, dword [0x10551ebc]
cmp eax, 4
jb 0x100782cc
mov eax, dword [0x10551ec0]
mov eax, dword [0x10411958]
mov esi, dword [esp + 0xc]
add eax, 0xfffffffe
cmp eax, 4
jb 0x100783e8
mov ecx, dword [0x10410d14]
test ecx, ecx
je 0x100783e8
mov al, 1
cmp ecx, 1
je 0x10078301
cmp ecx, 2
jne 0x10079a4a
mov al, 2
movzx edx, al
mov ecx, 0x10410d14
call fcn.10109ff0
test al, al
je 0x100783e8
mov ecx, dword [0x10410d18]
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x1007d0fd
mov edx, dword [ecx + 0x2c]
mov esi, dword [ecx + 0x34]
mov edi, dword [ecx + 0x38]
mov dword [esp + 0x758], 0
mov dword [esp + 0x11b0], 0x10399844
mov dword [esp + 0x11b4], 1
mov dword [esp + 0x11b8], 0
mov dword [esp + 0x11c0], 0x103c9de4
mov dword [esp + 0x11c4], 0
mov dword [esp + 0x75c], edx
lea edx, [esp + 0x758]
mov dword [esp + 0x760], eax
mov dword [esp + 0x764], esi
mov dword [esp + 0x768], edi
lea edi, [esp + 0xae0]
mov dword [esp + 0xae0], edx
lea edx, [ecx + 0x2c]
mov dword [esp + 0x400], edi
mov dword [esp + 0x404], 1
lea edi, [esp + 0x11b0]
mov dword [esp + 0x408], edx
lea edx, [esp + 0x400]
mov dword [esp + 0xae4], edi
mov dword [esp + 0xae8], 0x103986f0
call fcn.1010a850
mov esi, dword [esp + 0xc]
mov eax, dword [esi + 0xc4]
mov dword [esp + 0x760], eax
movsd xmm0, qword [esi + 0xbc]
movsd qword [esp + 0x758], xmm0
call sub.KERNEL32.dll_GetProcessHeap
push 0x1c0
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1007ce92
xorps xmm0, xmm0
mov esi, eax
movaps xmmword [esp + 0x11b0], xmm0
call sub.KERNEL32.dll_GetProcessHeap
push 0x4000
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
mov dword [esp + 0x18], eax
je 0x1007ce9c
mov eax, dword [esp + 0x760]
movsd xmm0, qword [esp + 0x758]
movaps xmm1, xmmword [esp + 0x11b0]
mov dword [esp + 0xc], esi
mov dword [esp + 0xd0], eax
movaps xmmword [esp + 0x1b0], xmm1
movsd qword [esp + 0xc8], xmm0
movsd xmm2, qword [esp + 0xc8]
mov eax, dword [esp + 0xd0]
movaps xmm1, xmmword [esp + 0x1b0]
mov dword [esp + 0x1878], eax
movsd qword [esp + 0x1870], xmm2
movaps xmmword [esp + 0x400], xmm1
lea eax, [esp + 0xae0]
push 0xd8
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x153]
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb3], ecx
call sub.KERNEL32.dll_GetProcessHeap
push 0x2000
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
mov dword [esp + 0x20], eax
je 0x1007ce8b
mov eax, dword [esp + 0x1878]
movsd xmm0, qword [esp + 0x1870]
movaps xmm1, xmmword [esp + 0x400]
lea esi, [esp + 0x758]
mov dword [esp + 0x78], eax
movsd qword [esp + 0x70], xmm0
movaps xmmword [esp + 0x120], xmm1
push 0xd8
push edi
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xb0]
movsd xmm0, qword [esp + 0x70]
mov ecx, dword [esp + 0xb3]
mov dword [esp + 0x238], eax
movzx eax, word [esp + 0xe50]
movsd qword [esp + 0xb0], xmm0
movaps xmm0, xmmword [esp + 0x120]
mov dword [esp + 0x23b], ecx
mov word [esp + 0x270], ax
mov al, byte [esp + 0xe52]
movaps xmmword [esp + 0xe50], xmm0
mov byte [esp + 0x272], al
mov eax, dword [esp + 0x11b0]
mov dword [esp + 0x228], eax
movzx eax, word [esp + 0x11b4]
mov word [esp + 0x22c], ax
mov eax, dword [esp + 0x78]
mov dword [esp + 0xb8], eax
push 0xd8
push esi
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x238]
mov ecx, dword [esp + 0x23b]
mov dword [esp + 0x1a0], eax
movzx eax, word [esp + 0x270]
mov dword [esp + 0x1a3], ecx
mov word [esp + 0x280], ax
mov al, byte [esp + 0x272]
mov byte [esp + 0x282], al
mov eax, dword [esp + 0x228]
mov dword [esp + 0x1f8], eax
movzx eax, word [esp + 0x22c]
mov word [esp + 0x1fc], ax
call sub.KERNEL32.dll_GetProcessHeap
push 0x160
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1007cea3
mov edi, eax
call sub.KERNEL32.dll_GetProcessHeap
push 0x1000
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1007cead
mov esi, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x404], 0
mov dword [esp + 0x400], 0
movsd xmm0, qword [esp + 0xb0]
movsd xmm1, qword [esp + 0xe58]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x40c], 0
mov dword [esp + 0x410], 0x4000
mov dword [esp + 0x414], 0x15
movsd qword [esp + 0x418], xmm0
movsd xmm0, qword [esp + 0xe50]
mov dword [esp + 0x420], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x424], 0
mov dword [esp + 0x428], 4
movsd qword [esp + 0x42c], xmm0
movsd qword [esp + 0x434], xmm1
mov dword [esp + 0x43c], eax
lea eax, [esp + 0x460]
mov dword [esp + 0x440], 8
mov dword [esp + 0x444], 0
mov dword [esp + 0x448], 0
mov dword [esp + 0x44c], 0x1000
mov dword [esp + 0x450], 2
mov dword [esp + 0x45c], 2
push 0xd8
lea ecx, [esp + 0x11b4]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x1a0]
mov byte [esp + 0x538], 2
mov ecx, dword [esp + 0x1a3]
mov dword [esp + 0x539], eax
movzx eax, word [esp + 0x280]
mov dword [esp + 0x53c], ecx
mov dword [esp + 0x540], 0x4000
mov dword [esp + 0x548], 0x4000
mov dword [esp + 0x54c], 3
mov dword [esp + 0x550], 0
mov dword [esp + 0x554], 9
mov dword [esp + 0x558], 1
mov dword [esp + 0x55c], 0
mov byte [esp + 0x560], 1
lea ecx, [esp + 0x1870]
mov word [esp + 0x561], ax
mov al, byte [esp + 0x282]
mov byte [esp + 0x563], al
mov eax, dword [esp + 0x20]
mov dword [esp + 0x564], 0
mov dword [esp + 0x570], eax
movzx eax, word [esp + 0x1fc]
mov dword [esp + 0x574], 0
mov dword [esp + 0x578], 0x2000
mov dword [esp + 0x57c], 0x11
mov word [esp + 0x580], 0
mov word [esp + 0x586], ax
mov eax, dword [esp + 0x1f8]
mov dword [esp + 0x582], eax
lea eax, [esp + 0x590]
mov dword [esp + 0x588], 2
mov dword [esp + 0x58c], 0
push 0xb0
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esp + 0x640], 0
mov dword [esp + 0x648], 0x1000
mov dword [esp + 0x64c], 0
mov dword [esp + 0x650], 0
mov dword [esp + 0x654], edi
mov dword [esp + 0x658], 8
mov dword [esp + 0x65c], 0
mov dword [esp + 0x660], 0x1000
mov dword [esp + 0x664], esi
mov dword [esp + 0x668], 0
mov dword [esp + 0x66c], 0x1000
mov dword [esp + 0x670], 0xd
mov dword [esp + 0x674], 0x1000000
mov eax, dword [ebx + 0xf0]
cmp eax, 1
jne 0x10078940
mov ecx, dword [ebx + 0xf4]
lea edx, [ecx - 0x4000]
cmp edx, 0xffc000
jae 0x1007d009
mov dword [esp + 0x548], ecx
mov edx, dword [ebx + 0xf8]
mov ecx, dword [ebx + 0xfc]
mov dword [esp + 0xc], eax
cmp edx, 1
mov dword [esp + 0x20], edx
jne 0x10078960
mov dword [esp + 0x674], ecx
mov al, byte [ebx + 0x100]
mov esi, dword [ebx + 0xd0]
mov edi, dword [ebx + 0xd4]
mov dword [esp + 0x4c], ecx
mov edx, dword [ebx + 0xdc]
mov ecx, dword [ebx + 0xe0]
mov byte [esp + 0x18], al
mov eax, dword [ebx + 0xd8]
mov dword [esp + 0x54], eax
mov eax, dword [ebx + 0xe4]
mov dword [esp + 0x30], eax
mov eax, dword [ebx + 0xe8]
mov dword [esp + 0x94], eax
mov eax, dword [ebx + 0xec]
mov dword [esp + 0x90], eax
mov eax, dword [ebx + 0xf4]
mov dword [esp + 0x11b4], esi
mov dword [esp + 0x11b8], edi
lea edi, [esp + 0x400]
lea esi, [esp + 0x11b0]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x11bc], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x11c0], edx
mov dword [esp + 0x11c4], ecx
mov ecx, edi
mov edx, esi
mov dword [esp + 0x11c8], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x11cc], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x11d0], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x11d4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x11d8], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x11dc], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x11e0], eax
mov al, byte [esp + 0x18]
mov byte [esp + 0x11e4], al
mov byte [esp + 0x11b0], 4
call fcn.1007d140
cmp al, 0xd
jne 0x1007cebe
push 0x278
push edi
lea eax, [esp + 0x760]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [ebx + 0xe8]
mov eax, dword [ebx + 0xd8]
mov edx, dword [ebx + 0xec]
mov esi, 0xffff
test ecx, ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x54], ecx
cmove edx, esi
test eax, eax
mov eax, dword [ebx + 0xdc]
setne byte [esp + 0xfc]
mov dword [esp + 0xf8], edx
mov edx, 0xffff
test eax, eax
mov dword [esp + 0x90], eax
mov eax, dword [ebx + 0xe0]
setne byte [esp + 0xd8]
xor ecx, ecx
cmp eax, 1
mov dword [esp + 0x50], eax
mov al, byte [ebx + 0x100]
sbb ecx, ecx
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x11b0]
mov byte [esp + 0x94], al
mov eax, dword [ebx + 0x104]
mov dword [esp + 0x100], eax
mov eax, dword [ebx + 0xc0]
mov dword [esp + 0x8c], eax
mov eax, dword [ebx + 0xb0]
mov dword [esp + 0xf4], eax
mov eax, dword [ebx + 0xb4]
mov dword [esp + 0x390], eax
mov eax, dword [ebx + 0xb8]
mov dword [esp + 0x394], eax
mov eax, dword [ebx + 0xcc]
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0xd0]
mov dword [esp + 0x104], eax
mov eax, dword [ebx + 0xd4]
mov dword [esp + 0x108], eax
mov eax, dword [ebx + 0xe4]
mov dword [esp + 0x68], eax
mov eax, dword [ebx + 0xf0]
mov dword [esp + 0x10c], eax
mov eax, dword [ebx + 0xf4]
mov dword [esp + 0x110], eax
mov eax, dword [ebx + 0xf8]
mov dword [esp + 0xdc], eax
mov eax, dword [ebx + 0xfc]
mov dword [esp + 0x11b0], 0
mov dword [esp + 0x11b4], 0
mov dword [esp + 0xe0], eax
call fcn.1001ab30
test eax, eax
jne 0x1007cedf
mov eax, dword [esp + 0x11b4]
xorps xmm0, xmm0
lea ecx, [esp + 0xb0]
mov edx, 0xffff
mov dword [esp + 0xb0], 0
mov dword [esp + 0x1880], 0
mov dword [esp + 0xb4], 0
movaps xmmword [esp + 0x1870], xmm0
add eax, esi
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x11b0]
mov dword [esp + 0x388], eax
call fcn.1001ab30
test eax, eax
jne 0x1007cf0a
add dword [esp + 0xb4], 0xffff
mov eax, dword [0x10551ebc]
cmp eax, 5
jb 0x10078c41
mov eax, dword [0x10551ec0]
mov eax, dword [0x10411958]
dec eax
cmp eax, 5
jb 0x10078d6f
mov ecx, dword [0x10411170]
test ecx, ecx
je 0x10078d6f
mov al, 1
cmp ecx, 1
je 0x10078c70
cmp ecx, 2
jne 0x10079a61
mov al, 2
movzx edx, al
mov ecx, 0x10411170
call fcn.10109ff0
test al, al
je 0x10078d6f
mov ecx, dword [0x10411174]
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x1007d10e
mov edx, dword [ecx + 0x2c]
mov esi, dword [ecx + 0x34]
mov edi, dword [ecx + 0x38]
mov dword [esp + 0xae0], 0
mov dword [esp + 0x11b0], 0x1037c13c
mov dword [esp + 0x11b4], 1
mov dword [esp + 0x11b8], 0
mov dword [esp + 0xae4], edx
mov dword [esp + 0xae8], eax
mov dword [esp + 0xaec], esi
lea esi, [esp + 0xb0]
lea edx, [esp + 0x1b0]
mov dword [esp + 0xaf0], edi
mov dword [esp + 0x1b0], esi
mov dword [esp + 0x11c0], edx
lea esi, [esp + 0xe50]
lea edx, [ecx + 0x2c]
mov dword [esp + 0x1b4], 0x100232b0
mov dword [esp + 0x11c4], 1
mov dword [esp + 0x120], esi
mov dword [esp + 0x124], 1
mov dword [esp + 0x128], edx
lea esi, [esp + 0xae0]
lea edx, [esp + 0x11b0]
mov dword [esp + 0xe50], esi
mov dword [esp + 0xe54], edx
lea edx, [esp + 0x120]
mov dword [esp + 0xe58], 0x1036dbfc
call fcn.1010a850
movsd xmm0, qword [esp + 0x11b0]
mov eax, dword [esp + 0xb4]
movsd xmm1, qword [esp + 0x11b8]
mov edi, dword [esp + 0xb0]
movsd qword [esp + 0x1b0], xmm0
movsd xmm0, qword [esp + 0xae0]
mov dword [esp + 0x380], eax
movsd qword [esp + 0x1b8], xmm1
movsd xmm1, qword [esp + 0xae8]
mov al, byte [esp + 0x11b2]
movsd qword [esp + 0xb0], xmm0
movsd xmm0, qword [esp + 0xe50]
movsd qword [esp + 0xb8], xmm1
movsd xmm1, qword [esp + 0xe58]
mov byte [esp + 0xe6], al
movzx eax, word [esp + 0x11b0]
movsd qword [esp + 0x70], xmm0
xorps xmm0, xmm0
movsd qword [esp + 0x78], xmm1
mov word [esp + 0xe4], ax
movaps xmmword [esp + 0x11b0], xmm0
call fcn.100fef20
test eax, eax
je 0x1007cf2b
mov edx, dword [eax + 0xc]
mov ecx, dword [eax]
mov dword [esp + 0x374], edx
mov edx, dword [eax + 8]
mov dword [esp + 0x37c], ecx
add ecx, 1
mov dword [eax], ecx
mov dword [esp + 0x378], edx
mov edx, dword [eax + 4]
mov dword [esp + 0x370], edx
adc edx, 0
mov dword [eax + 4], edx
movsd xmm1, qword [esp + 0xae8]
mov eax, dword [esp + 0x1880]
movaps xmm0, xmmword [esp + 0x11b0]
movsd xmm2, qword [esp + 0xae0]
movsd xmm3, qword [esp + 0xe50]
movsd qword [esp + 0xd0], xmm1
movsd xmm1, qword [esp + 0xe58]
mov dword [esp + 0x11c0], eax
mov eax, dword [esp + 0x273]
movsd qword [esp + 0xc8], xmm2
movsd xmm2, qword [esp + 0x120]
movsd qword [esp + 0x1a0], xmm3
movsd xmm3, qword [esp + 0xb0]
movaps xmmword [esp + 0x280], xmm0
movsd qword [esp + 0x1a8], xmm1
movsd xmm1, qword [esp + 0x128]
mov dword [esp + 0x14b], eax
mov eax, dword [esp + 0x270]
movsd qword [esp + 0x238], xmm2
movsd xmm2, qword [esp + 0x1b0]
movsd qword [esp + 0x1f8], xmm3
movsd qword [esp + 0x240], xmm1
movaps xmm1, xmmword [esp + 0x1870]
mov dword [esp + 0x148], eax
movzx eax, word [esp + 0xe4]
movsd qword [esp + 0x150], xmm2
movsd xmm2, qword [esp + 0x70]
movaps xmmword [esp + 0x11b0], xmm1
movsd xmm1, qword [esp + 0x1b8]
mov word [esp + 0xec], ax
mov al, byte [esp + 0xe6]
movsd qword [esp + 0x228], xmm2
movsd qword [esp + 0x158], xmm1
movsd xmm1, qword [esp + 0xb8]
mov byte [esp + 0xee], al
movsd qword [esp + 0x200], xmm1
movsd xmm1, qword [esp + 0x78]
movsd qword [esp + 0x230], xmm1
call sub.KERNEL32.dll_GetProcessHeap
push 4
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1007cda4
mov dword [eax], 0
mov esi, eax
mov dword [esp + 0x384], edi
movsd xmm1, qword [esp + 0xd0]
mov eax, dword [esp + 0x11c0]
movsd xmm2, qword [esp + 0x238]
mov ecx, dword [esp + 0x14b]
movsd xmm3, qword [esp + 0x1a0]
movsd xmm0, qword [esp + 0xc8]
movsd qword [esp + 0x1878], xmm1
movsd xmm1, qword [esp + 0x1a8]
mov dword [esp + 0xaf0], eax
mov eax, dword [esp + 0x148]
movsd qword [esp + 0x120], xmm2
mov dword [esp + 0xe7], ecx
movsd xmm2, qword [esp + 0x150]
movsd qword [esp + 0xe50], xmm3
movsd xmm3, qword [esp + 0x1f8]
movsd qword [esp + 0x1870], xmm0
movsd qword [esp + 0xe58], xmm1
movsd xmm1, qword [esp + 0x240]
mov dword [esp + 0xe4], eax
movzx eax, word [esp + 0xec]
movsd qword [esp + 0x1b0], xmm2
movsd xmm2, qword [esp + 0x228]
movsd qword [esp + 0xb0], xmm3
movsd qword [esp + 0x128], xmm1
movaps xmm1, xmmword [esp + 0x11b0]
mov word [esp + 0x168], ax
mov al, byte [esp + 0xee]
movsd qword [esp + 0x70], xmm2
movaps xmmword [esp + 0xae0], xmm1
movsd xmm1, qword [esp + 0x158]
mov byte [esp + 0x16a], al
movsd qword [esp + 0x1b8], xmm1
movsd xmm1, qword [esp + 0x200]
movsd qword [esp + 0xb8], xmm1
movsd xmm1, qword [esp + 0x230]
movsd qword [esp + 0x78], xmm1
movaps xmm1, xmmword [esp + 0x280]
movaps xmmword [esp + 0x270], xmm1
call sub.KERNEL32.dll_GetProcessHeap
push 0x188
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1007cf48
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 8], esi
mov byte [eax + 0xc], 0
mov dword [esp + 0x18], eax
mov edi, eax
mov cl, byte [esp + 0xd8]
movzx eax, word [esp + 0x11b0]
and cl, byte [esp + 0xfc]
mov word [edi + 0xd], ax
mov al, byte [esp + 0x11b2]
mov byte [edi + 0xf], al
mov eax, dword [esp + 0x390]
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0xf4]
mov dword [edi + 0x10], eax
mov eax, dword [esp + 0x394]
mov dword [edi + 0x18], eax
mov eax, dword [esp + 0xf8]
mov dword [edi + 0x20], eax
mov eax, dword [esp + 0x388]
mov dword [edi + 0x24], eax
mov eax, dword [esp + 0x38c]
mov dword [edi + 0x28], eax
mov dword [edi + 0x2c], 0
mov dword [edi + 0x30], 0
mov dword [edi + 0x34], 2
mov dword [edi + 0x38], 0
mov dword [edi + 0x3c], bind
mov dword [edi + 0x40], 0
movsd xmm0, qword [esp + 0x1870]
movsd xmm1, qword [esp + 0x1878]
movsd qword [edi + 0x44], xmm0
movsd qword [edi + 0x4c], xmm1
mov dword [edi + 0x54], 0
movsd xmm0, qword [esp + 0xe50]
movsd xmm1, qword [esp + 0xe58]
movsd qword [edi + 0x60], xmm1
movsd qword [edi + 0x58], xmm0
mov dword [edi + 0x68], 0
movsd xmm0, qword [esp + 0x120]
movsd xmm1, qword [esp + 0x128]
movsd qword [edi + 0x74], xmm1
movsd qword [edi + 0x6c], xmm0
mov dword [edi + 0x7c], 8
mov eax, dword [esp + 0xaf0]
mov dword [edi + 0x90], eax
mov eax, dword [esp + 0x4c]
xor al, 1
movsd xmm0, qword [esp + 0xae0]
movsd xmm1, qword [esp + 0xae8]
or al, cl
movsd qword [edi + 0x88], xmm1
movsd qword [edi + 0x80], xmm0
mov byte [edi + 0x98], al
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe7]
mov dword [edi + 0x9c], ecx
mov dword [edi + 0x99], eax
mov eax, dword [esp + 0x100]
mov dword [edi + 0xa0], 0
mov dword [edi + 0xa4], eax
mov dword [edi + 0xa8], bind
mov dword [edi + 0xac], 0xffff
mov dword [edi + 0xb0], 0
mov eax, dword [esp + 0x384]
movsd xmm0, qword [esp + 0x1b0]
movsd xmm1, qword [esp + 0x1b8]
movsd qword [edi + 0xbc], xmm1
movsd qword [edi + 0xb4], xmm0
mov dword [edi + 0xc4], 0
movsd xmm0, qword [esp + 0xb0]
movsd xmm1, qword [esp + 0xb8]
movsd qword [edi + 0xd0], xmm1
movsd qword [edi + 0xc8], xmm0
mov dword [edi + 0xd8], 0
movsd xmm0, qword [esp + 0x70]
movsd xmm1, qword [esp + 0x78]
movsd qword [edi + 0xe4], xmm1
movsd qword [edi + 0xdc], xmm0
mov dword [edi + 0xec], eax
mov eax, dword [esp + 0x380]
mov dword [edi + 0xf0], eax
mov dword [edi + 0xf4], 0
mov dword [edi + 0xf8], 0
mov byte [edi + 0x104], 1
movzx eax, word [esp + 0x168]
mov word [edi + 0x105], ax
mov al, byte [esp + 0x16a]
mov byte [edi + 0x107], al
mov eax, dword [esp + 0x370]
mov dword [edi + 0x10c], 0
mov dword [edi + 0x110], 2
mov dword [edi + 0x124], eax
mov eax, dword [esp + 0x37c]
mov dword [edi + 0x120], eax
mov eax, dword [esp + 0x374]
mov dword [edi + 0x12c], eax
mov eax, dword [esp + 0x378]
mov dword [edi + 0x128], eax
mov dword [edi + 0x130], 0
mov dword [edi + 0x134], 0x1037f350
mov dword [edi + 0x138], 0
mov dword [edi + 0x13c], 0
mov dword [edi + 0x140], 4
mov dword [edi + 0x144], 0
mov dword [edi + 0x148], 0
mov dword [edi + 0x150], 8
mov eax, dword [esp + 0x8c]
movsd xmm0, qword [esp + 0x270]
movsd xmm1, qword [esp + 0x278]
movsd qword [edi + 0x15c], xmm1
movsd qword [edi + 0x154], xmm0
mov dword [edi + 0x168], eax
mov eax, dword [esp + 0xc]
mov dword [edi + 0x16c], 0
or eax, dword [esp + 0x68]
mov dword [edi + 0x170], eax
mov eax, dword [esp + 0x20]
mov dword [edi + 0x174], 0
mov dword [edi + 0x178], eax
mov dword [edi + 0x17c], 0
mov byte [edi + 0x180], 0
mov al, byte [esp + 0xca]
mov byte [edi + 0x183], al
movzx eax, word [esp + 0xc8]
mov word [edi + 0x181], ax
mov dword [edi + 0x184], 1
call sub.KERNEL32.dll_GetProcessHeap
push 4
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1007cda4
xorps xmm0, xmm0
mov dword [eax], 0
mov esi, eax
movaps xmmword [esp + 0x11b0], xmm0
call sub.KERNEL32.dll_GetProcessHeap
push 0x24
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1007ce1d
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 8], esi
mov byte [eax + 0xc], 0
mov dword [esp + 0x20], eax
movzx ecx, word [esp + 0x70]
mov word [eax + 0xd], cx
mov cl, byte [esp + 0x72]
mov byte [eax + 0xf], cl
mov dword [eax + 0x10], 8
movsd xmm0, qword [esp + 0x11b0]
movsd xmm1, qword [esp + 0x11b8]
movsd qword [eax + 0x14], xmm0
movsd qword [eax + 0x1c], xmm1
push 0x278
lea eax, [esp + 0x75c]
push eax
lea eax, [esp + 0x11b8]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, word [esp + 0x238]
mov word [esp + 0x1a0], ax
mov al, byte [esp + 0x23a]
mov byte [esp + 0x1a2], al
mov eax, dword [0x10411958]
add eax, 0xfffffffe
cmp eax, 4
jb 0x10079a8a
mov ecx, dword [0x10410978]
test ecx, ecx
je 0x10079a8a
mov al, 1
cmp ecx, 1
je 0x10079586
cmp ecx, 2
jne 0x10079a78
mov al, 2
movzx edx, al
mov ecx, 0x10410978
call fcn.10109ff0
test al, al
je 0x10079a8a
mov edx, dword [0x1041097c]
mov eax, dword [edx + 0x30]
test eax, eax
je 0x1007cf52
mov esi, dword [edx + 0x34]
mov ecx, dword [edx + 0x2c]
mov dword [esp + 0x8c], esi
mov esi, dword [edx + 0x38]
mov dword [esp + 0xae0], 0
mov dword [esp + 0xae4], ecx
mov dword [esp + 0xae8], eax
mov dword [esp + str.Clientassertion_failed:_self.has_capacity__], 0x10399914
lea ecx, [esp + 0xb0]
mov eax, dword [esp + 0x8c]
mov dword [esp + 0xc], esi
mov dword [esp + 0xaec], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0xaf0], eax
lea eax, [esp + 0xae0]
mov dword [esp + 0x1870], eax
lea eax, [esp + 0x120]
mov dword [esp + 0x1874], eax
lea eax, [esp + 0x1870]
mov dword [esp + 0x1878], 0x1039991c
mov dword [esp + 0xe50], eax
lea eax, [edx + 0x2c]
mov dword [esp + 0xe54], 1
mov dword [esp + 0xe58], eax
lea eax, [esp + 0xe50]
push eax
call fcn.10109ac0
add esp, 4
jmp 0x10079b8d
mov dword [esp + 0xd8], 0x66000
movzx eax, word [esp + 0x330]
movsd xmm0, qword [esp + 0x1870]
movsd xmm1, qword [esp + 0x30a8]
mov dword [esp + 0xf8], esi
mov word [esp + 0x1b0], ax
mov al, byte [esp + 0x332]
movsd qword [esp + 0x400], xmm0
movsd xmm0, qword [esp + 0x30a0]
movsd qword [esp + 0x3e40], xmm1
movsd xmm1, qword [esp + 0x2d20]
mov byte [esp + 0x1b2], al
mov eax, dword [esp + 0x1878]
movsd qword [esp + 0x3e38], xmm0
movsd xmm0, qword [esp + 0x2d18]
movsd qword [esp + 0x11b8], xmm1
movsd xmm1, qword [esp + 0x2658]
mov dword [esp + 0x408], eax
mov eax, dword [esp + 0x265f]
movsd qword [esp + 0x11b0], xmm0
movsd xmm0, qword [esp + 0x2650]
mov dword [esp + 0x1bdf], eax
mov al, byte [esp + 0x2fa]
movsd qword [esp + 0x1bd8], xmm1
movsd qword [esp + 0x1bd0], xmm0
movsd xmm1, qword [esp + 0xae7]
movsd xmm0, qword [esp + 0xae0]
mov byte [esp + 0xb2], al
movzx eax, word [esp + 0x2f8]
movsd qword [esp + 0x75f], xmm1
movsd qword [esp + 0x758], xmm0
mov word [esp + 0xb0], ax
movzx eax, word [esp + 0xe54]
mov word [esp + 0x342c], ax
mov eax, dword [esp + 0xe50]
mov dword [esp + 0x3428], eax
call sub.KERNEL32.dll_GetProcessHeap
push 0x14
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1007cfda
mov dword [eax], 2
mov dword [esp + 0xfc], eax
lea edi, [esp + 0x1e8]
lea ecx, [esp + 0x350]
lea edx, [esp + 0x2c0]
lea esi, [esp + 0x2e0]
mov dword [esp + 0xe0], 0
mov dword [esp + 0x30], 3
mov dword [esp + 0xdc], 0
movsd xmm0, qword [esp + 0x3780]
movsd xmm1, qword [esp + 0x3788]
movsd qword [eax + 0xc], xmm1
movsd qword [eax + 4], xmm0
mov al, byte [esp + 0x1b2]
movsd xmm0, qword [esp + 0x400]
movsd xmm1, qword [esp + 0x3e40]
mov byte [esp + 0x3a], al
movzx eax, word [esp + 0x1b0]
movsd qword [esp + 0x2e0], xmm0
movsd xmm0, qword [esp + 0x3e38]
movsd qword [esp + 0x2c8], xmm1
movsd xmm1, qword [esp + 0x11b8]
mov word [esp + 0x38], ax
mov eax, dword [esp + 0x408]
movsd qword [esp + 0x2c0], xmm0
movsd xmm0, qword [esp + 0x11b0]
movsd qword [esp + 0x358], xmm1
movsd xmm1, qword [esp + 0x1bd8]
mov dword [esp + 0x2e8], eax
mov eax, dword [esp + 0x1bdf]
movsd qword [esp + 0x350], xmm0
movsd xmm0, qword [esp + 0x1bd0]
mov dword [esp + 0x257], eax
movzx eax, word [esp + 0xb0]
movsd qword [esp + 0x248], xmm0
movsd xmm0, qword [esp + 0x758]
movsd qword [esp + 0x250], xmm1
movsd xmm1, qword [esp + 0x75f]
mov word [esp + 0x60], ax
mov al, byte [esp + 0xb2]
movsd qword [esp + 0x310], xmm0
movsd xmm0, qword [esp + 0x3780]
movsd qword [esp + 0x317], xmm1
mov byte [esp + 0x62], al
mov eax, dword [esp + 0x3428]
movsd qword [esp + 0x1e8], xmm0
mov dword [esp + 0x98], eax
movzx eax, word [esp + 0x342c]
mov word [esp + 0x9c], ax
mov al, byte [esp + 0x122]
mov byte [esp + 0x5e], al
movzx eax, word [esp + 0x120]
mov word [esp + 0x5c], ax
mov eax, dword [esp + 0x3788]
mov dword [esp + 0x1f0], eax
mov al, byte [esp + 0x72]
mov byte [esp + 0x5a], al
movzx eax, word [esp + 0x70]
mov word [esp + 0x58], ax
mov eax, dword [esp + 0x1bd3]
mov dword [esp + 0x1e3], eax
mov eax, dword [esp + 0x1bd0]
mov dword [esp + 0x1e0], eax
jmp 0x1007b119
mov edx, dword [esp + 0x11b8]
mov eax, ecx
shrd eax, edx, 8
mov dword [esp + 0x20], edx
movzx edi, cl
shl eax, 8
movzx ecx, word [esp + 0x758]
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0xc]
or edi, eax
mov al, byte [esp + 0x75a]
mov word [esp + 0xae0], cx
mov word [edx], cx
mov byte [esp + 0xae2], al
mov byte [edx + 2], al
mov eax, dword [ebx + 0x118]
push dword [esi + 0xbc]
call dword [eax]
add esp, 4
mov eax, dword [ebx + 0x118]
mov byte [esp + 0x4c], 2
cmp dword [eax + 4], 0
je 0x10079a09
mov esi, dword [esi + 0xbc]
cmp dword [eax + 8], 9
jae 0x100799f9
call sub.KERNEL32.dll_GetProcessHeap
push esi
jmp 0x10079a01
call sub.KERNEL32.dll_GetProcessHeap
push dword [esi - 4]
push 0
push eax
call sub.KERNEL32.dll_HeapFree
mov esi, dword [esp + 8]
mov al, 1
mov dword [esp + 0x18], eax
jmp 0x1007a012
mov ecx, 0x10410d08
call fcn.10109f40
mov edx, dword [esp + 8]
test al, al
jne 0x100780d7
jmp 0x100781c6
mov ecx, 0x10411278
call fcn.10109f40
test al, al
jne 0x100778dd
jmp 0x100779f2
mov ecx, 0x10410d14
call fcn.10109f40
test al, al
jne 0x10078301
jmp 0x100783e8
mov ecx, 0x10411170
call fcn.10109f40
test al, al
jne 0x10078c70
jmp 0x10078d6f
mov ecx, 0x10410978
call fcn.10109f40
test al, al
jne 0x10079586
mov eax, dword [0x1041097c]
mov dword [esp + 0xae4], 0
mov dword [esp + 0xae0], 0
mov dword [esp + 0xc], edi
mov dword [esp + 0xaf0], eax
mov ecx, dword [eax + 0x30]
test ecx, ecx
je 0x1007cf52
mov edx, dword [eax + 0x2c]
mov esi, dword [eax + 0x34]
mov edi, dword [eax + 0x38]
mov dword [esp + 0x1870], 0
add eax, 0x2c
mov dword [esp + str.Clientassertion_failed:_self.has_capacity__], 0x10399914
mov dword [esp + 0x1874], edx
mov dword [esp + 0x1878], ecx
lea ecx, [esp + 0x1870]
lea edx, [esp + 0xe50]
mov dword [esp + 0x187c], esi
mov dword [esp + 0x1880], edi
mov dword [esp + 0x120], ecx
lea ecx, [esp + 0x1b0]
mov dword [esp + 0x124], ecx
lea ecx, [esp + 0x120]
mov dword [esp + 0x128], 0x1039991c
mov dword [esp + 0xe50], ecx
lea ecx, [esp + 0xae0]
mov dword [esp + 0xe54], 1
mov dword [esp + 0xe58], eax
call fcn.10109e40
movsd xmm1, qword [esp + 0xae8]
movsd xmm0, qword [esp + 0xae0]
mov edi, dword [esp + 0xc]
movsd qword [esp + 0xb8], xmm1
movsd xmm1, qword [esp + 0xaf0]
movsd qword [esp + 0xb0], xmm0
movsd qword [esp + 0xc0], xmm1
mov esi, dword [esp + 0x18]
add esi, 8
push 0x278
lea eax, [esp + 0x11b4]
push eax
lea eax, [esp + 0xae8]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movsd xmm1, qword [esp + 0x128]
movsd xmm2, qword [esp + 0x130]
mov eax, dword [esp + 0x138]
movsd xmm0, qword [esp + 0x120]
mov dword [esp + 0x18], esi
movsd qword [esp + 0x1b8], xmm1
movsd xmm1, qword [esp + 0x70]
movsd qword [esp + 0x1c0], xmm2
movsd xmm2, qword [esp + 0x1898]
mov dword [esp + 0x1c8], eax
movzx eax, word [esp + 0x78]
movsd qword [esp + 0x1b0], xmm0
movsd qword [esp + 0xc8], xmm1
movsd xmm1, qword [esp + 0x1890]
movsd qword [esp + 0xe78], xmm2
movsd xmm2, qword [esp + 0x1888]
mov word [esp + 0xd0], ax
movzx eax, word [esp + 0x1a0]
movsd qword [esp + 0xe70], xmm1
movsd xmm1, qword [esp + 0x1880]
movsd qword [esp + 0xe68], xmm2
movsd xmm2, qword [esp + 0x1870]
mov word [esp + 0x150], ax
mov al, byte [esp + 0x1a2]
movsd qword [esp + 0xe60], xmm1
movsd xmm1, qword [esp + 0x1878]
movsd qword [esp + 0xe50], xmm2
movsd xmm2, qword [esp + 0xb0]
mov byte [esp + 0x152], al
movsd qword [esp + 0xe58], xmm1
movsd xmm1, qword [esp + 0xc0]
movsd qword [esp + 0xd58], xmm2
movsd qword [esp + 0xd68], xmm1
movsd xmm1, qword [esp + 0xb8]
movsd qword [esp + 0xd60], xmm1
mov ecx, dword [esi]
call fcn.100f4af0
mov eax, dword [0x10551f14]
test eax, eax
jne 0x1007aeaf
mov al, byte [edi + 0xc]
test al, al
jne 0x1007cf7b
inc dword [edi + 0x184]
mov eax, dword [0x10551f14]
test eax, eax
jne 0x1007aed2
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
mov eax, dword [0x10551f24]
test eax, eax
je 0x10079d2b
cmp eax, 0x100f3390
jne 0x10079d50
mov eax, dword [esi]
mov byte [eax + 0x18], 0
push eax
call sub.KERNEL32.dll_LeaveCriticalSection
jmp 0x10079d7a
mov ecx, 0x103a03b9
mov edx, 0x17
call fcn.100f2fc0
test eax, eax
mov eax, 0x100f3390
cmovne eax, edx
mov dword [0x10551f24], eax
cmp eax, 0x100f3390
je 0x10079d1d
mov eax, dword [0x10551f3c]
test eax, eax
jne 0x10079d77
mov ecx, str.ReleaseSRWLockExclusive
mov edx, 0x17
call fcn.100f2fc0
test eax, eax
mov eax, 0x100f51d0
cmovne eax, edx
mov dword [0x10551f3c], eax
push esi
call eax
lock inc dword [edi]
mov esi, dword [esp + 0x20]
jle 0x1007cd8c
lock inc dword [esi]
jle 0x1007cd8c
push 0x290
lea eax, [esp + 0xae4]
push eax
lea eax, [esp + 0x760]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x1c8]
movsd xmm0, qword [esp + 0x1b0]
mov dword [esp + 0x9e8], 0
mov dword [esp + 0x9f0], 0
mov dword [esp + 0x9f8], 0
movsd xmm1, qword [esp + 0x1b8]
mov ch, byte [esp + 0x94]
movzx edx, word [esp + 0x150]
mov cl, byte [esp + 0x152]
movsd xmm2, qword [esp + 0xe68]
mov dword [esp + 0xa14], eax
movsd qword [esp + 0x9fc], xmm0
movsd xmm0, qword [esp + 0x1c0]
movzx eax, word [esp + 0xd0]
movsd qword [esp + 0xa04], xmm1
movsd xmm1, qword [esp + 0xe70]
movsd qword [esp + 0xa0c], xmm0
mov dword [esp + 0xa18], 0
mov word [esp + 0xa1c], 0
mov dword [esp + 0xa20], 0
mov word [esp + 0xa2c], 2
mov word [esp + 0xa36], ax
movsd xmm0, qword [esp + 0xc8]
mov eax, dword [esp + 0x104]
movsd qword [esp + 0xa2e], xmm0
mov dword [esp + 0xa38], 1
mov dword [esp + 0xa3c], eax
mov eax, dword [esp + 0x108]
movsd xmm0, qword [esp + 0xe78]
mov dword [esp + 0xa40], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xa44], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0xa48], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0xa4c], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xa50], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0xa54], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0xa58], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0xa5c], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0xa60], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xa64], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0xa68], eax
mov byte [esp + 0xa6c], ch
mov word [esp + 0xa6d], dx
mov byte [esp + 0xa6f], cl
mov dword [esp + 0xa70], 2
movsd qword [esp + 0xa94], xmm1
movsd xmm1, qword [esp + 0xe60]
movsd qword [esp + 0xa8c], xmm2
movsd xmm2, qword [esp + 0xe50]
movsd qword [esp + 0xa9c], xmm0
movsd qword [esp + 0xa84], xmm1
movsd xmm1, qword [esp + 0xe58]
movsd qword [esp + 0xa74], xmm2
movsd qword [esp + 0xa7c], xmm1
mov dword [esp + 0xaa4], edi
mov dword [esp + 0xaa8], esi
cmp dword [ebx + 0xc4], 1
jne 0x10079fce
mov edx, dword [ebx + 0xc8]
lea ecx, [esp + 0x758]
call fcn.1007ff80
lea eax, [esp + 0x11b4]
push 0x358
lea ecx, [esp + 0x75c]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x35c
lea eax, [esp + 0x11b4]
push eax
mov esi, dword [esp + 0x10]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esp + 0x4c], 3
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 0x14]
mov al, byte [ecx + 2]
mov byte [esp + 0x2e], al
movzx eax, word [ecx]
mov word [esp + 0x2c], ax
lea eax, [esp + 0x1bd8]
push 0x35c
push esi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x6c]
lea esi, [esp + 0x2650]
mov byte [eax], 1
push 0x364
push dword [esp + 0x20]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp byte [esp + 0x18], 0
mov dword [esp + 0xc], edi
je 0x1007a0c1
mov al, byte [esp + 0x4c]
lea ecx, [esp + 0x1bd0]
mov byte [esp + 0x1bd0], al
movzx eax, word [esp + 0x2c]
mov word [esp + 0x1bd1], ax
mov al, byte [esp + 0x2e]
mov byte [esp + 0x1bd3], al
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1bd4], edi
mov dword [esp + 0x1bd8], eax
call fcn.100393d0
mov dword [esp + 0x1c], eax
mov al, 1
lea edi, [esp + 0x3780]
lea ecx, [esp + 0x3788]
mov dword [esp + 8], eax
jmp 0x1007a0e6
lea edi, [esp + 0x3780]
push 0x364
push esi
push edi
call sub.VCRUNTIME140.dll_memcpy
lea ecx, [esp + 0x3794]
add esp, 0xc
mov dword [esp + 8], 0
mov eax, dword [edi]
mov edi, dword [edi + 4]
lea esi, [esp + 0x30a0]
mov dword [esp + 0x94], eax
push 0x35c
push ecx
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp byte [esp + 8], 0
mov dword [esp + 0x90], edi
je 0x1007a14e
mov eax, dword [ebx + 0x15c]
test eax, eax
je 0x1007a130
lock dec dword [eax]
jne 0x1007a130
lea ecx, [ebx + 0x15c]
call fcn.10116ed0
lea ecx, [ebx + 0x150]
call fcn.10066590
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x34]
mov al, 1
mov dword [esp + 8], eax
jmp 0x1007b003
lea eax, [esp + 0x2d18]
push 0x35c
push esi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esp + 0x2d1c]
lea ecx, [esp + 0xe50]
push 0x358
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
call sub.KERNEL32.dll_GetProcessHeap
push 4
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1007cda4
mov esi, eax
mov dword [eax], 0
call sub.KERNEL32.dll_GetProcessHeap
push 8
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1007cf66
mov dword [eax], 0
mov edi, eax
mov dword [eax + 4], 0
call sub.KERNEL32.dll_GetProcessHeap
push 0x30
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1007cf6d
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 8], 1
mov dword [eax + 0xc], bind
mov dword [eax + 0x14], esi
mov dword [eax + 0x10], esi
mov dword [eax + 0x1c], edi
mov dword [eax + 0x18], edi
mov dword [eax + 0x20], 1
mov dword [eax + 0x24], 0
mov dword [eax + 0x2c], 0
mov dword [esp + 0x30], eax
lock inc dword [eax]
jle 0x1007cd8c
call sub.KERNEL32.dll_GetProcessHeap
push 4
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
lea edi, [esp + 0x11b0]
je 0x1007cda4
mov dword [eax], 0
mov esi, eax
mov al, byte [esp + 0x1bd2]
mov byte [esp + 0x2652], al
movzx eax, word [esp + 0x1bd0]
mov word [esp + 0x2650], ax
call sub.KERNEL32.dll_GetProcessHeap
push 0x1c
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1007cf74
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 8], esi
mov byte [eax + 0xc], 0
mov dword [esp + 0xe0], eax
mov cl, byte [esp + 0x1bd2]
mov byte [eax + 0xf], cl
movzx ecx, word [esp + 0x1bd0]
mov word [eax + 0xd], cx
mov dword [eax + 0x14], 0
mov byte [eax + 0x18], 0
mov cl, byte [esp + 0x2652]
mov byte [eax + 0x1b], cl
movzx ecx, word [esp + 0x2650]
mov word [eax + 0x19], cx
mov al, byte [esp + 0x72]
movzx ecx, word [esp + 0x70]
mov byte [esp + 0x1bd2], al
mov word [esp + 0x1bd0], cx
mov byte [esp + 0x1a2], al
mov word [esp + 0x1a0], cx
call sub.KERNEL32.dll_GetProcessHeap
push 0x24
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1007ce1d
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 0xc], 0
mov byte [eax + 0x10], 0
lea esi, [esp + 0x2650]
mov edx, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb3]
mov dword [eax + 0x11], edx
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], 0
mov byte [eax + 0x1c], 0
movzx ecx, word [esp + 0x70]
mov word [eax + 0x1d], cx
mov cl, byte [esp + 0x72]
mov byte [eax + 0x1f], cl
mov word [eax + 0x20], 0
lock inc dword [eax]
jle 0x1007cd8c
mov ecx, dword [ebx + 0x158]
mov dword [esp + 0x50], eax
cmp byte [ecx + 0xc], 0
je 0x1007a656
cmp dword [esp + 0x1118], 0
jne 0x1007cfeb
mov edi, dword [ecx + 4]
call sub.KERNEL32.dll_GetProcessHeap
push 0x24
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1007ce1d
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0
mov dword [esp + 8], edi
mov dword [eax + 0x20], 0
mov esi, eax
lock inc dword [eax]
jle 0x1007cd8c
xorps xmm0, xmm0
mov dword [esp + 0x1118], esi
movaps xmmword [esp + 0x1bd0], xmm0
call sub.KERNEL32.dll_GetProcessHeap
push 4
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1007cda4
mov edi, eax
mov dword [eax], 0
call sub.KERNEL32.dll_GetProcessHeap
push 0x38
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1007cfff
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 8], edi
mov byte [eax + 0xc], 0
mov dword [esp + 0x1c], eax
movzx ecx, word [esp + 0x2650]
mov word [eax + 0xd], cx
mov cl, byte [esp + 0x2652]
mov byte [eax + 0xf], cl
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
movsd xmm0, qword [esp + 0x11b0]
movsd xmm1, qword [esp + 0x11b8]
movsd qword [eax + 0x18], xmm0
movsd qword [eax + 0x20], xmm1
mov dword [eax + 0x28], esi
mov dword [eax + 0x2c], 1
mov dword [eax + 0x30], 0
lock inc dword [eax]
jle 0x1007cd8c
movaps xmm0, xmmword [esp + 0x1bd0]
lea esi, [esp + 0x3428]
movaps xmmword [esp + 0x2650], xmm0
movaps xmmword [esp + 0x70], xmm0
movaps xmmword [esp + 0x330], xmm0
push 0x358
lea eax, [esp + 0xe54]
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x15c]
lea edi, [esp + 0x2d18]
test eax, eax
je 0x1007a756
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 0x160]
movaps xmm0, xmmword [esp + 0x330]
mov edi, dword [eax + 8]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x3780]
movaps xmmword [esp + 0x11b0], xmm0
push 0x358
push esi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esp + 0x758]
push 0x388
push eax
lea eax, [esp + 0x2658]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esp + 0x3e38]
lea ecx, [esp + 0x1bd0]
push 0x393
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
call sub.KERNEL32.dll_GetProcessHeap
push 0xaa8
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1007d060
mov esi, eax
lea eax, [edi + 7]
neg edi
and edi, eax
mov eax, dword [esp + 0x14]
mov dword [esi + 4], 0
mov dword [esi], 1
movsd xmm0, qword [esp + 0x11b0]
movsd xmm1, qword [esp + 0x11b8]
add eax, edi
mov edi, eax
mov eax, dword [esp + 8]
movsd qword [esi + 8], xmm0
movsd qword [esi + 0x10], xmm1
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x20], eax
lea eax, [esi + 0x28]
push 0x358
lea ecx, [esp + 0x3784]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esi + 0x380]
push 0x388
lea ecx, [esp + 0x2654]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x30]
mov dword [esi + 0x708], 1
mov dword [esi + 0x70c], eax
mov eax, dword [esp + 0x50]
mov dword [esi + 0x710], eax
mov eax, esi
mov byte [esi + 0x714], 0
add eax, 0x715
push 0x393
lea ecx, [esp + 0x1bd4]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x103999dc
push esi
push edi
mov eax, dword [esp + 0x78]
call dword [eax + 0xc]
add esp, 0xc
mov esi, dword [esp + 0x10]
jmp 0x1007afae
push 0x358
lea eax, [esp + 0xe54]
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x15c]
test eax, eax
je 0x1007aa07
mov ecx, dword [ebx + 0x160]
mov dword [esp + 8], eax
mov eax, edi
mov edi, dword [ecx + 8]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x1bd0]
push 0x6b8
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esp + 0xae0]
push 0x36b
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
call sub.KERNEL32.dll_GetProcessHeap
push 0xa30
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1007d0de
mov esi, eax
lea eax, [edi + 7]
neg edi
and edi, eax
mov eax, dword [esp + 8]
add eax, edi
mov edi, eax
push 0x6b8
lea eax, [esp + 0x1bd4]
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x30]
mov dword [esi + 0x6b8], 1
mov dword [esi + 0x6bc], eax
mov eax, dword [esp + 0x50]
mov dword [esi + 0x6c0], eax
mov eax, esi
mov byte [esi + 0x6c4], 0
add eax, 0x6c5
push 0x36b
lea ecx, [esp + 0x2654]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x10399984
push esi
push edi
mov eax, dword [esp + 0x20]
call dword [eax + 0xc]
add esp, 0xc
mov esi, dword [esp + 0x10]
jmp 0x1007afa6
movaps xmm0, xmmword [esp + 0x330]
lea eax, [esp + 0x1870]
movaps xmmword [esp + 0xb0], xmm0
push 0x358
push esi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esp + 0x758]
push 0x388
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esp + 0x3e38]
lea esi, [esp + 0x3780]
push 0x393
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
call fcn.101079c0
cmp eax, 3
je 0x1007cfb5
movaps xmm0, xmmword [esp + 0xb0]
mov edi, eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0xcc], edx
lea ecx, [esp + 0x400]
movaps xmmword [esp + 0x1b0], xmm0
push 0x358
lea eax, [esp + 0x1874]
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x388
lea eax, [esp + 0x2d1c]
push eax
lea eax, [esp + 0x30a8]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x393
push esi
lea esi, [esp + 0x2658]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp edi, 1
je 0x1007abcc
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x400]
cmp edi, 2
jne 0x1007ce77
movaps xmm0, xmmword [esp + 0x1b0]
mov dword [esp + 0x10], eax
lea eax, [esp + 0xae0]
movaps xmmword [esp + 0x120], xmm0
push 0x358
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x388
lea eax, [esp + 0x30a4]
push eax
lea eax, [esp + 0x11b8]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea esi, [esp + 0x1bd0]
push 0x393
lea eax, [esp + 0x2654]
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
call sub.KERNEL32.dll_GetProcessHeap
push 0xad8
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1007d0e5
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], 0x103999ec
mov dword [eax + 0x18], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 1
mov edi, eax
movsd xmm0, qword [esp + 0x120]
movsd xmm1, qword [esp + 0x128]
movsd qword [eax + 0x28], xmm0
movsd qword [eax + 0x30], xmm1
mov eax, dword [esp + 8]
mov dword [edi + 0x38], eax
mov eax, dword [esp + 0x1c]
mov dword [edi + 0x40], eax
lea eax, [edi + 0x48]
push 0x358
lea ecx, [esp + 0xae4]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [edi + 0x3a0]
push 0x388
lea ecx, [esp + 0x11b4]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x30]
mov dword [edi + 0x728], 1
mov dword [edi + 0x72c], eax
mov eax, dword [esp + 0x50]
mov dword [edi + 0x730], eax
mov eax, edi
mov byte [edi + 0x734], 0
add eax, 0x735
push 0x393
push esi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov esi, dword [esp + 0x14]
mov dword [edi + 0xac8], 0
mov dword [edi + 0xad4], 0
mov edx, edi
mov ecx, esi
add ecx, 8
push 0
call fcn.10108610
add esp, 4
lock dec dword [esi]
jne 0x1007a9e0
lea ecx, [esp + 0xcc]
call fcn.1006a000
mov esi, dword [esp + 0x10]
mov ecx, 0x44
mov eax, 0x8c
lock cmpxchg dword [edi], ecx
je 0x1007afae
mov eax, dword [edi + 0x14]
push edi
call dword [eax + 0xc]
add esp, 4
jmp 0x1007afae
lea eax, [esp + 0x3e38]
push 0x6b8
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esp + 0xae0]
lea ecx, [esp + 0x758]
push 0x36b
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
call fcn.101079c0
cmp eax, 3
je 0x1007cfb5
mov edi, eax
lea esi, [esp + 0x3780]
mov dword [esp + 0x400], eax
mov dword [esp + 8], edx
mov dword [esp + 0x404], edx
push 0x6b8
lea eax, [esp + 0x3e3c]
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x36b
lea eax, [esp + 0x75c]
push eax
lea eax, [esp + 0x2d20]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp edi, 1
je 0x1007ad73
cmp edi, 2
jne 0x1007ce77
lea eax, [esp + 0x1bd4]
push 0x6b8
push esi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esp + 0x1bd0]
push 0x6bc
push eax
lea esi, [esp + 0x2658]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x36b
lea eax, [esp + 0x2d1c]
push eax
lea eax, [esp + 0x30a8]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
call sub.KERNEL32.dll_GetProcessHeap
push 0xa60
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1007d127
mov dword [eax], 0x8c
mov edi, 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], 0x10399994
mov dword [eax + 0x18], 0
lea eax, [eax + 0x1c]
push 0x6bc
push esi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x30]
mov dword [edi + 0x6d8], 1
mov dword [edi + 0x6dc], eax
mov eax, dword [esp + 0x50]
mov dword [edi + 0x6e0], eax
mov eax, edi
mov byte [edi + 0x6e4], 0
add eax, 0x6e5
push 0x36b
lea ecx, [esp + 0x30a4]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov esi, dword [esp + 8]
mov dword [edi + 0xa50], 0
mov dword [edi + 0xa5c], 0
mov edx, edi
mov ecx, esi
add ecx, 8
push 0
call fcn.10108610
mov eax, esi
add esp, 4
mov esi, dword [esp + 0x10]
jmp 0x1007af7b
movaps xmm0, xmmword [esp + 0x1b0]
lea eax, [esp + 0xae0]
movaps xmmword [esp + 0x120], xmm0
push 0x358
lea ecx, [esp + 0x404]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x388
lea eax, [esp + 0x30a4]
push eax
lea eax, [esp + 0x11b8]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esp + 0x1bd0]
push 0x393
push esi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
call sub.KERNEL32.dll_GetProcessHeap
push 0xad8
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov esi, dword [esp + 0x10]
test eax, eax
je 0x1007d0e5
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], 0x10399a00
mov dword [eax + 0x18], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 1
mov edi, eax
movsd xmm0, qword [esp + 0x120]
movsd xmm1, qword [esp + 0x128]
movsd qword [eax + 0x28], xmm0
movsd qword [eax + 0x30], xmm1
mov eax, dword [esp + 8]
mov dword [edi + 0x38], eax
mov eax, dword [esp + 0x1c]
mov dword [edi + 0x40], eax
lea eax, [edi + 0x48]
push 0x358
lea ecx, [esp + 0xae4]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [edi + 0x3a0]
push 0x388
lea ecx, [esp + 0x11b4]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x30]
mov dword [edi + 0x728], 1
mov dword [edi + 0x72c], eax
mov eax, dword [esp + 0x50]
mov dword [edi + 0x730], eax
mov eax, edi
mov byte [edi + 0x734], 0
add eax, 0x735
push 0x393
lea ecx, [esp + 0x1bd4]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esp + 0xcc]
mov dword [edi + 0xac8], 0
mov dword [edi + 0xad4], 0
mov dword [esp + 0x1bd0], eax
call fcn.100ff440
test eax, eax
je 0x1007d02c
mov eax, dword [eax]
lea ecx, [esp + 0x1bd0]
mov edx, edi
test eax, eax
je 0x1007aee8
push eax
jmp 0x1007aeea
lea eax, [esp + 0x1bd4]
push 0x6b8
push esi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esp + 0x1bd0]
push 0x6bc
push eax
lea esi, [esp + 0x2658]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x36b
lea eax, [esp + 0x2d1c]
push eax
lea eax, [esp + 0x30a8]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
call sub.KERNEL32.dll_GetProcessHeap
push 0xa60
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1007d127
mov dword [eax], 0x8c
mov edi, 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], 0x103999a8
mov dword [eax + 0x18], 0
lea eax, [eax + 0x1c]
push 0x6bc
push esi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x30]
mov dword [edi + 0x6d8], 1
mov dword [edi + 0x6dc], eax
mov eax, dword [esp + 0x50]
mov dword [edi + 0x6e0], eax
mov eax, edi
mov byte [edi + 0x6e4], 0
add eax, 0x6e5
push 0x36b
lea ecx, [esp + 0x30a4]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esp + 0x404]
mov dword [edi + 0xa50], 0
mov dword [edi + 0xa5c], 0
mov dword [esp + 0x1bd0], eax
call fcn.100ff440
mov esi, dword [esp + 0x10]
test eax, eax
je 0x1007d02c
mov eax, dword [eax]
lea ecx, [esp + 0x1bd0]
mov edx, edi
test eax, eax
je 0x1007af40
push eax
jmp 0x1007af42
call fcn.100faaa0
mov cl, byte [edi + 0xc]
test cl, cl
jne 0x1007d138
inc dword [edi + 0x184]
test al, al
jne 0x10079cfa
jmp 0x10079d07
call fcn.100faaa0
test al, al
jne 0x10079d07
mov byte [edi + 0xc], 1
jmp 0x10079d07
push 0
call fcn.10107f50
add esp, 4
mov eax, dword [esp + 0xc8]
test eax, eax
je 0x1007a9e4
cmp eax, 1
jne 0x1007af27
mov eax, dword [esp + 0xcc]
lock dec dword [eax]
jne 0x1007a9e4
lea ecx, [esp + 0xcc]
call fcn.10069f30
jmp 0x1007a9e4
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0xcc]
lock dec dword [esi]
je 0x1007a9d4
jmp 0x1007a9e0
push 0
call fcn.10107f50
add esp, 4
mov eax, dword [esp + 0x400]
test eax, eax
je 0x1007af8c
cmp eax, 1
jne 0x1007af74
mov eax, dword [esp + 0x404]
lock dec dword [eax]
jne 0x1007af8c
lea ecx, [esp + 0x404]
call fcn.10069f30
jmp 0x1007af8c
mov eax, dword [esp + 0x404]
lock dec dword [eax]
jne 0x1007af8c
lea ecx, [esp + 0x404]
call fcn.1006a000
mov ecx, 0x44
mov eax, 0x8c
lock cmpxchg dword [edi], ecx
je 0x1007afa6
mov eax, dword [edi + 0x14]
push edi
call dword [eax + 0xc]
add esp, 4
mov dword [esp + 0x1c], 0
mov ecx, dword [esp + 0x34]
mov al, byte [esp + 0x1a2]
mov dword [esp + 8], 0
mov byte [ecx + 2], al
movzx eax, word [esp + 0x1a0]
mov word [ecx], ax
mov edx, dword [ebx + 0x160]
mov eax, dword [ebx + 0x15c]
mov edi, dword [ebx + 0x150]
mov dword [esp + 0x104], edx
mov edx, dword [ebx + 0x154]
mov dword [esp + 0x108], eax
mov dword [esp + 0x110], edi
mov dword [esp + 0x10c], edx
mov al, byte [ecx + 2]
movzx ecx, word [ecx]
mov word [esp + 0x3c], cx
mov ecx, ebx
mov byte [esp + 0x3e], al
mov byte [esi], 1
call fcn.10066450
cmp byte [esp + 8], 0
je 0x1007b0d8
mov eax, dword [ebx + 0x1a0]
lea esi, [ebx + 0x1a0]
lock dec dword [eax]
jne 0x1007b03f
mov ecx, esi
call fcn.10063ab0
mov eax, dword [esi + 4]
add esi, 4
lock dec dword [eax + 0x20]
jne 0x1007b09d
mov ecx, dword [esi]
mov edx, 1
lock xadd dword [ecx + 0xc], edx
add ecx, 8
call fcn.10063af0
lock or dword [eax + 0xa88], 0x20000
mov ecx, dword [esi]
mov eax, dword [ecx + 0x14]
nop
mov edx, eax
or edx, 2
lock cmpxchg dword [ecx + 0x14], edx
jne 0x1007b070
test eax, eax
jne 0x1007b09d
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
mov dword [ecx + 0x1c], 0
lock and dword [ecx + 0x14], 0xfffffffd
test edx, edx
je 0x1007b09d
push eax
call dword [edx + 4]
add esp, 4
mov eax, dword [esi]
lock dec dword [eax]
jne 0x1007b0ab
mov ecx, esi
call fcn.10063c90
mov eax, dword [ebx + 0x168]
test eax, eax
je 0x1007b297
mov cl, 1
mov dword [esp + 0x10], ecx
lock dec dword [eax]
jne 0x1007b29d
lea ecx, [ebx + 0x168]
call fcn.10116ed0
jmp 0x1007b29d
mov al, byte [esp + 0x3e]
lea esi, [esp + 0x2e0]
lea edx, [esp + 0x2c0]
lea ecx, [esp + 0x350]
mov dword [esp + 0xdc], 1
lea edi, [esp + 0x1e8]
mov byte [esp + 0x3a], al
movzx eax, word [esp + 0x3c]
mov word [esp + 0x38], ax
mov dword [esp + 0x34], eax
mov dword [esp + 0x54], eax
mov eax, dword [ebx + 0x1a0]
movsd xmm4, qword [esp + 0x250]
movsd xmm0, qword [esi]
movsd xmm1, qword [edx]
movsd xmm2, qword [edx + 8]
movsd xmm3, qword [ecx]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 0x1a4]
mov dword [esp + 0x6c], eax
mov eax, dword [ebx + 0x1a8]
movsd qword [esp + 0x218], xmm4
movsd qword [esp + 0x260], xmm0
movsd xmm0, qword [esp + 0x248]
movsd qword [esp + 0x360], xmm1
movsd xmm1, qword [esp + 0x317]
movsd xmm4, qword [ecx + 8]
movsd qword [esp + 0x368], xmm2
movsd qword [esp + 0x2d0], xmm3
mov dword [esp + 0x18], eax
movzx eax, word [esp + 0x38]
movsd qword [esp + 0x210], xmm0
movsd xmm0, qword [esp + 0x310]
movsd qword [esp + 0x327], xmm1
movsd qword [esp + 0x2d8], xmm4
mov word [esp + 0x28], ax
mov eax, dword [esi + 8]
movsd qword [esp + 0x320], xmm0
movsd xmm0, qword [edi]
mov dword [esp + 0x268], eax
mov eax, dword [esp + 0x257]
movsd qword [esp + 0x298], xmm0
mov dword [esp + 0x21f], eax
movzx eax, word [esp + 0x60]
mov word [esp + 0x24], ax
movzx eax, word [esp + 0x9c]
mov word [esp + 0x1dc], ax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x1d8], eax
movzx eax, word [esp + 0x5c]
mov word [esp + 0x44], ax
mov eax, dword [edi + 8]
mov dword [esp + 0x2a0], eax
mov al, byte [esp + 0x3a]
mov byte [esp + 0x2a], al
mov al, byte [esp + 0x62]
mov byte [esp + 0x26], al
mov al, byte [esp + 0x5e]
mov byte [esp + 0x46], al
mov al, byte [esp + 0x5a]
mov byte [esp + 0x42], al
movzx eax, word [esp + 0x58]
mov word [esp + 0x40], ax
mov eax, dword [esp + 0x1e3]
mov dword [esp + 0x143], eax
mov eax, dword [esp + 0x1e0]
mov dword [esp + 0x140], eax
mov eax, dword [ebx + 0x168]
test eax, eax
je 0x1007b28d
lock dec dword [eax]
jne 0x1007b28d
lea ecx, [ebx + 0x168]
call fcn.10116ed0
mov dword [esp + 0x10], 0
jmp 0x1007b2ad
mov al, 1
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x54], eax
mov al, byte [esp + 0x2a]
movsd xmm0, qword [esp + 0x260]
movsd xmm1, qword [esp + 0x368]
movzx esi, word [esp + 0x40]
mov ecx, dword [esp + 0x143]
mov edx, dword [esp + 0x140]
mov byte [esp + 0x17e], al
movzx eax, word [esp + 0x28]
movsd qword [esp + 0x3a8], xmm0
movsd xmm0, qword [esp + 0x360]
movsd qword [esp + 0x3f8], xmm1
movsd xmm1, qword [esp + 0x2d8]
mov dword [esp + 0x2f3], ecx
mov word [esp + 0x170], si
mov dword [esp + 0x2f0], edx
mov word [esp + 0x17c], ax
mov eax, dword [esp + 0x268]
movsd qword [esp + 0x3f0], xmm0
movsd xmm0, qword [esp + 0x2d0]
movsd qword [esp + 0x3e8], xmm1
movsd xmm1, qword [esp + 0x218]
mov dword [esp + 0x3b0], eax
mov eax, dword [esp + 0x21f]
movsd qword [esp + 0x3e0], xmm0
movsd xmm0, qword [esp + 0x210]
mov dword [esp + 0x3c7], eax
movzx eax, word [esp + 0x24]
movsd qword [esp + 0x3c0], xmm1
movsd qword [esp + 0x3b8], xmm0
movsd xmm1, qword [esp + 0x327]
movsd xmm0, qword [esp + 0x320]
mov word [esp + 0x178], ax
mov al, byte [esp + 0x26]
movsd qword [esp + 0x3d7], xmm1
movsd qword [esp + 0x3d0], xmm0
movsd xmm0, qword [esp + 0x298]
mov byte [esp + 0x17a], al
mov eax, dword [esp + 0x1d8]
movsd qword [esp + 0x398], xmm0
mov dword [esp + 0x2b8], eax
movzx eax, word [esp + 0x1dc]
mov word [esp + 0x2bc], ax
movzx eax, word [esp + 0x44]
mov word [esp + 0x174], ax
mov al, byte [esp + 0x46]
mov byte [esp + 0x176], al
mov eax, dword [esp + 0x2a0]
mov dword [esp + 0x3a0], eax
mov al, byte [esp + 0x42]
mov byte [esp + 0x172], al
mov byte [ebx + 0x1ac], 1
cmp dword [ebx + 0x170], 2
je 0x1007cdd3
mov edi, ebx
mov ebx, dword [ebx + 0x1b0]
mov eax, dword [edi + 0x1b4]
mov ecx, edi
mov dword [esp + 8], eax
call fcn.10066310
lea eax, [esp + 0x1bd0]
push 0x170
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [edi + 0x170], 2
add edi, 0x174
lea esi, [esp + 0x2650]
mov ecx, 0x11
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x2e0], ebx
movzx eax, word [esp + 0x17c]
movsd xmm0, qword [esp + 0x3a8]
movsd xmm1, qword [esp + 0x3f8]
mov dl, byte [esp + 0x17e]
mov cl, byte [esp + 0x17a]
mov esi, dword [esp + 8]
cmp byte [esp + 0x10], 0
mov edi, dword [esp + 0x2f0]
mov word [esp + 0x18c], ax
mov eax, dword [esp + 0x3b0]
movsd qword [esp + 0x310], xmm0
movsd xmm0, qword [esp + 0x3f0]
movsd qword [esp + 0x338], xmm1
movsd xmm1, qword [esp + 0x3e8]
mov byte [esp + 0x18e], dl
mov byte [esp + 0x18a], cl
mov dl, byte [esp + 0x176]
mov cl, byte [esp + 0x172]
mov dword [esp + 0x2e4], esi
mov dword [esp + 0x318], eax
mov eax, dword [esp + 0x3c7]
movsd qword [esp + 0x330], xmm0
movsd xmm0, qword [esp + 0x3e0]
movsd qword [esp + 0x300], xmm1
movsd xmm1, qword [esp + 0x3c0]
mov byte [esp + 0x186], dl
mov byte [esp + 0x182], cl
mov dword [esp + 0x30af], eax
movzx eax, word [esp + 0x178]
movsd qword [esp + 0x2f8], xmm0
movsd xmm0, qword [esp + 0x3b8]
movsd qword [esp + 0x30a8], xmm1
movsd xmm1, qword [esp + 0x3d7]
mov word [esp + 0x188], ax
movzx eax, word [esp + 0x2bc]
movsd qword [esp + 0x30a0], xmm0
movsd xmm0, qword [esp + 0x3d0]
movsd qword [esp + 0x23f], xmm1
mov word [esp + 0x20c], ax
mov eax, dword [esp + 0x2b8]
movsd qword [esp + 0x238], xmm0
movsd xmm0, qword [esp + 0x398]
mov dword [esp + 0x208], eax
movzx eax, word [esp + 0x174]
movsd qword [esp + 0x2a8], xmm0
mov word [esp + 0x184], ax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x2b0], eax
movzx eax, word [esp + 0x170]
mov word [esp + 0x180], ax
mov eax, dword [esp + 0x2f3]
mov dword [esp + 0x1db], eax
mov dword [esp + 0x1d8], edi
je 0x1007b65d
mov edi, dword [esp + 0x18]
mov esi, 1
test ebx, ebx
je 0x1007b64d
lock dec dword [ebx]
jne 0x1007b64d
lea ecx, [esp + 0x2e0]
call fcn.10116ed0
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x6c]
jmp 0x1007cd4a
movzx eax, word [esp + 0x18c]
movsd xmm0, qword [esp + 0x310]
movsd xmm1, qword [esp + 0x338]
mov ecx, dword [esp + 0x1db]
mov dword [esp + 0x298], ebx
mov dword [esp + 0x29c], esi
mov word [esp + 0x19c], ax
mov al, byte [esp + 0x18e]
movsd qword [esp + 0x350], xmm0
movsd xmm0, qword [esp + 0x330]
movsd qword [esp + 0x1b8], xmm1
movsd xmm1, qword [esp + 0x300]
mov dword [esp + 0x1e3], ecx
mov byte [esp + 0x19e], al
mov eax, dword [esp + 0x318]
movsd qword [esp + 0x1b0], xmm0
movsd xmm0, qword [esp + 0x2f8]
movsd qword [esp + 0xb8], xmm1
movsd xmm1, qword [esp + 0x30a8]
mov dword [esp + 0x358], eax
mov eax, dword [esp + 0x30af]
movsd qword [esp + 0xb0], xmm0
movsd xmm0, qword [esp + 0x30a0]
mov dword [esp + 0x11bf], eax
mov al, byte [esp + 0x18a]
movsd qword [esp + 0x11b8], xmm1
movsd qword [esp + 0x11b0], xmm0
movsd xmm1, qword [esp + 0x23f]
movsd xmm0, qword [esp + 0x238]
mov byte [esp + 0x19a], al
movzx eax, word [esp + 0x188]
movsd qword [esp + 0x1a7], xmm1
movsd qword [esp + 0x1a0], xmm0
movsd xmm0, qword [esp + 0x2a8]
mov word [esp + 0x198], ax
movzx eax, word [esp + 0x20c]
movsd qword [esp + 0x320], xmm0
mov word [esp + 0x164], ax
mov eax, dword [esp + 0x208]
mov dword [esp + 0x160], eax
mov al, byte [esp + 0x186]
mov byte [esp + 0x196], al
movzx eax, word [esp + 0x184]
mov word [esp + 0x194], ax
mov eax, dword [esp + 0x2b0]
mov dword [esp + 0x328], eax
mov al, byte [esp + 0x182]
mov byte [esp + 0x192], al
movzx eax, word [esp + 0x180]
mov word [esp + 0x190], ax
mov eax, dword [esp + 0x1d8]
mov dword [esp + 0x1e0], eax
mov eax, dword [0x10551ebc]
cmp eax, 5
jb 0x1007b80a
mov eax, dword [0x10551ec0]
mov eax, dword [0x10411958]
mov edi, dword [esp + 0xc]
dec eax
cmp eax, 5
jb 0x1007b928
mov ecx, dword [0x104113a4]
test ecx, ecx
je 0x1007b928
mov al, 1
cmp ecx, 1
je 0x1007b83d
cmp ecx, 2
jne 0x1007cd61
mov al, 2
movzx edx, al
mov ecx, 0x104113a4
call fcn.10109ff0
test al, al
je 0x1007b928
mov ecx, dword [0x104113a8]
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x1007d0ec
mov edx, dword [ecx + 0x2c]
mov esi, dword [ecx + 0x34]
mov edi, dword [ecx + 0x38]
mov dword [esp + 0x2650], 0
mov dword [esp + 0x1bd0], 0x10399a34
mov dword [esp + 0x1bd4], 1
mov dword [esp + 0x1bd8], 0
mov dword [esp + 0x1be0], 0x103c9de4
mov dword [esp + 0x1be4], 0
mov dword [esp + 0x2654], edx
mov dword [esp + 0x2658], eax
lea eax, [esp + 0x2650]
lea edx, [ecx + 0x2c]
mov dword [esp + 0x265c], esi
mov dword [esp + 0x2660], edi
mov dword [esp + 0x120], eax
lea eax, [esp + 0x1bd0]
mov dword [esp + 0x124], eax
lea eax, [esp + 0x120]
mov dword [esp + 0x128], 0x103986f0
mov dword [esp + 0x3780], eax
mov dword [esp + 0x3784], 1
mov dword [esp + 0x3788], edx
lea edx, [esp + 0x3780]
call fcn.1010a850
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 8]
movzx eax, word [esp + 0x19c]
movsd xmm0, qword [esp + 0x350]
movsd xmm1, qword [esp + 0x1b8]
mov ecx, dword [esp + 0x1e3]
mov edx, dword [esp + 0x1e0]
test ebx, ebx
mov word [esp + 0xac], ax
mov al, byte [esp + 0x19e]
movsd qword [esp + 0x2d0], xmm0
movsd xmm0, qword [esp + 0x1b0]
movsd qword [esp + 0xe58], xmm1
movsd xmm1, qword [esp + 0xb8]
mov dword [esp + 0x143], ecx
mov dword [esp + 0x140], edx
mov byte [esp + 0xae], al
mov eax, dword [esp + 0x358]
movsd qword [esp + 0xe50], xmm0
movsd xmm0, qword [esp + 0xb0]
movsd qword [esp + 0x128], xmm1
movsd xmm1, qword [esp + 0x11b8]
mov dword [esp + 0x2d8], eax
mov eax, dword [esp + 0x11bf]
movsd qword [esp + 0x120], xmm0
movsd xmm0, qword [esp + 0x11b0]
mov dword [esp + 0x3e47], eax
mov al, byte [esp + 0x19a]
movsd qword [esp + 0x3e40], xmm1
movsd qword [esp + 0x3e38], xmm0
movsd xmm1, qword [esp + 0x1a7]
movsd xmm0, qword [esp + 0x1a0]
mov byte [esp + 0xaa], al
movzx eax, word [esp + 0x198]
movsd qword [esp + 0xcf], xmm1
movsd qword [esp + 0xc8], xmm0
movsd xmm0, qword [esp + 0x320]
mov word [esp + 0xa8], ax
movzx eax, word [esp + 0x164]
movsd qword [esp + 0x2c0], xmm0
mov word [esp + 0x11c], ax
mov eax, dword [esp + 0x160]
mov dword [esp + 0x118], eax
mov al, byte [esp + 0x196]
mov byte [esp + 0xa6], al
movzx eax, word [esp + 0x194]
mov word [esp + 0xa4], ax
mov eax, dword [esp + 0x328]
mov dword [esp + 0x2c8], eax
mov al, byte [esp + 0x192]
mov byte [esp + 0xa2], al
movzx eax, word [esp + 0x190]
mov word [esp + 0xa0], ax
je 0x1007bfa7
movzx eax, word [esp + 0xac]
mov esi, dword [esi + 8]
movsd xmm0, qword [esp + 0x2d0]
movsd xmm1, qword [esp + 0xe58]
mov ecx, dword [esp + 0x143]
mov word [esp + 0x3428], ax
mov al, byte [esp + 0xae]
movsd qword [esp + 0x758], xmm0
movsd xmm0, qword [esp + 0xe50]
movsd qword [esp + 0x2658], xmm1
movsd xmm1, qword [esp + 0x128]
mov dword [esp + 0x403], ecx
mov byte [esp + 0x342a], al
mov eax, dword [esp + 0x2d8]
movsd qword [esp + 0x2650], xmm0
movsd xmm0, qword [esp + 0x120]
movsd qword [esp + 0x3788], xmm1
movsd xmm1, qword [esp + 0x3e40]
mov dword [esp + 0x760], eax
mov eax, dword [esp + 0x3e47]
movsd qword [esp + 0x3780], xmm0
movsd xmm0, qword [esp + 0x3e38]
mov dword [esp + 0x1bdf], eax
mov al, byte [esp + 0xaa]
movsd qword [esp + 0x1bd8], xmm1
movsd qword [esp + 0x1bd0], xmm0
movsd xmm1, qword [esp + 0xcf]
movsd xmm0, qword [esp + 0xc8]
mov byte [esp + 0x212], al
movzx eax, word [esp + 0xa8]
movsd qword [esp + 0x2d1f], xmm1
movsd qword [esp + 0x2d18], xmm0
movsd xmm0, qword [esp + 0x2c0]
mov word [esp + 0x210], ax
movzx eax, word [esp + 0x11c]
movsd qword [esp + 0xae0], xmm0
mov word [esp + 0x1874], ax
mov eax, dword [esp + 0x118]
mov dword [esp + 0x1870], eax
mov al, byte [esp + 0xa6]
mov byte [esp + 0x24a], al
movzx eax, word [esp + 0xa4]
mov word [esp + 0x248], ax
mov eax, dword [esp + 0x2c8]
mov dword [esp + 0xae8], eax
mov al, byte [esp + 0xa2]
mov byte [esp + 0x72], al
movzx eax, word [esp + 0xa0]
mov word [esp + 0x70], ax
mov eax, dword [esp + 0x140]
mov dword [esp + 0x400], eax
call sub.KERNEL32.dll_GetProcessHeap
push 0x128
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1007cfc9
lea ecx, [esi + 7]
neg esi
mov edx, dword [esp + 0xd8]
and esi, ecx
mov ecx, dword [esp + 0xdc]
add ebx, esi
mov dword [eax], ecx
mov ecx, dword [esp + 0x1c]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0xe0]
mov dword [eax + 0xc], ecx
mov byte [eax + 0x10], 0
movzx ecx, word [esp + 0x3428]
mov word [eax + 0x11], cx
mov cl, byte [esp + 0x342a]
mov byte [eax + 0x13], cl
mov ecx, dword [esp + 0x50]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x108]
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x104]
mov dword [eax + 0x1c], ecx
mov ecx, dword [esp + 0x20]
mov dword [eax + 0x20], edi
mov dword [eax + 0x24], ecx
mov ecx, dword [esp + 0x90]
mov dword [eax + 0x28], 0
mov dword [eax + 0x30], ecx
mov ecx, dword [esp + 0x94]
mov dword [eax + 0x2c], ecx
mov ecx, dword [esp + 0x110]
mov dword [eax + 0x34], ecx
mov ecx, dword [esp + 0x10c]
mov dword [eax + 0x38], ecx
movsd xmm0, qword [esp + 0x758]
movsd qword [eax + 0x3c], xmm0
mov ecx, dword [esp + 0x760]
mov dword [eax + 0x44], ecx
mov dword [eax + 0x4c], 0
mov dword [eax + 0x48], 0
movsd xmm0, qword [esp + 0x2650]
movsd xmm1, qword [esp + 0x2658]
movsd qword [eax + 0x58], xmm1
movsd qword [eax + 0x50], xmm0
mov dword [eax + 0x64], 0
mov dword [eax + 0x60], 3
movsd xmm0, qword [esp + 0x3780]
movsd xmm1, qword [esp + 0x3788]
movsd qword [eax + 0x70], xmm1
movsd qword [eax + 0x68], xmm0
mov dword [eax + 0x78], 0
mov byte [eax + 0x7c], 0xb
mov ecx, dword [esp + 0x1bdf]
mov dword [eax + 0x8c], ecx
mov cl, byte [esp + 0xf4]
movsd xmm0, qword [esp + 0x1bd0]
movsd xmm1, qword [esp + 0x1bd8]
movsd qword [eax + 0x85], xmm1
movsd qword [eax + 0x7d], xmm0
mov dword [eax + 0x90], 0
mov word [eax + 0x98], 0x100
mov byte [eax + 0x9a], cl
mov word [eax + 0x9b], 0x200
mov ecx, dword [esp + 0x34]
movsd xmm0, qword [esp + 0x2d18]
movsd xmm1, qword [esp + 0x2d1f]
movsd qword [eax + 0x9d], xmm0
movsd qword [eax + 0xa4], xmm1
mov dword [eax + 0xac], 1
mov dword [eax + 0xb0], 0
mov dword [eax + 0xb4], 0
mov dword [eax + 0xb8], 1
mov byte [eax + 0xbc], cl
mov ecx, dword [esp + 0xf8]
mov byte [eax + 0xbd], 0
mov dword [eax + 0xc0], ecx
mov ecx, dword [esp + 0x100]
mov dword [eax + 0xc4], edx
mov dword [eax + 0xc8], ecx
mov ecx, dword [esp + 0x8c]
mov dword [eax + 0xcc], 0x2000
mov dword [eax + 0xd0], 0
mov dword [eax + 0xd4], 0
mov dword [eax + 0xd8], edx
mov dword [eax + 0xdc], 0
mov dword [eax + 0xe0], 0
mov dword [eax + 0xe4], ecx
mov ecx, dword [esp + 0x54]
mov dword [eax + 0xe8], 8
mov byte [eax + 0xec], cl
mov cl, byte [esp + 0x212]
mov byte [eax + 0xef], cl
movzx ecx, word [esp + 0x210]
mov word [eax + 0xed], cx
mov word [eax + 0xf0], 0
mov ecx, dword [esp + 0x1870]
mov dword [eax + 0xf2], ecx
movzx ecx, word [esp + 0x1874]
mov word [eax + 0xf6], cx
mov ecx, dword [esp + 0x68]
mov dword [eax + 0xf8], 2
mov dword [eax + 0x100], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0x104], ecx
mov byte [eax + 0x108], 0
movzx ecx, word [esp + 0x248]
mov word [eax + 0x109], cx
mov cl, byte [esp + 0x24a]
mov byte [eax + 0x10b], cl
movsd xmm0, qword [esp + 0xae0]
movsd qword [eax + 0x10c], xmm0
mov ecx, dword [esp + 0xae8]
mov dword [eax + 0x114], ecx
mov byte [eax + 0x118], 3
mov cl, byte [esp + 0x72]
mov byte [eax + 0x11b], cl
movzx ecx, word [esp + 0x70]
mov word [eax + 0x119], cx
mov ecx, dword [esp + 0xfc]
mov dword [eax + 0x11c], ecx
mov byte [eax + 0x120], 0
mov ecx, dword [esp + 0x400]
mov edx, dword [esp + 0x403]
mov dword [eax + 0x124], edx
mov dword [eax + 0x121], ecx
push 0x10399a4c
push eax
push ebx
mov eax, dword [esp + 0x14]
call dword [eax + 0xc]
add esp, 0xc
jmp 0x1007cd1d
movzx eax, word [esp + 0xac]
movsd xmm0, qword [esp + 0x2d0]
movsd xmm1, qword [esp + 0xe58]
mov ecx, dword [esp + 0x143]
mov word [esp + 0x38], ax
mov al, byte [esp + 0xae]
movsd qword [esp + 0x270], xmm0
movsd xmm0, qword [esp + 0xe50]
movsd qword [esp + 0x1878], xmm1
movsd xmm1, qword [esp + 0x128]
mov dword [esp + 0xe7], ecx
mov byte [esp + 0x3a], al
mov eax, dword [esp + 0x2d8]
movsd qword [esp + 0x1870], xmm0
movsd xmm0, qword [esp + 0x120]
movsd qword [esp + 0x3430], xmm1
movsd xmm1, qword [esp + 0x3e40]
mov dword [esp + 0x278], eax
mov eax, dword [esp + 0x3e47]
movsd qword [esp + 0x3428], xmm0
movsd xmm0, qword [esp + 0x3e38]
mov dword [esp + 0x378f], eax
mov al, byte [esp + 0xaa]
movsd qword [esp + 0x3788], xmm1
movsd qword [esp + 0x3780], xmm0
movsd xmm1, qword [esp + 0xcf]
movsd xmm0, qword [esp + 0xc8]
mov byte [esp + 0x62], al
movzx eax, word [esp + 0xa8]
movsd qword [esp + 0x77], xmm1
movsd qword [esp + 0x70], xmm0
movsd xmm0, qword [esp + 0x2c0]
mov word [esp + 0x60], ax
movzx eax, word [esp + 0x11c]
movsd qword [esp + 0x360], xmm0
mov word [esp + 0x16c], ax
mov eax, dword [esp + 0x118]
mov dword [esp + 0x168], eax
mov al, byte [esp + 0xa6]
mov byte [esp + 0x5e], al
movzx eax, word [esp + 0xa4]
mov word [esp + 0x5c], ax
mov eax, dword [esp + 0x2c8]
mov dword [esp + 0x368], eax
mov al, byte [esp + 0xa2]
mov byte [esp + 0x5a], al
movzx eax, word [esp + 0xa0]
mov word [esp + 0x58], ax
mov eax, dword [esp + 0x140]
mov dword [esp + 0xe4], eax
call fcn.101079c0
cmp eax, 3
je 0x1007cfb5
movzx ecx, word [esp + 0x38]
movsd xmm0, qword [esp + 0x270]
movsd xmm1, qword [esp + 0x1878]
mov dword [esp + 0x260], eax
mov ebx, edx
mov dword [esp + 0x264], edx
mov edx, dword [esp + 0xe7]
mov edi, dword [esp + 0xe4]
lea esi, [esp + 0x264]
cmp eax, 1
mov word [esp + 0x44], cx
mov cl, byte [esp + 0x3a]
movsd qword [esp + 0x228], xmm0
movsd xmm0, qword [esp + 0x1870]
movsd qword [esp + 0xae8], xmm1
movsd xmm1, qword [esp + 0x3430]
mov dword [esp + 0x14b], edx
mov dword [esp + 0x148], edi
mov byte [esp + 0x46], cl
mov ecx, dword [esp + 0x278]
movsd qword [esp + 0xae0], xmm0
movsd xmm0, qword [esp + 0x3428]
movsd qword [esp + 0x408], xmm1
movsd xmm1, qword [esp + 0x3788]
mov dword [esp + 0x230], ecx
mov ecx, dword [esp + 0x378f]
movsd qword [esp + 0x400], xmm0
movsd xmm0, qword [esp + 0x3780]
mov dword [esp + 0x265f], ecx
mov cl, byte [esp + 0x62]
movsd qword [esp + 0x2658], xmm1
movsd qword [esp + 0x2650], xmm0
movsd xmm1, qword [esp + 0x77]
movsd xmm0, qword [esp + 0x70]
mov byte [esp + 0x42], cl
movzx ecx, word [esp + 0x60]
movsd qword [esp + 0x24f], xmm1
movsd qword [esp + 0x248], xmm0
movsd xmm0, qword [esp + 0x360]
mov word [esp + 0x40], cx
movzx ecx, word [esp + 0x16c]
movsd qword [esp + 0x280], xmm0
mov word [esp + 0xf0], cx
mov ecx, dword [esp + 0x168]
mov dword [esp + 0xec], ecx
mov cl, byte [esp + 0x5e]
mov byte [esp + 0x66], cl
movzx ecx, word [esp + 0x5c]
mov word [esp + 0x64], cx
mov ecx, dword [esp + 0x368]
mov dword [esp + 0x288], ecx
mov cl, byte [esp + 0x5a]
mov byte [esp + 0x3e], cl
movzx ecx, word [esp + 0x58]
mov word [esp + 0x3c], cx
je 0x1007c7b2
cmp eax, 2
jne 0x1007ce77
movzx eax, word [esp + 0x44]
movsd xmm0, qword [esp + 0x228]
movsd xmm1, qword [esp + 0xae8]
mov ecx, dword [esp + 0x14b]
mov word [esp + 0x48], ax
mov al, byte [esp + 0x46]
movsd qword [esp + 0x150], xmm0
movsd xmm0, qword [esp + 0xae0]
movsd qword [esp + 0x2d20], xmm1
movsd xmm1, qword [esp + 0x408]
mov dword [esp + 0x1eb], ecx
mov byte [esp + 0x4a], al
mov eax, dword [esp + 0x230]
movsd qword [esp + 0x2d18], xmm0
movsd xmm0, qword [esp + 0x400]
movsd qword [esp + 0x760], xmm1
movsd xmm1, qword [esp + 0x2658]
mov dword [esp + 0x158], eax
mov eax, dword [esp + 0x265f]
movsd qword [esp + 0x758], xmm0
movsd xmm0, qword [esp + 0x2650]
mov dword [esp + 0x1bdf], eax
mov al, byte [esp + 0x42]
movsd qword [esp + 0x1bd8], xmm1
movsd qword [esp + 0x1bd0], xmm0
movsd xmm1, qword [esp + 0x24f]
movsd xmm0, qword [esp + 0x248]
mov byte [esp + 0x2e], al
movzx eax, word [esp + 0x40]
movsd qword [esp + 0x217], xmm1
movsd qword [esp + 0x210], xmm0
movsd xmm0, qword [esp + 0x280]
mov word [esp + 0x2c], ax
movzx eax, word [esp + 0xf0]
movsd qword [esp + 0x1f8], xmm0
mov word [esp + 0x9c], ax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x98], eax
mov al, byte [esp + 0x66]
mov byte [esp + 0x2a], al
movzx eax, word [esp + 0x64]
mov word [esp + 0x28], ax
mov eax, dword [esp + 0x288]
mov dword [esp + 0x200], eax
mov al, byte [esp + 0x3e]
mov byte [esp + 0x26], al
movzx eax, word [esp + 0x3c]
mov word [esp + 0x24], ax
mov eax, dword [esp + 0x148]
mov dword [esp + 0x1e8], eax
call sub.KERNEL32.dll_GetProcessHeap
push 0x158
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1007d022
mov dword [eax], 0x8c
mov edi, eax
mov dword [eax + 0x10], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x14], 0x10399a5c
mov dword [eax + 0x18], 0
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xd8]
mov edx, edi
mov dword [edi + 0x20], eax
mov eax, dword [esp + 0x1c]
mov dword [edi + 0x24], eax
mov eax, dword [esp + 0x30]
mov dword [edi + 0x28], eax
mov eax, dword [esp + 0xe0]
mov dword [edi + 0x2c], eax
mov byte [edi + 0x30], 0
mov al, byte [esp + 0x4a]
mov byte [edi + 0x33], al
movzx eax, word [esp + 0x48]
mov word [edi + 0x31], ax
mov eax, dword [esp + 0x50]
mov dword [edi + 0x34], eax
mov eax, dword [esp + 0x108]
mov dword [edi + 0x38], eax
mov eax, dword [esp + 0x104]
mov dword [edi + 0x3c], eax
mov eax, dword [esp + 0xc]
mov dword [edi + 0x40], eax
mov eax, dword [esp + 0x20]
mov dword [edi + 0x44], eax
mov eax, dword [esp + 0x90]
mov dword [edi + 0x48], 0
mov dword [edi + 0x50], eax
mov eax, dword [esp + 0x94]
mov dword [edi + 0x4c], eax
mov eax, dword [esp + 0x110]
mov dword [edi + 0x54], eax
mov eax, dword [esp + 0x10c]
mov dword [edi + 0x58], eax
mov eax, dword [esp + 0x158]
mov dword [edi + 0x64], eax
movsd xmm0, qword [esp + 0x150]
movsd qword [edi + 0x5c], xmm0
mov dword [edi + 0x6c], 0
mov dword [edi + 0x68], 0
movsd xmm0, qword [esp + 0x2d18]
movsd xmm1, qword [esp + 0x2d20]
movsd qword [edi + 0x78], xmm1
movsd qword [edi + 0x70], xmm0
mov dword [edi + 0x84], 0
mov dword [edi + 0x80], 3
movsd xmm0, qword [esp + 0x758]
movsd xmm1, qword [esp + 0x760]
movsd qword [edi + 0x90], xmm1
movsd qword [edi + 0x88], xmm0
mov dword [edi + 0x98], 0
mov byte [edi + 0x9c], 0xb
mov eax, dword [esp + 0x1bdf]
mov dword [edi + 0xac], eax
mov al, byte [esp + 0xf4]
movsd xmm0, qword [esp + 0x1bd0]
movsd xmm1, qword [esp + 0x1bd8]
movsd qword [edi + 0xa5], xmm1
movsd qword [edi + 0x9d], xmm0
mov dword [edi + 0xb0], 0
mov word [edi + 0xb8], 0x100
mov byte [edi + 0xba], al
mov word [edi + 0xbb], 0x200
mov eax, dword [esp + 0x34]
movsd xmm0, qword [esp + 0x210]
movsd xmm1, qword [esp + 0x217]
movsd qword [edi + 0xc4], xmm1
movsd qword [edi + 0xbd], xmm0
mov dword [edi + 0xcc], 1
mov dword [edi + 0xd0], 0
mov dword [edi + 0xd4], 0
mov dword [edi + 0xd8], 1
mov byte [edi + 0xdc], al
mov eax, dword [esp + 0xf8]
mov byte [edi + 0xdd], 0
mov dword [edi + 0xe0], eax
mov eax, dword [esp + 0x100]
mov dword [edi + 0xe4], ecx
mov dword [edi + 0xe8], eax
mov eax, dword [esp + 0x8c]
mov dword [edi + 0xec], 0x2000
mov dword [edi + 0xf0], 0
mov dword [edi + 0xf4], 0
mov dword [edi + 0xf8], ecx
mov dword [edi + 0xfc], 0
mov dword [edi + 0x100], 0
mov dword [edi + 0x104], eax
mov eax, dword [esp + 0x54]
mov dword [edi + 0x108], 8
mov byte [edi + 0x10c], al
mov al, byte [esp + 0x2e]
mov byte [edi + 0x10f], al
movzx eax, word [esp + 0x2c]
mov word [edi + 0x10d], ax
mov word [edi + 0x110], 0
mov eax, dword [esp + 0x98]
mov dword [edi + 0x112], eax
movzx eax, word [esp + 0x9c]
mov word [edi + 0x116], ax
mov eax, dword [esp + 0x68]
mov dword [edi + 0x118], 2
mov dword [edi + 0x120], eax
mov eax, dword [esp + 0x4c]
mov dword [edi + 0x124], eax
mov byte [edi + 0x128], 0
movzx eax, word [esp + 0x28]
mov word [edi + 0x129], ax
mov al, byte [esp + 0x2a]
mov byte [edi + 0x12b], al
movsd xmm0, qword [esp + 0x1f8]
movsd qword [edi + 0x12c], xmm0
mov eax, dword [esp + 0x200]
mov dword [edi + 0x134], eax
mov byte [edi + 0x138], 3
mov al, byte [esp + 0x26]
mov byte [edi + 0x13b], al
movzx eax, word [esp + 0x24]
mov word [edi + 0x139], ax
mov eax, dword [esp + 0xfc]
mov dword [edi + 0x13c], eax
mov byte [edi + 0x140], 0
mov ecx, dword [esp + 0x1eb]
mov eax, dword [esp + 0x1e8]
mov dword [edi + 0x144], ecx
mov ecx, ebx
mov dword [edi + 0x141], eax
mov dword [edi + 0x148], 0
mov dword [edi + 0x154], 0
add ecx, 8
push 0
call fcn.10108610
add esp, 4
lock dec dword [ebx]
je 0x1007ccfc
jmp 0x1007cd03
movzx eax, word [esp + 0x44]
movsd xmm0, qword [esp + 0x228]
movsd xmm1, qword [esp + 0xae8]
mov ecx, dword [esp + 0x14b]
mov word [esp + 0x48], ax
mov al, byte [esp + 0x46]
movsd qword [esp + 0x150], xmm0
movsd xmm0, qword [esp + 0xae0]
movsd qword [esp + 0x2d20], xmm1
movsd xmm1, qword [esp + 0x408]
mov dword [esp + 0x1eb], ecx
mov byte [esp + 0x4a], al
mov eax, dword [esp + 0x230]
movsd qword [esp + 0x2d18], xmm0
movsd xmm0, qword [esp + 0x400]
movsd qword [esp + 0x760], xmm1
movsd xmm1, qword [esp + 0x2658]
mov dword [esp + 0x158], eax
mov eax, dword [esp + 0x265f]
movsd qword [esp + 0x758], xmm0
movsd xmm0, qword [esp + 0x2650]
mov dword [esp + 0x1bdf], eax
mov al, byte [esp + 0x42]
movsd qword [esp + 0x1bd8], xmm1
movsd qword [esp + 0x1bd0], xmm0
movsd xmm1, qword [esp + 0x24f]
movsd xmm0, qword [esp + 0x248]
mov byte [esp + 0x2e], al
movzx eax, word [esp + 0x40]
movsd qword [esp + 0x217], xmm1
movsd qword [esp + 0x210], xmm0
movsd xmm0, qword [esp + 0x280]
mov word [esp + 0x2c], ax
movzx eax, word [esp + 0xf0]
movsd qword [esp + 0x1f8], xmm0
mov word [esp + 0x9c], ax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x98], eax
mov al, byte [esp + 0x66]
mov byte [esp + 0x2a], al
movzx eax, word [esp + 0x64]
mov word [esp + 0x28], ax
mov eax, dword [esp + 0x288]
mov dword [esp + 0x200], eax
mov al, byte [esp + 0x3e]
mov byte [esp + 0x26], al
movzx eax, word [esp + 0x3c]
mov word [esp + 0x24], ax
mov eax, dword [esp + 0x148]
mov dword [esp + 0x1e8], eax
call sub.KERNEL32.dll_GetProcessHeap
push 0x158
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1007d022
mov dword [eax], 0x8c
mov edi, eax
mov dword [eax + 0x10], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x14], 0x10399a70
mov dword [eax + 0x18], 0
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xd8]
mov dword [edi + 0x20], eax
mov eax, dword [esp + 0x1c]
mov dword [edi + 0x24], eax
mov eax, dword [esp + 0x30]
mov dword [edi + 0x28], eax
mov eax, dword [esp + 0xe0]
mov dword [edi + 0x2c], eax
mov byte [edi + 0x30], 0
mov al, byte [esp + 0x4a]
mov byte [edi + 0x33], al
movzx eax, word [esp + 0x48]
mov word [edi + 0x31], ax
mov eax, dword [esp + 0x50]
mov dword [edi + 0x34], eax
mov eax, dword [esp + 0x108]
mov dword [edi + 0x38], eax
mov eax, dword [esp + 0x104]
mov dword [edi + 0x3c], eax
mov eax, dword [esp + 0xc]
mov dword [edi + 0x40], eax
mov eax, dword [esp + 0x20]
mov dword [edi + 0x44], eax
mov eax, dword [esp + 0x90]
mov dword [edi + 0x48], 0
mov dword [edi + 0x50], eax
mov eax, dword [esp + 0x94]
mov dword [edi + 0x4c], eax
mov eax, dword [esp + 0x110]
mov dword [edi + 0x54], eax
mov eax, dword [esp + 0x10c]
mov dword [edi + 0x58], eax
mov eax, dword [esp + 0x158]
mov dword [edi + 0x64], eax
movsd xmm0, qword [esp + 0x150]
movsd qword [edi + 0x5c], xmm0
mov dword [edi + 0x6c], 0
mov dword [edi + 0x68], 0
movsd xmm0, qword [esp + 0x2d18]
movsd xmm1, qword [esp + 0x2d20]
movsd qword [edi + 0x78], xmm1
movsd qword [edi + 0x70], xmm0
mov dword [edi + 0x84], 0
mov dword [edi + 0x80], 3
movsd xmm0, qword [esp + 0x758]
movsd xmm1, qword [esp + 0x760]
movsd qword [edi + 0x90], xmm1
movsd qword [edi + 0x88], xmm0
mov dword [edi + 0x98], 0
mov byte [edi + 0x9c], 0xb
mov eax, dword [esp + 0x1bdf]
mov dword [edi + 0xac], eax
mov al, byte [esp + 0xf4]
movsd xmm0, qword [esp + 0x1bd0]
movsd xmm1, qword [esp + 0x1bd8]
movsd qword [edi + 0xa5], xmm1
movsd qword [edi + 0x9d], xmm0
mov dword [edi + 0xb0], 0
mov word [edi + 0xb8], 0x100
mov byte [edi + 0xba], al
mov word [edi + 0xbb], 0x200
mov eax, dword [esp + 0x34]
movsd xmm0, qword [esp + 0x210]
movsd xmm1, qword [esp + 0x217]
movsd qword [edi + 0xc4], xmm1
movsd qword [edi + 0xbd], xmm0
mov dword [edi + 0xcc], 1
mov dword [edi + 0xd0], 0
mov dword [edi + 0xd4], 0
mov dword [edi + 0xd8], 1
mov byte [edi + 0xdc], al
mov eax, dword [esp + 0xf8]
mov byte [edi + 0xdd], 0
mov dword [edi + 0xe0], eax
mov eax, dword [esp + 0x100]
mov dword [edi + 0xe4], ecx
mov dword [edi + 0xe8], eax
mov eax, dword [esp + 0x8c]
mov dword [edi + 0xec], 0x2000
mov dword [edi + 0xf0], 0
mov dword [edi + 0xf4], 0
mov dword [edi + 0xf8], ecx
mov dword [edi + 0xfc], 0
mov dword [edi + 0x100], 0
mov dword [edi + 0x104], eax
mov eax, dword [esp + 0x54]
mov dword [edi + 0x108], 8
mov byte [edi + 0x10c], al
mov al, byte [esp + 0x2e]
mov byte [edi + 0x10f], al
movzx eax, word [esp + 0x2c]
mov word [edi + 0x10d], ax
mov word [edi + 0x110], 0
mov eax, dword [esp + 0x98]
mov dword [edi + 0x112], eax
movzx eax, word [esp + 0x9c]
mov word [edi + 0x116], ax
mov eax, dword [esp + 0x68]
mov dword [edi + 0x118], 2
mov dword [edi + 0x120], eax
mov eax, dword [esp + 0x4c]
mov dword [edi + 0x124], eax
mov byte [edi + 0x128], 0
movzx eax, word [esp + 0x28]
mov word [edi + 0x129], ax
mov al, byte [esp + 0x2a]
mov byte [edi + 0x12b], al
movsd xmm0, qword [esp + 0x1f8]
movsd qword [edi + 0x12c], xmm0
mov eax, dword [esp + 0x200]
mov dword [edi + 0x134], eax
mov byte [edi + 0x138], 3
mov al, byte [esp + 0x26]
mov byte [edi + 0x13b], al
movzx eax, word [esp + 0x24]
mov word [edi + 0x139], ax
mov eax, dword [esp + 0xfc]
mov dword [edi + 0x13c], eax
mov byte [edi + 0x140], 0
mov eax, dword [esp + 0x1e8]
mov ecx, dword [esp + 0x1eb]
mov dword [edi + 0x144], ecx
mov dword [edi + 0x141], eax
mov dword [edi + 0x148], 0
mov dword [edi + 0x154], 0
mov dword [esp + 0x1bd0], esi
call fcn.100ff440
test eax, eax
je 0x1007d02c
mov eax, dword [eax]
lea ecx, [esp + 0x1bd0]
mov edx, edi
test eax, eax
je 0x1007ccc1
push eax
jmp 0x1007ccc3
push 0
call fcn.10107f50
add esp, 4
mov eax, dword [esp + 0x260]
test eax, eax
je 0x1007cd03
cmp eax, 1
jne 0x1007ccf0
mov eax, dword [esp + 0x264]
lock dec dword [eax]
jne 0x1007cd03
mov ecx, esi
call fcn.10069f30
jmp 0x1007cd03
mov ebx, dword [esp + 0x264]
lock dec dword [ebx]
jne 0x1007cd03
mov ecx, esi
call fcn.1006a000
mov ecx, 0x44
mov eax, 0x8c
lock cmpxchg dword [edi], ecx
je 0x1007cd1d
mov eax, dword [edi + 0x14]
push edi
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0x298]
test eax, eax
je 0x1007cd39
lock dec dword [eax]
jne 0x1007cd39
lea ecx, [esp + 0x298]
call fcn.10116ed0
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x6c]
mov edi, dword [esp + 0x18]
xor esi, esi
mov edx, dword [esp + 0x14]
mov dword [eax], esi
mov dword [eax + 4], edx
mov dword [eax + 0xc], edi
mov dword [eax + 8], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, 0x104113a4
call fcn.10109f40
test al, al
jne 0x1007b83d
jmp 0x1007b928
mov ecx, str.assertion_failed:_mid___self.len__
mov edx, 0x23
push 0x103c8fa4
jmp 0x1007ce4f
ud2
mov ecx, str._async_fn__resumed_after_completion
mov edx, 0x23
push 0x10399a24
jmp 0x1007ce4f
mov ecx, 4
jmp 0x1007cfdf
mov ecx, 0x10398dbc
mov edx, 0x36
push 0x10398df4
jmp 0x1007d018
mov ecx, str._async_fn__resumed_after_completion
mov edx, 0x23
push 0x10399a14
jmp 0x1007ce4f
lea eax, [esp + 0x1bd0]
push 0x170
push eax
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [ebx + 0x170], 2
add ebx, 0x174
lea esi, [esp + 0x2650]
mov ecx, 0x11
mov edx, 0x28
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x103c9a4f
push 0x10398e5c
jmp 0x1007d018
mov ecx, 0x24
jmp 0x1007cfdf
mov ecx, 0x1037ee52
mov edx, 0x4c
push 0x1037eea0
call fcn.10016fa0
add esp, 4
ud2
mov ecx, str._async_fn__resumed_after_completion
mov edx, 0x23
push 0x10399974
call fcn.10008540
add esp, 4
ud2
mov ecx, 0xa90
jmp 0x1007d12c
mov ecx, 0x34
jmp 0x1007cfdf
mov ecx, 0x18
jmp 0x1007cfdf
mov ecx, str.spawning_not_enabled_for_runtime
mov edx, 0x20
push 0x10398f34
jmp 0x1007d018
mov ecx, 0x2000
jmp 0x1007ceb2
mov ecx, 0x1c0
jmp 0x1007cfdf
mov ecx, 0x4000
jmp 0x1007ceb2
mov ecx, 0x160
jmp 0x1007cfdf
mov ecx, 0x1000
mov edx, 1
call fcn.100067d0
ud2
mov ecx, str.invalid_SETTINGS_frame
mov edx, 0x16
mov byte [esp + 0x11b0], al
push 0x103998f4
push 0x103998e4
push esi
jmp 0x1007cfab
mov ecx, 0x1037955a
mov edx, 0x22
mov dword [esp + 0xae0], 3
push 0x1037958c
push 0x1037957c
lea eax, [esp + 0xae8]
jmp 0x1007cfaa
mov ecx, str.invalid_initial_window_size
mov edx, 0x1b
mov dword [esp + 0x11b0], 3
push 0x1037c12c
push 0x1037957c
jmp 0x1007cfa3
lea eax, [esp + 0x150]
mov ecx, 0x103c9a77
mov edx, 0x46
push 0x103c9ac0
push 0x1037c6fc
jmp 0x1007cfaa
mov ecx, 0x188
jmp 0x1007d12c
mov ecx, 0x103986bd
mov edx, 0x22
push 0x10399904
jmp 0x1007d11d
mov ecx, 8
jmp 0x1007cfdf
mov ecx, 0x30
jmp 0x1007cfdf
mov ecx, 0x1c
jmp 0x1007cfdf
xor eax, eax
mov ecx, dword [esp + 0x18]
mov edx, 0x2b
mov dword [esp + 0x11b0], ecx
mov ecx, 0x103c93eb
mov byte [esp + 0x11b4], al
push 0x1039993c
push 0x1039992c
lea eax, [esp + 0x11b8]
push eax
call fcn.1000aa20
add esp, 0xc
ud2
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 0x1007d11d
mov ecx, 0x128
jmp 0x1007d12c
mov ecx, 0x140
jmp 0x1007cfdf
mov ecx, 0x14
mov edx, 4
call fcn.100067d0
ud2
mov ecx, str.conn.ping_pong
mov edx, 0xe
push 0x103999cc
jmp 0x1007d11d
mov ecx, 0x38
jmp 0x1007d12c
mov ecx, str.assertion_failed:_DEFAULT_MAX_FRAME_SIZE_as_usize___val__val___MAX_MAX_FRAME_SIZE_as_usize
mov edx, 0x5e
push 0x103998bc
call fcn.1004d820
add esp, 4
ud2
mov ecx, 0x158
jmp 0x1007d12c
lea eax, [esp + 0x150]
mov ecx, 0x103c9a77
mov edx, 0x46
push 0x103c9ac0
push 0x103a1ea0
jmp 0x1007cfaa
mov ecx, 0x103986bd
mov edx, 0x22
push 0x1039981c
jmp 0x1007d11d
mov ecx, 0xaa8
jmp 0x1007d12c
lea eax, [esp + 0x2650]
lea ecx, [esp + 0x1bd0]
mov edx, 0x10399798
mov dword [esp + 0x2650], 0x10399784
mov dword [esp + 0x1bd0], 0x10399788
mov dword [esp + 0x1bd4], 2
mov dword [esp + 0x1bd8], 0
mov dword [esp + 0x2654], 0x10008600
mov dword [esp + 0x1be0], eax
mov dword [esp + 0x1be4], 1
call fcn.100f94f0
ud2
mov ecx, 0x103986bd
mov edx, 0x22
push 0x10399774
jmp 0x1007d11d
mov ecx, 0xa30
jmp 0x1007d12c
mov ecx, 0xad8
jmp 0x1007d12c
mov ecx, 0x103986bd
mov edx, 0x22
push 0x10399a3c
jmp 0x1007d11d
mov ecx, 0x103986bd
mov edx, 0x22
push 0x1039984c
jmp 0x1007d11d
mov ecx, 0x103986bd
mov edx, 0x22
push 0x1037c144
call fcn.1000a9c0
add esp, 4
ud2
mov ecx, 0xa60
mov edx, 8
call fcn.100067d0
ud2
xor al, 1
jmp 0x1007cf7d