Function at 0x10077530
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.10353c30
cmp dword [edx + 0x170], 2
je 0x1007cafe
movzx eax, byte [edx + 0x1ac]
mov ebx, edx
mov dword [esp + 0x114], ecx
test eax, eax
je 0x100775ef
cmp eax, 3
jne 0x1007cae0
movzx eax, byte [ebx + 0x164]
lea edx, [ebx + 0x164]
mov dword [esp + 0x10], edx
test eax, eax
je 0x100778eb
cmp eax, 3
jne 0x1007cb12
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 0x10077a25
cmp eax, 3
jne 0x1007cb90
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 0x10077f3b
mov eax, dword [0x104debf8]
cmp eax, 5
jb 0x100775fe
mov eax, dword [0x104debfc]
mov eax, dword [0x104d53e8]
dec eax
cmp eax, 5
jb 0x10077742
mov ecx, dword [0x104d4d08]
test ecx, ecx
je 0x10077742
mov al, 1
cmp ecx, 1
je 0x1007762d
cmp ecx, 2
jne 0x10079783
mov al, 2
movzx edx, al
mov ecx, 0x104d4d08
call fcn.10109d10
test al, al
je 0x10077742
mov ecx, dword [0x104d4d0c]
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x1007ce1d
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], 0x1041a9dc
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], 0x10010990
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], 0x10419960
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.1010a570
call sub.KERNEL32.dll_GetProcessHeap
push 0xa90
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1007cba9
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 0x1007cbb3
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 0x1007cadc
call sub.KERNEL32.dll_GetProcessHeap
push 0x18
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1007cbbd
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 0x1007cadc
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 0x1007790d
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 0x10077a5a
lock inc dword [esi]
jle 0x1007cadc
mov eax, dword [ebx + 0x16c]
mov dword [esp + 8], eax
jmp 0x10077a5c
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 0x10077b23
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 0x1007cbdb
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 0x1007cd23
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 0x100779ed
mov esi, dword [ebx + 0x174]
cmp ecx, 1
mov dword [esp + 0x54], eax
jne 0x100793b3
mov ecx, dword [ebx + 0x17c]
cmp ecx, 0x1fff
jbe 0x1007cdba
mov esi, 0x2000
mov dword [esp + 0xd8], ecx
mov dword [esp + 0x34], 0
jmp 0x100793be
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 0x10077db0
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 0x1007cb77
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 [0x104debf8]
cmp eax, 4
jb 0x10077dee
mov eax, dword [0x104debfc]
mov eax, dword [0x104d53e8]
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 8]
add eax, 0xfffffffe
cmp eax, 4
jb 0x10077f16
mov ecx, dword [0x104d4798]
test ecx, ecx
je 0x10077f16
mov al, 1
cmp ecx, 1
je 0x10077e27
cmp ecx, 2
jne 0x10079768
mov al, 2
movzx edx, al
mov ecx, 0x104d4798
call fcn.10109d10
mov edx, dword [esp + 8]
test al, al
je 0x10077f16
mov ecx, dword [0x104d479c]
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x1007cd9c
mov edx, dword [ecx + 0x2c]
mov esi, dword [ecx + 0x34]
mov edi, dword [ecx + 0x38]
mov dword [esp + 0x758], 0
mov dword [esp + 0x11b0], 0x1041aa24
mov dword [esp + 0x11b4], 1
mov dword [esp + 0x11b8], 0
mov dword [esp + 0x11c0], 0x1044b054
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], 0x10419960
mov dword [esp + 0x400], edi
mov dword [esp + 0x404], 1
mov dword [esp + 0x408], edx
lea edx, [esp + 0x400]
call fcn.1010a570
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 0x1007800d
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 0x10077fe6
mov ecx, dword [esp + 0x11b4]
cmp eax, 1
je 0x10077fd8
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 0x1007cac8
add edx, ecx
test ecx, ecx
mov dword [ebx + 0x124], edx
mov dword [ebx + 0x128], eax
jne 0x10077f50
mov dword [esp + 0x20], 0
mov eax, 0xe
mov cl, 1
jmp 0x100796df
cmp cl, 3
je 0x1007800d
cmp cl, 4
jne 0x100796ce
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 0x1007caa9
mov eax, dword [0x104debf8]
cmp eax, 4
jb 0x1007801c
mov eax, dword [0x104debfc]
mov eax, dword [0x104d53e8]
mov esi, dword [esp + 0xc]
add eax, 0xfffffffe
cmp eax, 4
jb 0x10078138
mov ecx, dword [0x104d47a4]
test ecx, ecx
je 0x10078138
mov al, 1
cmp ecx, 1
je 0x10078051
cmp ecx, 2
jne 0x1007979a
mov al, 2
movzx edx, al
mov ecx, 0x104d47a4
call fcn.10109d10
test al, al
je 0x10078138
mov ecx, dword [0x104d47a8]
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x1007ce4d
mov edx, dword [ecx + 0x2c]
mov esi, dword [ecx + 0x34]
mov edi, dword [ecx + 0x38]
mov dword [esp + 0x758], 0
mov dword [esp + 0x11b0], 0x1041aab4
mov dword [esp + 0x11b4], 1
mov dword [esp + 0x11b8], 0
mov dword [esp + 0x11c0], 0x1044b054
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], 0x10419960
call fcn.1010a570
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 0x1007cbe2
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 0x1007cbec
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 0x1007cbdb
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 0x1007cbf3
mov edi, eax
call sub.KERNEL32.dll_GetProcessHeap
push 0x1000
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1007cbfd
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 0x10078690
mov ecx, dword [ebx + 0xf4]
lea edx, [ecx - 0x4000]
cmp edx, 0xffc000
jae 0x1007cd59
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 0x100786b0
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.1007ce90
cmp al, 0xd
jne 0x1007cc0e
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.1001a8b0
test eax, eax
jne 0x1007cc2f
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.1001a8b0
test eax, eax
jne 0x1007cc5a
add dword [esp + 0xb4], 0xffff
mov eax, dword [0x104debf8]
cmp eax, 5
jb 0x10078991
mov eax, dword [0x104debfc]
mov eax, dword [0x104d53e8]
dec eax
cmp eax, 5
jb 0x10078abf
mov ecx, dword [0x104d4c00]
test ecx, ecx
je 0x10078abf
mov al, 1
cmp ecx, 1
je 0x100789c0
cmp ecx, 2
jne 0x100797b1
mov al, 2
movzx edx, al
mov ecx, 0x104d4c00
call fcn.10109d10
test al, al
je 0x10078abf
mov ecx, dword [0x104d4c04]
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x1007ce5e
mov edx, dword [ecx + 0x2c]
mov esi, dword [ecx + 0x34]
mov edi, dword [ecx + 0x38]
mov dword [esp + 0xae0], 0
mov dword [esp + 0x11b0], 0x103fd3ac
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], 0x10023010
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], 0x103eee6c
call fcn.1010a570
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.100fec40
test eax, eax
je 0x1007cc7b
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 0x1007caf4
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 0x1007cc98
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], closesocket
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], closesocket
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], 0x104005c0
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 0x1007caf4
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 0x1007cb6d
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 [0x104d53e8]
add eax, 0xfffffffe
cmp eax, 4
jb 0x100797da
mov ecx, dword [0x104d4408]
test ecx, ecx
je 0x100797da
mov al, 1
cmp ecx, 1
je 0x100792d6
cmp ecx, 2
jne 0x100797c8
mov al, 2
movzx edx, al
mov ecx, 0x104d4408
call fcn.10109d10
test al, al
je 0x100797da
mov edx, dword [0x104d440c]
mov eax, dword [edx + 0x30]
test eax, eax
je 0x1007cca2
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__], 0x1041ab84
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], 0x1041ab8c
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.101097e0
add esp, 4
jmp 0x100798dd
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 0x1007cd2a
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 0x1007ae69
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 0x10079759
mov esi, dword [esi + 0xbc]
cmp dword [eax + 8], 9
jae 0x10079749
call sub.KERNEL32.dll_GetProcessHeap
push esi
jmp 0x10079751
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 0x10079d62
mov ecx, 0x104d4798
call fcn.10109c60
mov edx, dword [esp + 8]
test al, al
jne 0x10077e27
jmp 0x10077f16
mov ecx, 0x104d4d08
call fcn.10109c60
test al, al
jne 0x1007762d
jmp 0x10077742
mov ecx, 0x104d47a4
call fcn.10109c60
test al, al
jne 0x10078051
jmp 0x10078138
mov ecx, 0x104d4c00
call fcn.10109c60
test al, al
jne 0x100789c0
jmp 0x10078abf
mov ecx, 0x104d4408
call fcn.10109c60
test al, al
jne 0x100792d6
mov eax, dword [0x104d440c]
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 0x1007cca2
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__], 0x1041ab84
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], 0x1041ab8c
mov dword [esp + 0xe50], ecx
lea ecx, [esp + 0xae0]
mov dword [esp + 0xe54], 1
mov dword [esp + 0xe58], eax
call fcn.10109b60
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.100f4810
mov eax, dword [0x104dec50]
test eax, eax
jne 0x1007abff
mov al, byte [edi + 0xc]
test al, al
jne 0x1007cccb
inc dword [edi + 0x184]
mov eax, dword [0x104dec50]
test eax, eax
jne 0x1007ac22
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
mov eax, dword [0x104dec60]
test eax, eax
je 0x10079a7b
cmp eax, 0x100f30b0
jne 0x10079aa0
mov eax, dword [esi]
mov byte [eax + 0x18], 0
push eax
call sub.KERNEL32.dll_LeaveCriticalSection
jmp 0x10079aca
mov ecx, 0x10421629
mov edx, 0x17
call fcn.100f2ce0
test eax, eax
mov eax, 0x100f30b0
cmovne eax, edx
mov dword [0x104dec60], eax
cmp eax, 0x100f30b0
je 0x10079a6d
mov eax, dword [0x104dec78]
test eax, eax
jne 0x10079ac7
mov ecx, 0x10421918
mov edx, 0x17
call fcn.100f2ce0
test eax, eax
mov eax, 0x100f4ef0
cmovne eax, edx
mov dword [0x104dec78], eax
push esi
call eax
lock inc dword [edi]
mov esi, dword [esp + 0x20]
jle 0x1007cadc
lock inc dword [esi]
jle 0x1007cadc
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 0x10079d1e
mov edx, dword [ebx + 0xc8]
lea ecx, [esp + 0x758]
call fcn.1007fcd0
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 0x10079e11
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.10039120
mov dword [esp + 0x1c], eax
mov al, 1
lea edi, [esp + 0x3780]
lea ecx, [esp + 0x3788]
mov dword [esp + 8], eax
jmp 0x10079e36
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 0x10079e9e
mov eax, dword [ebx + 0x15c]
test eax, eax
je 0x10079e80
lock dec dword [eax]
jne 0x10079e80
lea ecx, [ebx + 0x15c]
call fcn.10116bf0
lea ecx, [ebx + 0x150]
call fcn.100662d0
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x34]
mov al, 1
mov dword [esp + 8], eax
jmp 0x1007ad53
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 0x1007caf4
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 0x1007ccb6
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 0x1007ccbd
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 8], 1
mov dword [eax + 0xc], closesocket
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 0x1007cadc
call sub.KERNEL32.dll_GetProcessHeap
push 4
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
lea edi, [esp + 0x11b0]
je 0x1007caf4
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 0x1007ccc4
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 0x1007cb6d
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 0x1007cadc
mov ecx, dword [ebx + 0x158]
mov dword [esp + 0x50], eax
cmp byte [ecx + 0xc], 0
je 0x1007a3a6
cmp dword [esp + 0x1118], 0
jne 0x1007cd3b
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 0x1007cb6d
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 0x1007cadc
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 0x1007caf4
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 0x1007cd4f
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 0x1007cadc
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 0x1007a4a6
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 0x1007cdb0
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 0x1041ac4c
push esi
push edi
mov eax, dword [esp + 0x78]
call dword [eax + 0xc]
add esp, 0xc
mov esi, dword [esp + 0x10]
jmp 0x1007acfe
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 0x1007a757
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 0x1007ce2e
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 0x1041abf4
push esi
push edi
mov eax, dword [esp + 0x20]
call dword [eax + 0xc]
add esp, 0xc
mov esi, dword [esp + 0x10]
jmp 0x1007acf6
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.101076e0
cmp eax, 3
je 0x1007cd05
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 0x1007a91c
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x400]
cmp edi, 2
jne 0x1007cbc7
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 0x1007ce35
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], 0x1041ac5c
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.10108330
add esp, 4
lock dec dword [esi]
jne 0x1007a730
lea ecx, [esp + 0xcc]
call fcn.10069d40
mov esi, dword [esp + 0x10]
mov ecx, 0x44
mov eax, 0x8c
lock cmpxchg dword [edi], ecx
je 0x1007acfe
mov eax, dword [edi + 0x14]
push edi
call dword [eax + 0xc]
add esp, 4
jmp 0x1007acfe
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.101076e0
cmp eax, 3
je 0x1007cd05
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 0x1007aac3
cmp edi, 2
jne 0x1007cbc7
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 0x1007ce77
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], 0x1041ac04
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.10108330
mov eax, esi
add esp, 4
mov esi, dword [esp + 0x10]
jmp 0x1007accb
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 0x1007ce35
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], 0x1041ac70
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.100ff160
test eax, eax
je 0x1007cd7c
mov eax, dword [eax]
lea ecx, [esp + 0x1bd0]
mov edx, edi
test eax, eax
je 0x1007ac38
push eax
jmp 0x1007ac3a
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 0x1007ce77
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], 0x1041ac18
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.100ff160
mov esi, dword [esp + 0x10]
test eax, eax
je 0x1007cd7c
mov eax, dword [eax]
lea ecx, [esp + 0x1bd0]
mov edx, edi
test eax, eax
je 0x1007ac90
push eax
jmp 0x1007ac92
call fcn.100fa7c0
mov cl, byte [edi + 0xc]
test cl, cl
jne 0x1007ce88
inc dword [edi + 0x184]
test al, al
jne 0x10079a4a
jmp 0x10079a57
call fcn.100fa7c0
test al, al
jne 0x10079a57
mov byte [edi + 0xc], 1
jmp 0x10079a57
push 0
call fcn.10107c70
add esp, 4
mov eax, dword [esp + 0xc8]
test eax, eax
je 0x1007a734
cmp eax, 1
jne 0x1007ac77
mov eax, dword [esp + 0xcc]
lock dec dword [eax]
jne 0x1007a734
lea ecx, [esp + 0xcc]
call fcn.10069c70
jmp 0x1007a734
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0xcc]
lock dec dword [esi]
je 0x1007a724
jmp 0x1007a730
push 0
call fcn.10107c70
add esp, 4
mov eax, dword [esp + 0x400]
test eax, eax
je 0x1007acdc
cmp eax, 1
jne 0x1007acc4
mov eax, dword [esp + 0x404]
lock dec dword [eax]
jne 0x1007acdc
lea ecx, [esp + 0x404]
call fcn.10069c70
jmp 0x1007acdc
mov eax, dword [esp + 0x404]
lock dec dword [eax]
jne 0x1007acdc
lea ecx, [esp + 0x404]
call fcn.10069d40
mov ecx, 0x44
mov eax, 0x8c
lock cmpxchg dword [edi], ecx
je 0x1007acf6
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.10066190
cmp byte [esp + 8], 0
je 0x1007ae28
mov eax, dword [ebx + 0x1a0]
lea esi, [ebx + 0x1a0]
lock dec dword [eax]
jne 0x1007ad8f
mov ecx, esi
call fcn.100637f0
mov eax, dword [esi + 4]
add esi, 4
lock dec dword [eax + 0x20]
jne 0x1007aded
mov ecx, dword [esi]
mov edx, 1
lock xadd dword [ecx + 0xc], edx
add ecx, 8
call fcn.10063830
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 0x1007adc0
test eax, eax
jne 0x1007aded
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 0x1007aded
push eax
call dword [edx + 4]
add esp, 4
mov eax, dword [esi]
lock dec dword [eax]
jne 0x1007adfb
mov ecx, esi
call fcn.100639d0
mov eax, dword [ebx + 0x168]
test eax, eax
je 0x1007afe7
mov cl, 1
mov dword [esp + 0x10], ecx
lock dec dword [eax]
jne 0x1007afed
lea ecx, [ebx + 0x168]
call fcn.10116bf0
jmp 0x1007afed
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 0x1007afdd
lock dec dword [eax]
jne 0x1007afdd
lea ecx, [ebx + 0x168]
call fcn.10116bf0
mov dword [esp + 0x10], 0
jmp 0x1007affd
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 0x1007cb23
mov edi, ebx
mov ebx, dword [ebx + 0x1b0]
mov eax, dword [edi + 0x1b4]
mov ecx, edi
mov dword [esp + 8], eax
call fcn.10066050
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 0x1007b3ad
mov edi, dword [esp + 0x18]
mov esi, 1
test ebx, ebx
je 0x1007b39d
lock dec dword [ebx]
jne 0x1007b39d
lea ecx, [esp + 0x2e0]
call fcn.10116bf0
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x6c]
jmp 0x1007ca9a
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 [0x104debf8]
cmp eax, 5
jb 0x1007b55a
mov eax, dword [0x104debfc]
mov eax, dword [0x104d53e8]
mov edi, dword [esp + 0xc]
dec eax
cmp eax, 5
jb 0x1007b678
mov ecx, dword [0x104d4e34]
test ecx, ecx
je 0x1007b678
mov al, 1
cmp ecx, 1
je 0x1007b58d
cmp ecx, 2
jne 0x1007cab1
mov al, 2
movzx edx, al
mov ecx, 0x104d4e34
call fcn.10109d10
test al, al
je 0x1007b678
mov ecx, dword [0x104d4e38]
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x1007ce3c
mov edx, dword [ecx + 0x2c]
mov esi, dword [ecx + 0x34]
mov edi, dword [ecx + 0x38]
mov dword [esp + 0x2650], 0
mov dword [esp + 0x1bd0], 0x1041aca4
mov dword [esp + 0x1bd4], 1
mov dword [esp + 0x1bd8], 0
mov dword [esp + 0x1be0], 0x1044b054
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], 0x10419960
mov dword [esp + 0x3780], eax
mov dword [esp + 0x3784], 1
mov dword [esp + 0x3788], edx
lea edx, [esp + 0x3780]
call fcn.1010a570
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 0x1007bcf7
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 0x1007cd19
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 0x1041acbc
push eax
push ebx
mov eax, dword [esp + 0x14]
call dword [eax + 0xc]
add esp, 0xc
jmp 0x1007ca6d
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.101076e0
cmp eax, 3
je 0x1007cd05
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 0x1007c502
cmp eax, 2
jne 0x1007cbc7
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 0x1007cd72
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], 0x1041accc
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.10108330
add esp, 4
lock dec dword [ebx]
je 0x1007ca4c
jmp 0x1007ca53
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 0x1007cd72
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], 0x1041ace0
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.100ff160
test eax, eax
je 0x1007cd7c
mov eax, dword [eax]
lea ecx, [esp + 0x1bd0]
mov edx, edi
test eax, eax
je 0x1007ca11
push eax
jmp 0x1007ca13
push 0
call fcn.10107c70
add esp, 4
mov eax, dword [esp + 0x260]
test eax, eax
je 0x1007ca53
cmp eax, 1
jne 0x1007ca40
mov eax, dword [esp + 0x264]
lock dec dword [eax]
jne 0x1007ca53
mov ecx, esi
call fcn.10069c70
jmp 0x1007ca53
mov ebx, dword [esp + 0x264]
lock dec dword [ebx]
jne 0x1007ca53
mov ecx, esi
call fcn.10069d40
mov ecx, 0x44
mov eax, 0x8c
lock cmpxchg dword [edi], ecx
je 0x1007ca6d
mov eax, dword [edi + 0x14]
push edi
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0x298]
test eax, eax
je 0x1007ca89
lock dec dword [eax]
jne 0x1007ca89
lea ecx, [esp + 0x298]
call fcn.10116bf0
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, 0x104d4e34
call fcn.10109c60
test al, al
jne 0x1007b58d
jmp 0x1007b678
mov ecx, str.assertion_failed:_mid___self.len__
mov edx, 0x23
push 0x1044a214
jmp 0x1007cb9f
ud2
mov ecx, str._async_fn__resumed_after_completion
mov edx, 0x23
push 0x1041ac94
jmp 0x1007cb9f
mov ecx, 4
jmp 0x1007cd2f
mov ecx, 0x1041a02c
mov edx, 0x36
push 0x1041a064
jmp 0x1007cd68
mov ecx, str._async_fn__resumed_after_completion
mov edx, 0x23
push 0x1041ac84
jmp 0x1007cb9f
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, 0x1044acbf
push 0x1041a0cc
jmp 0x1007cd68
mov ecx, 0x24
jmp 0x1007cd2f
mov ecx, 0x104000c2
mov edx, 0x4c
push 0x10400110
call fcn.10016d20
add esp, 4
ud2
mov ecx, str._async_fn__resumed_after_completion
mov edx, 0x23
push 0x1041abe4
call fcn.100082b0
add esp, 4
ud2
mov ecx, 0xa90
jmp 0x1007ce7c
mov ecx, 0x34
jmp 0x1007cd2f
mov ecx, 0x18
jmp 0x1007cd2f
mov ecx, str.spawning_not_enabled_for_runtime
mov edx, 0x20
push 0x1041a1a4
jmp 0x1007cd68
mov ecx, 0x2000
jmp 0x1007cc02
mov ecx, 0x1c0
jmp 0x1007cd2f
mov ecx, 0x4000
jmp 0x1007cc02
mov ecx, 0x160
jmp 0x1007cd2f
mov ecx, 0x1000
mov edx, 1
call fcn.10006540
ud2
mov ecx, str.invalid_SETTINGS_frame
mov edx, 0x16
mov byte [esp + 0x11b0], al
push 0x1041ab64
push 0x1041ab54
push esi
jmp 0x1007ccfb
mov ecx, 0x103fa7ca
mov edx, 0x22
mov dword [esp + 0xae0], 3
push 0x103fa7fc
push 0x103fa7ec
lea eax, [esp + 0xae8]
jmp 0x1007ccfa
mov ecx, str.invalid_initial_window_size
mov edx, 0x1b
mov dword [esp + 0x11b0], 3
push 0x103fd39c
push 0x103fa7ec
jmp 0x1007ccf3
lea eax, [esp + 0x150]
mov ecx, 0x1044ace7
mov edx, 0x46
push 0x1044ad30
push 0x103fd96c
jmp 0x1007ccfa
mov ecx, 0x188
jmp 0x1007ce7c
mov ecx, 0x1041992d
mov edx, 0x22
push 0x1041ab74
jmp 0x1007ce6d
mov ecx, 8
jmp 0x1007cd2f
mov ecx, 0x30
jmp 0x1007cd2f
mov ecx, 0x1c
jmp 0x1007cd2f
xor eax, eax
mov ecx, dword [esp + 0x18]
mov edx, 0x2b
mov dword [esp + 0x11b0], ecx
mov ecx, 0x1044a65b
mov byte [esp + 0x11b4], al
push 0x1041abac
push 0x1041ab9c
lea eax, [esp + 0x11b8]
push eax
call fcn.1000a790
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 0x1041a160
jmp 0x1007ce6d
mov ecx, 0x128
jmp 0x1007ce7c
mov ecx, 0x140
jmp 0x1007cd2f
mov ecx, 0x14
mov edx, 4
call fcn.10006540
ud2
mov ecx, str.conn.ping_pong
mov edx, 0xe
push 0x1041ac3c
jmp 0x1007ce6d
mov ecx, 0x38
jmp 0x1007ce7c
mov ecx, str.assertion_failed:_DEFAULT_MAX_FRAME_SIZE_as_usize___val__val___MAX_MAX_FRAME_SIZE_as_usize
mov edx, 0x5e
push 0x1041ab2c
call fcn.1004d560
add esp, 4
ud2
mov ecx, 0x158
jmp 0x1007ce7c
lea eax, [esp + 0x150]
mov ecx, 0x1044ace7
mov edx, 0x46
push 0x1044ad30
push 0x10423110
jmp 0x1007ccfa
mov ecx, 0x1041992d
mov edx, 0x22
push 0x1041aa8c
jmp 0x1007ce6d
mov ecx, 0xaa8
jmp 0x1007ce7c
lea eax, [esp + 0x2650]
lea ecx, [esp + 0x1bd0]
mov edx, 0x1041aa08
mov dword [esp + 0x2650], 0x1041a9f4
mov dword [esp + 0x1bd0], 0x1041a9f8
mov dword [esp + 0x1bd4], 2
mov dword [esp + 0x1bd8], 0
mov dword [esp + 0x2654], 0x10008370
mov dword [esp + 0x1be0], eax
mov dword [esp + 0x1be4], 1
call fcn.100f9210
ud2
mov ecx, 0x1041992d
mov edx, 0x22
push 0x1041a9e4
jmp 0x1007ce6d
mov ecx, 0xa30
jmp 0x1007ce7c
mov ecx, 0xad8
jmp 0x1007ce7c
mov ecx, 0x1041992d
mov edx, 0x22
push 0x1041acac
jmp 0x1007ce6d
mov ecx, 0x1041992d
mov edx, 0x22
push 0x1041aabc
jmp 0x1007ce6d
mov ecx, 0x1041992d
mov edx, 0x22
push 0x103fd3b4
call fcn.1000a730
add esp, 4
ud2
mov ecx, 0xa60
mov edx, 8
call fcn.10006540
ud2
xor al, 1
jmp 0x1007cccd