Function at 0x495fd0
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
mov eax, 0x2ea0
call fcn.0053a340
mov esi, esp
mov dword [esi + 0x2e88], ebp
call 0x495ff0
pop eax
mov dword [esi + 0x2e8c], esp
mov dword [esi + 0x2e98], 0xffffffff
mov dword [esi + 0x2e94], 0x538960
mov edi, edx
mov dword [esi + 0xdc], ecx
mov dword [esi + 0x1c], edx
mov dword [esi + 0x5c], eax
mov eax, dword fs:[0]
mov dword [esi + 0x2e90], eax
lea eax, [esi + 0x2e90]
mov dword fs:[0], eax
mov eax, dword [edx + 0x58]
test byte [eax + 0x1c], 1
jne 0x496296
cmp byte [edi + 0x3c], 3
lea ecx, [edi + 0x30]
mov eax, 0x55583c
cmovne eax, ecx
cmp byte [eax + 0xc], 2
jne 0x496170
cmp byte [edi + 0x44], 0
je 0x496296
movzx eax, byte [edi + 0x42]
mov ecx, dword [ebp + 0xc]
movaps xmm0, xmmword [0x547730]
mov dword [esi + 0x15e0], 0
mov dword [esi + 0x15e4], 4
mov dword [esi + 0x15e8], 0
mov byte [esi + 0x70], al
mov eax, dword [ebp + 8]
movups xmmword [esi + 0x410], xmm0
mov byte [esi + 0x420], 0
lea ecx, [eax + ecx*4]
mov dword [esi + 8], ecx
jmp 0x4960b6
mov eax, dword [esi + 4]
add eax, 4
cmp eax, dword [esi + 8]
lea ecx, [esi + 0xf00]
je 0x4961a2
mov dword [esi + 4], eax
mov eax, dword [eax]
mov dword [esi + 0x2e98], 0
lea edx, [esi + 0x410]
push eax
call fcn.004e9680
add esp, 4
lea ecx, [esi + 0x15e0]
lea edx, [esi + 0xf00]
mov dword [esi + 0x2e98], 1
call fcn.004a55d0
mov eax, dword [esi + 0xf00]
cmp eax, 0x80000000
je 0x4960b0
mov ebx, dword [esi + 0xf08]
mov ecx, dword [esi + 0xf04]
mov dword [esi + 0xc], eax
test ebx, ebx
mov dword [esi + 0x30], ecx
je 0x496150
mov eax, dword [esi + 0x30]
lea edi, [eax + 4]
jmp 0x496136
add edi, 0x10
dec ebx
je 0x496150
cmp dword [edi - 4], 0
je 0x496130
push dword [edi]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x496130
cmp dword [esi + 0xc], 0
je 0x4960b0
push dword [esi + 0x30]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4960b0
mov ecx, dword [eax]
mov edx, dword [eax + 4]
lock inc dword [ecx]
jle 0x49d17d
movzx ebx, byte [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [esi + 0xf0], ecx
mov dword [esi + 0xf4], edx
mov dword [esi + 0xf8], eax
mov byte [esi + 0xfc], bl
jmp 0x49629d
cmp byte [esi + 0x70], 0
lea ecx, [esi + 0x15e0]
mov dword [esi + 0x2e98], 0
je 0x4961c4
mov edx, 1
call fcn.004ec4c0
jmp 0x4961e0
call fcn.004a4b10
cmp dword [esi + 0x15e0], 0x80000000
je 0x4961e0
lea ecx, [esi + 0x15e0]
call fcn.004a5410
movq xmm0, qword [esi + 0x15e0]
mov eax, dword [esi + 0x15e8]
movq qword [esi + 0x1fd0], xmm0
mov dword [esi + 0x1fd8], eax
mov ecx, dword [esi + 0x1fd0]
cmp ecx, 0x80000000
mov dword [esi + 4], ecx
je 0x49625d
mov ecx, dword [esi + 0x1c]
mov edx, dword [esi + 0x1fd4]
mov edi, eax
shl edi, 4
movzx ecx, byte [ecx + 0x42]
mov ebx, edx
nop word cs:[eax + eax]
nop dword [eax + eax]
test edi, edi
je 0x496242
add edi, 0xfffffff0
cmp byte [ebx + 0xc], 0
lea ebx, [ebx + 0x10]
jne 0x496230
jmp 0x49625d
mov edi, dword [esi + 0x1c]
cmp dword [edi + 0x54], 1
jne 0x49625d
mov edi, dword [esi + 0x1c]
mov edi, dword [edi + 0x50]
mov edi, dword [edi]
cmp dword [edi + 0x2c], 0
je 0x4983b4
cmp dword [ebp + 0xc], 1
mov edi, dword [esi + 0x1c]
jne 0x496285
cmp dword [edi + 0x54], 0
je 0x49b280
mov eax, dword [edi + 0x50]
mov eax, dword [eax]
cmp dword [eax + 0x18], 0
jne 0x496285
cmp dword [eax + 0x2c], 0
je 0x49811a
mov eax, dword [esi + 0x1fd0]
cmp eax, 0x80000000
jne 0x4970e0
mov byte [esi + 0xfc], 2
lock inc dword [edi]
jle 0x49d17d
movzx edx, byte [esi + 0xfc]
cmp dl, 2
jne 0x4962c3
mov cl, 2
cmp byte [edi + 0x40], 0
je 0x4962ef
movzx eax, byte [edi + 0x41]
mov byte [esi + 0x6c], al
jmp 0x4962f3
mov ecx, dword [esi + 0xf0]
mov eax, dword [esi + 0xf4]
mov dword [esi + 0x2c], eax
mov dword [esi + 0x10], ecx
lock inc dword [ecx]
jle 0x49d17d
mov eax, dword [esi + 0xf8]
mov ecx, edx
mov dword [esi + 0x50], eax
cmp byte [edi + 0x40], 0
jne 0x4962ba
mov byte [esi + 0x6c], 0xa
movzx eax, byte [edi + 0x43]
mov byte [esi + 0x70], cl
mov ecx, 1
mov dword [esi + 0x40], 0xa00000
cmp al, 2
cmove eax, ecx
mov dword [esi + 0x44], eax
mov eax, dword [edi + 0x10]
cmp eax, 2
je 0x496328
mov ecx, dword [edi + 0x14]
mov dword [esi + 0x2e98], 0x25
mov dword [esi + 0x40], ecx
mov ecx, eax
movzx eax, byte [edi + 0x4a]
mov dword [esi + 4], ecx
lea ecx, [esi + 0x410]
mov byte [esi + 8], dl
mov byte [esi + 0x85], dl
mov dword [esi + 0x2e98], 0x25
mov byte [esi + 0x30], al
call fcn.00471b30
movzx eax, byte [esi + 0x30]
xor ecx, ecx
mov dword [esi + 0x2e98], 0x41
lea edx, [esi + 0x410]
cmp al, 3
movzx eax, al
cmove eax, ecx
xor ecx, ecx
cmp dword [esi + 4], 0
setne cl
mov dword [esi + 0x64], ecx
mov dword [esi + 0x410], ecx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x414], ecx
movzx ecx, byte [esi + 0x6c]
mov byte [esi + 0x418], 1
mov byte [esi + 0x419], cl
mov ecx, dword [esi + 0x44]
mov byte [esi + 0x41a], cl
mov byte [esi + 0x41c], 0
mov byte [esi + 0x41d], al
lea ecx, [esi + 0xf00]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.004a0380
add esp, 8
cmp dword [esi + 0xf00], 0x2a
jne 0x4964a1
mov eax, dword [esi + 0xf04]
lea ecx, [esi + 0x444]
mov dword [esi + 0xac], eax
call fcn.00472200
cmp dword [esi + 0x450], 0
je 0x496405
push dword [esi + 0x454]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x464]
test eax, eax
mov dword [esi + 0xc], eax
je 0x4965e1
mov eax, dword [esi + 0x460]
mov dword [esi + 4], eax
xor eax, eax
jmp 0x49643d
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [esi + 0xc]
je 0x4965e1
mov edx, dword [esi + 4]
lea ecx, [eax + eax*2]
mov dword [esi + 8], eax
mov dword [esi + 0x30], ecx
mov ebx, dword [edx + ecx*4 + 8]
test ebx, ebx
je 0x496480
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x30]
mov edi, dword [eax + ecx*4 + 4]
jmp 0x496466
add edi, 8
dec ebx
je 0x496480
mov eax, dword [edi]
test eax, eax
je 0x496460
lock dec dword [eax]
jne 0x496460
mov ecx, dword [edi]
mov edx, dword [edi + 4]
call fcn.00462220
jmp 0x496460
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x30]
lea eax, [eax + ecx*4]
cmp dword [eax], 0
je 0x496430
push dword [eax + 4]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x496430
movsd xmm1, qword [esi + 0xf30]
movsd xmm2, qword [esi + 0xf28]
movq xmm0, qword [esi + 0xf38]
lea ecx, [esi + 0x444]
movsd qword [esi + 0x1d8], xmm1
movsd xmm1, qword [esi + 0xf20]
movsd qword [esi + 0x1d0], xmm2
movsd xmm2, qword [esi + 0xf18]
movq qword [esi + 0x1e0], xmm0
movsd qword [esi + 0x1c8], xmm1
movsd xmm1, qword [esi + 0xf10]
movsd qword [esi + 0x1c0], xmm2
movq xmm2, qword [esi + 0xf00]
movsd qword [esi + 0x1b8], xmm1
movq xmm1, qword [esi + 0xf08]
movq qword [esi + 0x1a8], xmm2
movq qword [esi + 0x1b0], xmm1
call fcn.00472200
cmp dword [esi + 0x450], 0
je 0x496549
push dword [esi + 0x454]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x464]
test eax, eax
mov dword [esi + 0xc], eax
je 0x49670f
mov eax, dword [esi + 0x460]
mov dword [esi + 4], eax
xor eax, eax
jmp 0x49657d
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [esi + 0xc]
je 0x49670f
mov edx, dword [esi + 4]
lea ecx, [eax + eax*2]
mov dword [esi + 8], eax
mov dword [esi + 0x30], ecx
mov ebx, dword [edx + ecx*4 + 8]
test ebx, ebx
je 0x4965c0
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x30]
mov edi, dword [eax + ecx*4 + 4]
jmp 0x4965a6
add edi, 8
dec ebx
je 0x4965c0
mov eax, dword [edi]
test eax, eax
je 0x4965a0
lock dec dword [eax]
jne 0x4965a0
mov ecx, dword [edi]
mov edx, dword [edi + 4]
call fcn.00462220
jmp 0x4965a0
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x30]
lea eax, [eax + ecx*4]
cmp dword [eax], 0
je 0x496570
push dword [eax + 4]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x496570
cmp dword [esi + 0x45c], 0
je 0x4965fe
push dword [esi + 0x460]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
lea ecx, [esi + 0x470]
call fcn.00472110
lea ecx, [esi + 0x498]
call fcn.00471ff0
cmp dword [esi + 0x4ec], 0
mov edi, dword [esi + 0x1c]
je 0x496634
push dword [esi + 0x4f0]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp byte [esi + 0x70], 2
je 0x496646
mov eax, dword [esi + 0x10]
lock inc dword [eax]
jle 0x49d17d
movzx eax, byte [edi + 0x42]
mov ecx, 1
mov byte [esi + 0xa4], 0
mov dword [esi + 0x2e98], 0x3f
cmp al, 2
cmovne ecx, eax
mov dword [esi + 4], ecx
lea ecx, [esi + 0xf00]
call fcn.00471b30
push 0xf0
lea eax, [esi + 0xf00]
push eax
lea eax, [esi + 0x410]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x2c]
mov edi, dword [esi + 0x50]
movzx edx, byte [esi + 0x70]
mov ebx, dword [esi + 4]
mov dword [esi + 0x500], ecx
mov dword [esi + 0x504], eax
mov dword [esi + 0x508], edi
mov edi, dword [esi + 0xac]
mov byte [esi + 0x50c], dl
mov byte [esi + 0x510], bl
lock inc dword [edi]
jle 0x49d17d
cmp dl, 1
mov dword [esi + 0x28], edi
ja 0x4967a4
lock inc dword [ecx]
jle 0x49d17d
mov dword [esi + 0xf00], edi
mov dword [esi + 0xf04], ecx
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x50]
mov dword [esi + 0xf08], eax
mov dword [esi + 0xf0c], ecx
mov byte [esi + 0xf10], dl
mov byte [esi + 0xf14], bl
jmp 0x4967d3
cmp dword [esi + 0x45c], 0
je 0x49672c
push dword [esi + 0x460]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
lea ecx, [esi + 0x470]
call fcn.00472110
lea ecx, [esi + 0x498]
call fcn.00471ff0
cmp dword [esi + 0x4ec], 0
mov edi, dword [esi + 0x10]
je 0x496762
push dword [esi + 0x4f0]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp byte [esi + 0x70], 2
je 0x496781
lock dec dword [edi]
jne 0x496781
mov edx, dword [esi + 0x2c]
mov ecx, edi
mov dword [esi + 0x2e98], 0x24
call fcn.00462250
mov ecx, dword [esi + 0x1c]
lock dec dword [ecx]
jne 0x496798
mov dword [esi + 0x2e98], 0xe
call fcn.0049e3f0
mov dword [esi + 4], 1
jmp 0x498c88
mov dword [esi + 0xf00], edi
mov dword [esi + 0xf04], ecx
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x50]
cmp dl, 2
mov dword [esi + 0xf08], eax
mov dword [esi + 0xf0c], ecx
mov byte [esi + 0xf10], dl
mov byte [esi + 0xf14], bl
je 0x4967f6
mov eax, dword [esi + 0x10]
lock dec dword [eax]
jne 0x4967f6
mov ecx, dword [esi + 0x500]
mov edx, dword [esi + 0x504]
mov dword [esi + 0x2e98], 0x40
call fcn.00462250
lea ecx, [esi + 0x444]
call fcn.00472200
cmp dword [esi + 0x450], 0
je 0x49681e
push dword [esi + 0x454]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x464]
test eax, eax
mov dword [esi + 0xc], eax
je 0x4968b1
mov eax, dword [esi + 0x460]
mov dword [esi + 4], eax
xor eax, eax
jmp 0x496849
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [esi + 0xc]
je 0x4968b1
mov edx, dword [esi + 4]
lea ecx, [eax + eax*2]
mov dword [esi + 8], eax
mov dword [esi + 0x30], ecx
mov ebx, dword [edx + ecx*4 + 8]
test ebx, ebx
je 0x496890
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x30]
mov edi, dword [eax + ecx*4 + 4]
jmp 0x496876
add edi, 8
dec ebx
je 0x496890
mov eax, dword [edi]
test eax, eax
je 0x496870
lock dec dword [eax]
jne 0x496870
mov ecx, dword [edi]
mov edx, dword [edi + 4]
call fcn.00462220
jmp 0x496870
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x30]
lea eax, [eax + ecx*4]
cmp dword [eax], 0
je 0x496840
push dword [eax + 4]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x496840
cmp dword [esi + 0x45c], 0
je 0x4968ce
push dword [esi + 0x460]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
lea ecx, [esi + 0x470]
call fcn.00472110
lea ecx, [esi + 0x498]
call fcn.00471ff0
cmp dword [esi + 0x4ec], 0
mov edi, dword [esi + 0x1c]
je 0x496904
push dword [esi + 0x4f0]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
movsd xmm1, qword [esi + 0xf08]
movzx ecx, byte [esi + 0x70]
movq xmm0, qword [esi + 0xf00]
movsd qword [esi + 0x1f0], xmm1
movq xmm1, qword [esi + 0xf10]
cmp cl, 2
movq qword [esi + 0x1e8], xmm0
movq qword [esi + 0x1f8], xmm1
je 0x496949
mov eax, dword [esi + 0x10]
lock inc dword [eax]
jle 0x49d17d
cmp byte [edi + 0x48], 0
je 0x496a7f
cmp byte [edi + 0x42], 0
je 0x496a7f
lea ecx, [esi + 0xf00]
mov byte [esi + 0xa5], 1
mov dword [esi + 0x2e98], 0x3d
call fcn.00471b30
mov dword [esi + 0x410], 0
mov byte [esi + 0x424], 3
lea eax, [esi + 0x428]
push 0xf0
lea ecx, [esi + 0xf00]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x410], 0
movzx edx, byte [esi + 0x70]
mov edi, dword [esi + 0x28]
mov dword [esi + 0x418], ecx
mov dword [esi + 0x41c], eax
mov eax, dword [esi + 0x50]
mov dword [esi + 0x420], eax
movzx eax, word [esi + 0xf00]
mov byte [esi + 0x424], dl
mov word [esi + 0x425], ax
mov ah, byte [esi + 0xf02]
mov byte [esi + 0x427], ah
lock inc dword [edi]
jle 0x49d17d
cmp dl, 2
je 0x496a08
lock inc dword [ecx]
jle 0x49d17d
mov dword [esi + 0xf00], 0
mov dword [esi + 0xf08], ecx
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x2e98], 0x3e
mov dword [esi + 0xf0c], eax
mov dword [esi + 0xf10], ecx
lea ecx, [esi + 0x410]
mov byte [esi + 0xf14], dl
mov dword [esi + 0xf18], edi
call fcn.004a43e0
movsd xmm1, qword [esi + 0xf0c]
movq xmm0, qword [esi + 0xf04]
xor eax, eax
movsd qword [esi + 0x418], xmm1
movq xmm1, qword [esi + 0xf14]
movq qword [esi + 0x410], xmm0
movq qword [esi + 0x420], xmm1
jmp 0x496aa8
mov eax, 2
cmp cl, 2
je 0x496aa8
mov ecx, dword [esi + 0x10]
lock dec dword [ecx]
jne 0x496aa8
mov edx, dword [esi + 0x2c]
mov dword [esi + 0x2e98], 0x28
call fcn.00462250
mov eax, 2
movq xmm0, qword [esi + 0x420]
movq xmm1, qword [esi + 0x410]
movq xmm2, qword [esi + 0x418]
mov edi, dword [esi + 0x1c]
mov dword [esi + 0x188], eax
mov ecx, 3
movq qword [esi + 0x18c], xmm1
movq qword [esi + 0x194], xmm2
movq qword [esi + 0x19c], xmm0
cmp byte [edi + 0x47], 0
je 0x4975c9
mov eax, dword [edi + 0x58]
mov edx, dword [esi + 0xac]
cmp dword [eax + 0x2c], 0
jne 0x496b0c
test dword [eax + 0x18], 0x33300
je 0x4975c9
movzx eax, byte [edi + 0x42]
mov ecx, 1
mov dword [esi + 0xc], edx
mov dword [esi + 4], 0x100000
cmp al, 2
cmove eax, ecx
mov dword [esi + 0x30], eax
movzx eax, byte [edi + 0x49]
cmp al, 2
cmove eax, ecx
mov dword [esi + 8], eax
mov eax, dword [edi + 0x18]
cmp eax, 2
je 0x496b4d
mov ecx, dword [edi + 0x1c]
mov dword [esi + 0x2e98], 0x2a
mov dword [esi + 4], ecx
mov ecx, eax
mov dword [esi + 0x28], ecx
lea ecx, [esi + 0x1d4c]
mov dword [esi + 0x2e98], 0x2a
call fcn.00471b30
mov ecx, dword [esi + 0x28]
mov eax, dword [esi + 4]
mov ebx, dword [esi + 0xc]
mov dword [esi + 0x1d40], ecx
mov dword [esi + 0x1d44], eax
mov eax, dword [esi + 0x30]
mov byte [esi + 0x1d48], al
mov eax, dword [esi + 8]
mov byte [esi + 0x1d49], 1
mov byte [esi + 0x1d4a], al
lock inc dword [ebx]
jle 0x49d17d
test ecx, ecx
mov dword [esi + 0x200], ebx
setne byte [esi + 0x4c]
test al, al
je 0x496bd0
lea eax, [ebx + 0x10]
lea ecx, [esi + 0x1ab0]
push 0xff
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx edx, byte [ebx + 0x10f]
jmp 0x496cd8
movdqa xmm0, xmmword [0x5473f0]
movaps xmm1, xmmword [0x547400]
movaps xmm2, xmmword [str._________._0123456789:_____ABCDEFGHIJKLMNOPQRSTUVWXYZ____abcdefghijklmnopqrstuvwxyz]
lea eax, [esi + 0x1ab0]
movdqa xmmword [esi + 0x410], xmm0
movaps xmmword [esi + 0x420], xmm1
movaps xmm1, xmmword [0x547420]
movaps xmmword [esi + 0x430], xmm2
movaps xmm2, xmmword [0x547430]
movaps xmmword [esi + 0x440], xmm1
movaps xmm1, xmmword [0x547440]
movaps xmmword [esi + 0x450], xmm2
movaps xmm2, xmmword [0x547450]
movaps xmmword [esi + 0x460], xmm1
movaps xmm1, xmmword [0x547460]
movaps xmmword [esi + 0x470], xmm2
movaps xmm2, xmmword [0x547470]
movaps xmmword [esi + 0x480], xmm1
movaps xmm1, xmmword [0x547480]
movaps xmmword [esi + 0x490], xmm2
movaps xmm2, xmmword [0x547490]
movaps xmmword [esi + 0x4a0], xmm1
movaps xmm1, xmmword [0x5474a0]
movaps xmmword [esi + 0x4b0], xmm2
movaps xmm2, xmmword [0x5474b0]
movaps xmmword [esi + 0x4c0], xmm1
movaps xmm1, xmmword [0x5474c0]
movaps xmmword [esi + 0x4d0], xmm2
movdqa xmm2, xmmword [0x5474d0]
movaps xmmword [esi + 0x4e0], xmm1
movdqa xmm1, xmmword [0x5474e0]
movdqa xmmword [esi + 0x4f0], xmm2
movdqa xmmword [esi + 0x500], xmm1
push 0xff
lea ecx, [esi + 0x410]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx edx, byte [esi + 0x50f]
movzx eax, dl
inc eax
bsr ecx, eax
mov dword [esi + 0x20], eax
mov eax, 0xffffffff
not ecx
shr eax, cl
lock inc dword [ebx]
jle 0x49d17d
mov dword [esi + 0x410], ebx
mov byte [esi + 0x28], dl
mov edi, dword [ebx + 0x15c]
test edi, edi
js 0x49c7b5
movzx ecx, byte [esi + 0x4c]
inc eax
xor ebx, ebx
add edi, edi
tzcnt eax, eax
mov dword [esi + 0x4c], eax
lea eax, [esi + 0xf2c]
mov bl, cl
lea ecx, [esi + 0x1ab0]
push 0xff
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 4]
mov dword [esi + 0xf00], ebx
mov dword [esi + 0xe0], ebx
mov ebx, dword [esi + 0xc]
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0xf04], eax
mov eax, dword [esi + 0x30]
mov byte [esi + 0xf08], al
mov eax, dword [esi + 8]
mov byte [esi + 0xf09], 1
mov byte [esi + 0xf0a], al
movzx eax, byte [esi + 0x28]
mov dword [esi + 0xf0c], 0
mov dword [esi + 0xf10], 8
mov dword [esi + 0xf14], 0
mov dword [esi + 0xf18], 0
mov dword [esi + 0xf1c], 4
mov dword [esi + 0xf20], 0
mov dword [esi + 0xf24], ebx
mov dword [esi + 0xf28], 0x7ffffffe
mov byte [esi + 0x102b], al
mov eax, dword [esi + 0x20]
mov dword [esi + 0x102c], eax
mov dword [esi + 0x1030], ecx
mov dword [esi + 0x1034], eax
mov dword [esi + 0x1038], edi
mov eax, dword [ebx + 0x150]
test eax, eax
mov dword [esi + 0x4c], eax
je 0x496e4c
cmp eax, 0x1fffffff
ja 0x49c7fa
lea edi, [eax*4]
test edi, edi
js 0x49c80e
movzx eax, byte [0x5b9430]
xor ecx, ecx
mov edx, edi
call fcn.0051b940
test eax, eax
je 0x49c822
cmp dword [esi + 0x4c], 2
mov dword [esi + 0x20], eax
jb 0x496e3e
lea eax, [edi - 4]
push eax
push 0
mov ebx, dword [esi + 0x20]
push ebx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebx + edi - 4]
mov ebx, dword [esi + 0xc]
mov dword [eax], 0
mov edx, dword [ebx + 0x150]
jmp 0x496e55
mov dword [esi + 0x20], 4
xor edx, edx
lea ecx, [esi + 0x1fd0]
mov dword [esi + 0x1fe8], 0
mov dword [esi + 0x1fd0], 0
mov dword [esi + 0x1fd4], 4
mov dword [esi + 0x1fd8], 0
mov dword [esi + 0x1fdc], 0
mov dword [esi + 0x1fe0], 4
mov dword [esi + 0x1fe4], 0
mov dword [esi + 0x2e98], 0x3b
call fcn.004725e0
mov eax, dword [esi + 0x1fe8]
movq xmm0, qword [esi + 0x1fe0]
movq xmm2, qword [esi + 0x1fd0]
movq xmm1, qword [esi + 0x1fd8]
mov dword [esi + 0x594], eax
lea eax, [esi + 0x59c]
movq qword [esi + 0x58c], xmm0
movq qword [esi + 0x584], xmm1
movq qword [esi + 0x57c], xmm2
push 0xff
lea ecx, [esi + 0x1ab0]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x13c
lea eax, [esi + 0xf00]
push eax
lea eax, [esi + 0x410]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x4c]
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x558], 0
mov dword [esi + 0x55c], 4
mov dword [esi + 0x560], 0
mov edi, dword [esi + 0x5c]
mov dword [esi + 0x564], eax
mov dword [esi + 0x568], ecx
mov dword [esi + 0x56c], eax
mov eax, dword [esi + 0xe0]
mov dword [esi + 0x570], 0
mov dword [esi + 0x574], 8
mov dword [esi + 0x578], 0
mov byte [esi + 0x69c], 0
mov dword [esi + 0x54c], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x550], eax
mov eax, dword [esi + 0x30]
mov byte [esi + 0x554], al
mov eax, dword [esi + 8]
mov byte [esi + 0x555], 1
mov byte [esi + 0x556], al
lea eax, [esi + 0x200]
mov dword [esi + 0x598], eax
movzx eax, byte [esi + 0x28]
mov byte [esi + 0x69b], al
mov eax, dword [esi + 0x200]
mov ecx, dword [eax + 0x138]
jmp 0x497005
lea edx, [ebx - 1]
cmp edx, 0x3f
ja 0x49706a
mov edx, dword [edx*4 + 0x49e2cc]
add edx, edi
jmp edx
xor ecx, ebx
cmp ebx, 0x200
ja 0x4970d6
test ecx, ecx
je 0x4970b2
mov ebx, ecx
neg ebx
and ebx, ecx
cmp ebx, 0x1ff
jle 0x496fe0
cmp ebx, 0x1fff
jle 0x497050
cmp ebx, 0x7fff
jle 0x49709a
cmp ebx, 0x8000
je 0x496ff7
cmp ebx, 0x10000
je 0x496ff7
cmp ebx, 0x20000
je 0x496ff7
jmp 0x4970b2
cmp ebx, 0x7ff
jg 0x497080
cmp ebx, 0x200
je 0x496ff7
cmp ebx, 0x400
je 0x496ff7
jmp 0x4970b2
cmp ebx, 0x80
je 0x496ff7
cmp ebx, 0x100
je 0x496ff7
jmp 0x4970b2
cmp ebx, 0x800
je 0x496ff7
cmp ebx, 0x1000
je 0x496ff7
jmp 0x4970b2
cmp ebx, 0x2000
je 0x496ff7
cmp ebx, 0x4000
je 0x496ff7
cmp dword [eax + 0x15c], 0x3fffff
jbe 0x497129
mov dword [esi + 0x60], 0
mov dword [esi + 0x20], 0x3fffff
mov edi, 0x2c
jmp 0x497325
mov edi, 0x2d
jmp 0x497325
mov edi, dword [esi + 0x1fd8]
mov edx, dword [esi + 0x1fd4]
mov dword [esi + 8], eax
mov dword [esi + 0x2e98], 2
lea ecx, [esi + 0x410]
mov dword [esi + 0x30], edi
mov dword [esi + 4], edx
push edi
call fcn.0049ec00
mov ebx, dword [esi + 0x30]
add esp, 4
cmp dword [esi + 0x410], 0x80000007
jne 0x49716a
mov byte [esi + 0xfc], 2
jmp 0x49754a
mov edi, dword [eax + 0x144]
xor eax, eax
mov edx, 0
mov ecx, dword [edi + 0x10]
test ecx, ecx
je 0x497144
mov edx, dword [edi + 0xc]
mov edx, dword [edx + ecx*8 - 4]
add ecx, ecx
mov edi, 0x2f
sub edx, ecx
cmovb edx, eax
cmp edx, 0x20
jbe 0x4972e2
mov dword [esi + 0x20], 0x2e
mov ebx, str.too_many_explicit_capturing_groups__max_is_16_invalid_StateID_valueC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srcutilprimitives.rs
jmp 0x497325
test ebx, ebx
je 0x497526
mov eax, dword [esi + 4]
cmp ebx, 1
mov edi, dword [eax + 8]
je 0x497528
lea edx, [ebx + 0xfffffff]
xor ecx, ecx
mov eax, edx
and eax, 0xfffffff
cmp eax, 8
jb 0x4972bd
movd xmm0, edi
mov edi, dword [esi + 4]
and edx, 7
mov ecx, eax
pshufd xmm1, xmm0, 0
movdqa xmm0, xmmword [0x5473a0]
sub ecx, edx
mov ebx, ecx
movdqa xmm2, xmm1
add edi, 0x88
movd xmm3, dword [edi - 0x40]
movd xmm5, dword [edi - 0x50]
movd xmm4, dword [edi - 0x70]
movd xmm6, dword [edi - 0x20]
movd xmm7, dword [edi - 0x30]
punpckldq xmm5, xmm3
movd xmm3, dword [edi - 0x60]
punpckldq xmm7, xmm6
movdqa xmm6, xmm1
pxor xmm1, xmm0
punpckldq xmm4, xmm3
movd xmm3, dword [edi]
punpcklqdq xmm4, xmm5
movd xmm5, dword [edi - 0x10]
sub edi, 0xffffff80
add ebx, 0xfffffff8
punpckldq xmm5, xmm3
punpcklqdq xmm7, xmm5
movdqa xmm5, xmm4
pxor xmm5, xmm0
pcmpgtd xmm1, xmm5
movdqa xmm5, xmm2
pxor xmm2, xmm0
pand xmm6, xmm1
pandn xmm1, xmm4
por xmm1, xmm6
movdqa xmm6, xmm7
pxor xmm6, xmm0
pcmpgtd xmm2, xmm6
pand xmm5, xmm2
pandn xmm2, xmm7
por xmm2, xmm5
jne 0x4971c0
movdqa xmm4, xmm2
movdqa xmm3, xmm1
test edx, edx
pxor xmm4, xmm0
pxor xmm3, xmm0
pcmpgtd xmm3, xmm4
pand xmm1, xmm3
pandn xmm3, xmm2
por xmm3, xmm1
pshufd xmm2, xmm3, 0xee
movdqa xmm1, xmm3
movdqa xmm4, xmm2
pxor xmm1, xmm0
pxor xmm4, xmm0
pcmpgtd xmm1, xmm4
pand xmm3, xmm1
pandn xmm1, xmm2
por xmm1, xmm3
movdqa xmm3, xmm1
pshufd xmm2, xmm1, 0x55
pxor xmm3, xmm0
pxor xmm0, xmm2
pcmpgtd xmm3, xmm0
pand xmm1, xmm3
pandn xmm3, xmm2
por xmm3, xmm1
movd edi, xmm3
je 0x497528
mov edx, dword [esi + 4]
sub eax, ecx
shl ecx, 4
lea ecx, [ecx + edx + 0x18]
nop dword [eax]
mov edx, dword [ecx]
cmp edi, edx
cmovbe edi, edx
add ecx, 0x10
dec eax
jne 0x4972d0
jmp 0x497528
mov ecx, dword [esi + 0x540]
mov edi, dword [esi + 0x424]
mov eax, 0x2b
and ecx, 0x1f
mov edx, edi
shr edx, cl
cmp edx, 0x7ffffffe
jbe 0x497306
mov ebx, edx
jmp 0x497315
cmp edx, 0x200000
mov dword [esi + 4], ecx
jbe 0x49835f
mov dword [esi + 0x60], 0
mov dword [esi + 0x20], 0x200000
mov edi, eax
lea ecx, [esi + 0x410]
call fcn.00472720
mov dword [esi + 0x28], 0
mov eax, dword [esi + 0x200]
lock dec dword [eax]
jne 0x49734d
lea ecx, [esi + 0x200]
call fcn.00472520
lea ecx, [esi + 0x1d80]
mov dword [esi + 0x4c], ebx
mov dword [esi + 0x5c], edi
call fcn.00472200
cmp dword [esi + 0x1d8c], 0
je 0x49737b
push dword [esi + 0x1d90]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x1da0]
test eax, eax
mov dword [esi + 0xc], eax
je 0x497411
mov eax, dword [esi + 0x1d9c]
mov dword [esi + 4], eax
xor eax, eax
jmp 0x4973a9
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [esi + 0xc]
je 0x497411
mov edx, dword [esi + 4]
lea ecx, [eax + eax*2]
mov dword [esi + 8], eax
mov dword [esi + 0x30], ecx
mov ebx, dword [edx + ecx*4 + 8]
test ebx, ebx
je 0x4973f0
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x30]
mov edi, dword [eax + ecx*4 + 4]
jmp 0x4973d6
add edi, 8
dec ebx
je 0x4973f0
mov eax, dword [edi]
test eax, eax
je 0x4973d0
lock dec dword [eax]
jne 0x4973d0
mov ecx, dword [edi]
mov edx, dword [edi + 4]
call fcn.00462220
jmp 0x4973d0
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x30]
lea eax, [eax + ecx*4]
cmp dword [eax], 0
je 0x4973a0
push dword [eax + 4]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4973a0
cmp dword [esi + 0x1d98], 0
je 0x49742e
push dword [esi + 0x1d9c]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
lea ecx, [esi + 0x1dac]
call fcn.00472110
lea ecx, [esi + 0x1dd4]
call fcn.00471ff0
cmp dword [esi + 0x1e28], 0
mov edi, dword [esi + 0x1c]
mov ebx, dword [esi + 0x5c]
je 0x497467
push dword [esi + 0x1e2c]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp byte [esi + 0x28], 0
je 0x4974c0
mov eax, dword [esi + 0x258]
movq xmm0, qword [esi + 0x250]
mov dword [esi + 0xf08], eax
lea eax, [esi + 0x15e0]
movq qword [esi + 0xf00], xmm0
push 0x114
push eax
lea eax, [esi + 0x410]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [esi + 0xd4]
mov eax, dword [esi + 0x4c]
mov edx, dword [esi + 0x20]
mov ebx, dword [esi + 0x60]
movdqa xmm1, xmmword [esi + 0xe0]
jmp 0x4975c9
movdqa xmm0, xmmword [esi + 0xe0]
cmp ebx, 0x29
ja 0x4975c4
lea ecx, [ebx - 0x23]
xor eax, eax
lea edx, [ebx - 0x22]
cmp ecx, 7
cmovb eax, edx
test eax, eax
je 0x49750e
cmp eax, 1
jne 0x4975c4
cmp dword [esi + 0x20], 0x80000004
jl 0x4975c4
cmp dword [esi + 0x20], 0
mov eax, dword [esi + 0x60]
mov dword [esi + 0x20], eax
jne 0x4975b3
jmp 0x4975c4
cmp ebx, 0x22
jne 0x4975a1
cmp dword [esi + 0x4c], 0
jne 0x4975b3
jmp 0x4975c4
xor edi, edi
mov dword [esi + 0x2e98], 2
lea ecx, [esi + 0xf0]
lea edx, [esi + 0x410]
push edi
call fcn.004a5ec0
add esp, 4
mov ebx, dword [esi + 0x30]
test ebx, ebx
je 0x49757e
mov eax, dword [esi + 4]
lea edi, [eax + 4]
jmp 0x497566
add edi, 0x10
dec ebx
je 0x49757e
cmp dword [edi - 4], 0
je 0x497560
push dword [edi]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x497560
cmp dword [esi + 8], 0
mov edi, dword [esi + 0x1c]
je 0x49629d
push dword [esi + 4]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x49629d
movd eax, xmm0
test eax, eax
je 0x4975c4
pshufd xmm0, xmm0, 0x55
movd dword [esi + 0x20], xmm0
push dword [esi + 0x20]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, 3
mov dword [esi + 0xd80], ecx
mov ecx, dword [esi + 0x5c]
movq xmm0, qword [esi + 0xf00]
mov dword [esi + 0xd84], ecx
mov dword [esi + 0xd88], eax
mov eax, dword [esi + 0xf08]
mov dword [esi + 0xd8c], edx
mov dword [esi + 0xd90], ebx
movq qword [esi + 0xd94], xmm0
mov dword [esi + 0xd9c], eax
movq qword [esi + 0xda0], xmm1
lea eax, [esi + 0xda8]
push 0x114
lea ecx, [esi + 0x410]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp byte [edi + 0x45], 0
je 0x497781
lea ecx, [esi + 0x410]
mov dword [esi + 0x2e98], 0x2b
call fcn.00471b30
mov eax, dword [esi + 0x64]
mov dword [esi + 0x2e98], 0x37
lea ecx, [esi + 0xf00]
lea edx, [esi + 0x410]
mov dword [esi + 0x410], eax
mov eax, dword [esi + 0x40]
mov dword [esi + 0x414], eax
movzx eax, byte [esi + 0x6c]
mov byte [esi + 0x418], 1
mov byte [esi + 0x419], al
mov eax, dword [esi + 0x44]
mov byte [esi + 0x41a], al
mov word [esi + 0x41b], 1
mov byte [esi + 0x41d], 2
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.004a0380
add esp, 8
cmp dword [esi + 0xf00], 0x2a
jne 0x4977a2
mov eax, dword [esi + 0xf04]
lea ecx, [esi + 0x444]
mov dword [esi + 0x10c], eax
call fcn.00472200
cmp dword [esi + 0x450], 0
je 0x4976e9
push dword [esi + 0x454]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x464]
test eax, eax
mov dword [esi + 0xc], eax
je 0x4978e1
mov eax, dword [esi + 0x460]
mov dword [esi + 4], eax
xor eax, eax
jmp 0x49771d
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [esi + 0xc]
je 0x4978e1
mov edx, dword [esi + 4]
lea ecx, [eax + eax*2]
mov dword [esi + 8], eax
mov dword [esi + 0x30], ecx
mov ebx, dword [edx + ecx*4 + 8]
test ebx, ebx
je 0x497760
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x30]
mov edi, dword [eax + ecx*4 + 4]
jmp 0x497746
add edi, 8
dec ebx
je 0x497760
mov eax, dword [edi]
test eax, eax
je 0x497740
lock dec dword [eax]
jne 0x497740
mov ecx, dword [edi]
mov edx, dword [edi + 4]
call fcn.00462220
jmp 0x497740
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x30]
lea eax, [eax + ecx*4]
cmp dword [eax], 0
je 0x497710
push dword [eax + 4]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x497710
mov dword [esi + 0x44], 0
mov ebx, 2
xor edi, edi
mov dword [esi + 0x30], 0
mov dword [esi + 8], 0
jmp 0x498b94
movsd xmm1, qword [esi + 0xf30]
movsd xmm2, qword [esi + 0xf28]
movq xmm0, qword [esi + 0xf38]
lea ecx, [esi + 0x444]
movsd qword [esi + 0x1d8], xmm1
movsd xmm1, qword [esi + 0xf20]
movsd qword [esi + 0x1d0], xmm2
movsd xmm2, qword [esi + 0xf18]
movq qword [esi + 0x1e0], xmm0
movsd qword [esi + 0x1c8], xmm1
movsd xmm1, qword [esi + 0xf10]
movsd qword [esi + 0x1c0], xmm2
movq xmm2, qword [esi + 0xf00]
movsd qword [esi + 0x1b8], xmm1
movq xmm1, qword [esi + 0xf08]
movq qword [esi + 0x1a8], xmm2
movq qword [esi + 0x1b0], xmm1
call fcn.00472200
cmp dword [esi + 0x450], 0
je 0x49784a
push dword [esi + 0x454]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x464]
test eax, eax
mov dword [esi + 0xc], eax
je 0x497959
mov eax, dword [esi + 0x460]
mov dword [esi + 4], eax
xor eax, eax
jmp 0x49787d
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [esi + 0xc]
je 0x497959
mov edx, dword [esi + 4]
lea ecx, [eax + eax*2]
mov dword [esi + 8], eax
mov dword [esi + 0x30], ecx
mov ebx, dword [edx + ecx*4 + 8]
test ebx, ebx
je 0x4978c0
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x30]
mov edi, dword [eax + ecx*4 + 4]
jmp 0x4978a6
add edi, 8
dec ebx
je 0x4978c0
mov eax, dword [edi]
test eax, eax
je 0x4978a0
lock dec dword [eax]
jne 0x4978a0
mov ecx, dword [edi]
mov edx, dword [edi + 4]
call fcn.00462220
jmp 0x4978a0
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x30]
lea eax, [eax + ecx*4]
cmp dword [eax], 0
je 0x497870
push dword [eax + 4]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x497870
cmp dword [esi + 0x45c], 0
je 0x4978fe
push dword [esi + 0x460]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
lea ecx, [esi + 0x470]
call fcn.00472110
lea ecx, [esi + 0x498]
call fcn.00471ff0
cmp dword [esi + 0x4ec], 0
mov edi, dword [esi + 0x1c]
je 0x497934
push dword [esi + 0x4f0]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp byte [edi + 0x45], 0
je 0x497ac3
cmp byte [esi + 0x70], 2
jne 0x497aea
mov ebx, dword [esi + 0xac]
movzx eax, byte [edi + 0x42]
mov cl, 2
jmp 0x497b1d
cmp dword [esi + 0x45c], 0
je 0x497976
push dword [esi + 0x460]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
lea ecx, [esi + 0x470]
call fcn.00472110
lea ecx, [esi + 0x498]
call fcn.00471ff0
cmp dword [esi + 0x4ec], 0
je 0x4979a9
push dword [esi + 0x4f0]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0xd80], 3
je 0x497a02
mov eax, dword [esi + 0xda4]
lock dec dword [eax]
jne 0x4979c8
lea ecx, [esi + 0xda4]
call fcn.00472520
cmp dword [esi + 0xd8c], 0
je 0x4979e5
push dword [esi + 0xd90]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0xd98], 0
je 0x497a02
push dword [esi + 0xd9c]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x188], 2
je 0x497a56
movzx eax, byte [esi + 0x19c]
cmp al, 3
je 0x497a40
cmp al, 2
je 0x497a40
mov eax, dword [esi + 0x190]
lock dec dword [eax]
jne 0x497a40
mov ecx, dword [esi + 0x190]
mov edx, dword [esi + 0x194]
mov dword [esi + 0x2e98], 0x29
call fcn.00462250
mov eax, dword [esi + 0x1a0]
lock dec dword [eax]
jne 0x497a56
lea ecx, [esi + 0x1a0]
call fcn.00472520
movzx eax, byte [esi + 0x1f8]
cmp al, 3
je 0x497a8b
cmp al, 2
je 0x497a8b
mov eax, dword [esi + 0x1ec]
lock dec dword [eax]
jne 0x497a8b
mov ecx, dword [esi + 0x1ec]
mov edx, dword [esi + 0x1f0]
mov dword [esi + 0x2e98], 0x27
call fcn.00462250
mov eax, dword [esi + 0x1e8]
lock dec dword [eax]
jne 0x497aa1
lea ecx, [esi + 0x1e8]
call fcn.00472520
mov eax, dword [esi + 0xac]
lock dec dword [eax]
mov edi, dword [esi + 0x10]
jne 0x496762
lea ecx, [esi + 0xac]
call fcn.00472520
jmp 0x496762
mov dword [esi + 0xc], 0
mov dword [esi + 0x40], 2
mov dword [esi + 0x30], 0
mov dword [esi + 8], 0
lea edi, [esi + 0x410]
jmp 0x498b58
mov eax, dword [esi + 0x10]
lock inc dword [eax]
jle 0x49d17d
cmp byte [edi + 0x45], 0
mov ecx, dword [esi + 0x10]
je 0x498aef
mov edi, dword [esi + 0x1c]
mov ebx, dword [esi + 0xac]
movzx eax, byte [edi + 0x42]
lock inc dword [ecx]
movzx ecx, byte [esi + 0x70]
jle 0x49d17d
cmp al, 2
movzx edx, al
mov eax, 1
mov byte [esi + 0x44], cl
mov dword [esi + 0x40], ebx
cmove edx, eax
mov dword [esi + 8], edx
movzx edx, byte [edi + 0x49]
cmp dl, 2
cmove edx, eax
cmp cl, 2
setne al
cmp dword [edi + 8], 0
mov dword [esi + 4], edx
mov byte [esi + 0xc], al
je 0x497b61
mov eax, dword [edi + 0xc]
mov dword [esi + 0x2e98], 0x2e
mov dword [esi + 0x30], eax
jmp 0x497b68
mov dword [esi + 0x30], 0x200000
lea ecx, [esi + 0x1ab0]
mov dword [esi + 0x2e98], 0x2e
call fcn.00471b30
pxor xmm0, xmm0
movdqa xmmword [esi + 0x410], xmm0
mov byte [esi + 0x44c], 3
mov dword [esi + 0x450], 0
mov dword [esi + 0x458], 2
mov dword [esi + 0x460], 2
mov dword [esi + 0x468], 0x2020202
mov word [esi + 0x46c], 0x202
push 0xf0
lea eax, [esi + 0x1ab0]
push eax
lea eax, [esi + 0x470]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp byte [esi + 0x70], 2
mov eax, dword [esi + 0x10]
je 0x497bee
lock inc dword [eax]
jle 0x49d17d
mov ecx, dword [esi + 8]
pxor xmm0, xmm0
lea edx, [esi + 0x1ab0]
mov dword [esi + 0x2e98], 0x36
mov byte [esi + 0x1b08], cl
mov dword [esi + 0x1ae0], eax
mov eax, dword [esi + 0x2c]
lea ecx, [esi + 0x410]
mov dword [esi + 0x1ae4], eax
mov eax, dword [esi + 0x50]
mov dword [esi + 0x1ae8], eax
movzx eax, byte [esi + 0x44]
mov byte [esi + 0x1aec], al
mov eax, dword [esi + 4]
mov byte [esi + 0x1b09], 1
mov byte [esi + 0x1b0a], al
movzx eax, byte [esi + 0xc]
mov byte [esi + 0x1b0b], 1
movdqa xmmword [esi + 0x1ab0], xmm0
movdqa xmm0, xmmword [0x547740]
mov byte [esi + 0x1b0c], al
mov eax, dword [esi + 0x30]
mov dword [esi + 0x1af0], 1
mov dword [esi + 0x1af4], eax
mov byte [esi + 0x1b0d], 0
movdqu xmmword [esi + 0x1af8], xmm0
call fcn.00488960
mov eax, dword [esi + 0x40]
lock inc dword [eax]
jle 0x49d17d
lea ecx, [esi + 0x1fd0]
lea edx, [esi + 0x410]
push eax
call fcn.00483c20
add esp, 4
lea ecx, [esi + 0x410]
mov byte [esi + 0x6b], 1
mov dword [esi + 0x2e98], 0x2f
call fcn.00483ac0
movdqa xmm0, xmmword [esi + 0x1fd0]
pcmpeqb xmm0, xmmword [0x547270]
pmovmskb eax, xmm0
cmp eax, 0xffff
jne 0x497d39
mov ecx, dword [esi + 0x1fe0]
mov edi, dword [esi + 0x10]
movzx ebx, byte [esi + 0x44]
cmp ecx, 0x29
ja 0x498aaa
lea eax, [ecx - 0x23]
xor edx, edx
cmp eax, 7
lea eax, [ecx - 0x22]
cmovb edx, eax
mov eax, dword [esi + 0x1fe8]
test edx, edx
je 0x49845a
cmp edx, 1
jne 0x498aaa
cmp eax, 0x80000004
jl 0x498aaa
test eax, eax
je 0x498aaa
mov eax, dword [esi + 0x1fec]
jmp 0x4989f3
lea eax, [esi + 0x1d40]
push 0x290
lea ecx, [esi + 0x1fd0]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea ecx, [esi + 0x250]
mov byte [esi + 0x5b], 1
mov dword [esi + 0x2e98], 0x30
call fcn.00471b30
pxor xmm0, xmm0
movdqa xmmword [esi + 0x410], xmm0
mov byte [esi + 0x44c], 3
mov dword [esi + 0x450], 0
mov dword [esi + 0x458], 2
mov dword [esi + 0x460], 2
mov dword [esi + 0x468], 0x2020202
mov word [esi + 0x46c], 0x202
push 0xf0
lea eax, [esi + 0x250]
push eax
lea eax, [esi + 0x470]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp byte [esi + 0x70], 2
je 0x497dde
mov eax, dword [esi + 0x10]
lock inc dword [eax]
jle 0x49d17d
cmp byte [esi + 0x44], 1
ja 0x497e01
mov eax, dword [esi + 0x10]
lock dec dword [eax]
jne 0x497e01
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x2c]
mov dword [esi + 0x2e98], 0x34
call fcn.00462250
pxor xmm0, xmm0
movdqa xmm1, xmmword [esi + 0x120]
movzx eax, word [esi + 0x141]
lea ecx, [esi + 0x410]
lea edx, [esi + 0x250]
mov dword [esi + 0x2e98], 0x34
movdqa xmmword [esi + 0x250], xmm0
movaps xmm0, xmmword [esi + 0x110]
movdqa xmmword [esi + 0x270], xmm1
movaps xmmword [esi + 0x260], xmm0
mov dword [esi + 0x280], 0x2020202
mov dword [esi + 0x284], 0x2020202
mov dword [esi + 0x288], 0x2020202
mov byte [esi + 0x28c], 2
mov word [esi + 0x28d], ax
movzx eax, byte [esi + 0x143]
movdqa xmm0, xmmword [0x547740]
mov byte [esi + 0x28f], al
mov eax, dword [esi + 0x30]
mov dword [esi + 0x290], 1
mov dword [esi + 0x294], eax
mov eax, dword [esi + 4]
movdqu xmmword [esi + 0x298], xmm0
mov word [esi + 0x2a8], pe_nt_image_headers32
mov byte [esi + 0x2aa], al
mov byte [esi + 0x2ab], 1
mov word [esi + 0x2ac], 0
call fcn.00488960
mov eax, dword [esi + 0x10c]
lock inc dword [eax]
jle 0x49d17d
lea ecx, [esi + 0x1ab0]
lea edx, [esi + 0x410]
push eax
call fcn.00483c20
add esp, 4
lea ecx, [esi + 0x410]
mov byte [esi + 0x86], 1
mov byte [esi + 0x87], 1
mov dword [esi + 0x2e98], 0x31
call fcn.00483ac0
movdqa xmm0, xmmword [esi + 0x1ab0]
pcmpeqb xmm0, xmmword [0x547270]
pmovmskb eax, xmm0
cmp eax, 0xffff
jne 0x497f7f
mov ecx, dword [esi + 0x1ac0]
cmp ecx, 0x29
ja 0x498a58
lea eax, [ecx - 0x23]
xor edx, edx
cmp eax, 7
lea eax, [ecx - 0x22]
cmovb edx, eax
mov eax, dword [esi + 0x1ac8]
test edx, edx
je 0x498a07
cmp edx, 1
jne 0x498a58
cmp eax, 0x80000004
jl 0x498a58
test eax, eax
je 0x498a58
mov eax, dword [esi + 0x1acc]
jmp 0x498a49
lea ecx, [esi + 0x250]
mov byte [esi + 0xa6], 0
mov byte [esi + 0xa7], 1
mov dword [esi + 0x2e98], 0x32
call fcn.00471b30
mov word [esi + 0x118], 0x202
mov dword [esi + 0x114], 0x2020202
lea eax, [esi + 0x412]
push 0xf0
lea ecx, [esi + 0x250]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movq xmm1, qword [esi + 0x110]
movzx eax, word [esi + 0x118]
pxor xmm0, xmm0
movdqa xmmword [esi + 0x250], xmm0
mov byte [esi + 0x28c], 3
mov dword [esi + 0x290], 0
mov dword [esi + 0x298], 2
mov dword [esi + 0x2a0], 2
mov word [esi + 0x2ac], ax
movq qword [esi + 0x2a4], xmm1
lea eax, [esi + 0x2ae]
push 0xf2
lea edi, [esi + 0x410]
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x290
lea eax, [esi + 0x1d40]
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esi + 0x6a0]
push 0x290
lea ecx, [esi + 0x1ab0]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea ecx, [esi + 0x250]
mov dword [esi + 0x2e98], 0x33
call fcn.00483ac0
mov eax, dword [esi + 0x41c]
mov edi, dword [esi + 0x414]
lea ecx, [esi + 0x200]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x418]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x410]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x420]
mov dword [esi + 4], eax
lea eax, [esi + 0x424]
push 0x44
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esi + 0x468]
push 0x4c8
push eax
lea eax, [esi + 0xf00]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp byte [esi + 0x44], 2
mov dword [esi + 0xc], edi
je 0x498b25
mov eax, dword [esi + 0x10]
lock dec dword [eax]
jne 0x49810c
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0x2c]
mov dword [esi + 0x2e98], 0x2d
mov ecx, dword [esi + 0x10]
call fcn.00462250
mov eax, dword [esi + 0x10]
lock dec dword [eax]
je 0x498b10
jmp 0x498b25
cmp byte [eax + 0x32], 0
je 0x496285
cmp byte [edi + 0x42], 0
je 0x496285
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp dword [eax], 7
jne 0x496285
mov dword [esi + 0x15e0], 0
mov dword [esi + 0x15e4], 4
mov dword [esi + 0x15e8], 0
xor ebx, ebx
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 8]
lea eax, [edx + edx*8]
add edx, ecx
lea eax, [eax + eax*2]
add edx, eax
mov eax, ecx
mov dword [esi + 0x44], edx
mov edx, 4
jmp 0x4981a8
mov edx, dword [esi + 0x15e4]
mov ebx, dword [esi + 0x15e8]
mov ecx, dword [esi + 4]
lea eax, [ebx + ebx*2]
mov edi, dword [esi + 0x30]
inc ebx
mov dword [edx + eax*4], ecx
mov ecx, dword [esi + 8]
mov dword [edx + eax*4 + 4], ecx
mov dword [edx + eax*4 + 8], edi
mov eax, dword [esi + 0x40]
mov dword [esi + 0x15e8], ebx
add eax, 0x1c
cmp eax, dword [esi + 0x44]
je 0x498a17
mov dword [esi + 0xf00], 0
mov dword [esi + 0xf04], 1
mov dword [esi + 0x250], eax
mov dword [esi + 0xf08], 0
mov ecx, eax
mov dword [esi + 0x2c], ebx
mov dword [esi + 0xc], edx
mov eax, dword [eax]
mov dword [esi + 0x40], ecx
cmp eax, 1
je 0x4982b8
cmp eax, 6
jne 0x49cc9c
mov eax, dword [esi + 0x40]
mov dword [esi + 0x30], 0
mov dword [esi + 8], 1
mov edi, dword [eax + 0xc]
mov ecx, dword [eax + 8]
lea eax, [edi + edi*8]
add edi, ecx
lea eax, [eax + eax*2]
add edi, eax
mov dword [esi + 0x70], edi
jmp 0x49824b
mov eax, dword [esi + 8]
add ecx, 0x1c
mov dword [esi + 8], eax
add eax, edx
push edi
push ebx
push eax
mov ebx, edx
mov edi, ecx
call sub.VCRUNTIME140.dll_memcpy
mov ecx, edi
add esp, 0xc
add ebx, dword [esi + 4]
mov edx, dword [esi + 0xc]
mov dword [esi + 0x30], ebx
mov dword [esi + 0xf08], ebx
cmp ecx, dword [esi + 0x70]
je 0x4982fe
mov dword [esi + 0x29a8], ecx
cmp dword [ecx], 1
jne 0x49c521
mov eax, dword [esi + 0xf00]
mov edx, dword [esi + 0x30]
mov edi, dword [ecx + 8]
mov ebx, dword [ecx + 4]
sub eax, edx
mov dword [esi + 4], edi
cmp eax, edi
jae 0x498220
mov dword [esi + 8], ecx
mov dword [esi + 0x10], ebx
mov byte [esi + 0x5a], 1
mov dword [esi + 0x2e98], 0xb
lea ecx, [esi + 0xf00]
push edi
call fcn.0053b370
add esp, 4
mov eax, dword [esi + 0xf04]
mov edx, dword [esi + 0xf08]
mov ecx, dword [esi + 8]
mov edi, dword [esi + 4]
mov ebx, dword [esi + 0x10]
jmp 0x498223
mov edi, dword [ecx + 8]
mov edx, dword [ecx + 4]
test edi, edi
je 0x498303
mov dword [esi + 0x30], edx
mov byte [esi + 0x5a], 1
mov dword [esi + 0x2e98], 0xb
lea ecx, [esi + 0xf00]
xor edx, edx
mov dword [esi + 4], edi
push edi
call fcn.0053b370
add esp, 4
mov eax, dword [esi + 0xf04]
mov ecx, dword [esi + 0xf08]
mov ebx, dword [esi + 0x2c]
mov edi, dword [esi + 4]
mov edx, dword [esi + 0x30]
jmp 0x49830a
mov ebx, dword [esi + 0x2c]
jmp 0x49832e
xor ecx, ecx
mov eax, 1
mov dword [esi + 8], eax
mov dword [esi + 0x30], ecx
add eax, ecx
push edi
push edx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x30]
mov edx, dword [esi + 0xc]
add eax, edi
mov dword [esi + 0x30], eax
mov dword [esi + 0xf08], eax
mov ecx, dword [esi + 0xf00]
cmp ebx, dword [esi + 0x15e0]
jne 0x498187
mov dword [esi + 4], ecx
lea ecx, [esi + 0x15e0]
mov edx, ebx
mov dword [esi + 0x2e98], 0xc
call fcn.00414d50
jmp 0x498178
mov eax, dword [esi + 0x41c]
mov ecx, dword [esi + 4]
mov ebx, 1
mov dword [esi + 0x30], edx
shl ebx, cl
sub eax, edi
cmp eax, ebx
mov dword [esi + 8], ebx
jae 0x498475
lea ecx, [esi + 0x41c]
mov dword [esi + 0x2e98], 0x39
mov edx, edi
push ebx
call fcn.0053ffd0
add esp, 4
mov eax, dword [esi + 0x540]
mov edi, dword [esi + 0x424]
mov ecx, dword [esi + 4]
and eax, 0x1f
mov dword [esi + 0xc], eax
jmp 0x498478
test cl, cl
je 0x49625d
cmp dword [edi + 0x18], 0
jne 0x49625d
mov dword [esi + 0x2e98], 2
lea ecx, [esi + 0x410]
push eax
call fcn.0049ec00
add esp, 4
cmp dword [esi + 0x410], 0x80000007
lea eax, [esi + 0xf00]
je 0x49625d
push 0x190
lea ecx, [esi + 0x410]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, 0x80000000
mov ecx, 4
xor eax, dword [esi + 0xf00]
cmp eax, 7
cmovb ecx, eax
mov eax, dword [ecx*4 + 0x49e2b0]
mov dword [esi + 0x30], ecx
add eax, dword [esi + 0x5c]
jmp eax
cmp ecx, 0x22
jne 0x4989e0
cmp dword [esi + 0x1fe4], 0
jne 0x4989f3
jmp 0x498aaa
mov dword [esi + 0xc], ecx
mov ebx, dword [esi + 0x420]
mov edx, 8
shl edx, cl
lea eax, [ebx + edi*8]
push edx
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0xc]
add edx, edi
mov edi, dword [esi + 0x30]
mov dword [esi + 0x424], edx
mov eax, edi
shl eax, cl
add eax, dword [esi + 0x544]
cmp eax, edx
jae 0x49c07d
mov dword [ebx + eax*8 + 4], 0xfffffc00
mov dword [ebx + eax*8], 0
cmp dword [esi + 0x54c], 1
jne 0x4984ee
mov eax, dword [esi + 0x430]
mov ebx, dword [esi + 0x550]
shl edx, 3
lea ecx, [edx + eax*4]
mov eax, 0x2e
cmp ecx, ebx
ja 0x497315
test edi, edi
mov dword [esi + 0x1ab0], edi
jne 0x49cf84
mov eax, dword [esi + 0x598]
cmp dword [esi + 0x430], 0
mov ecx, dword [eax]
mov eax, dword [ecx + 0x130]
mov ecx, dword [ecx + 0x15c]
mov dword [esi + 0x2e98], 0x39
mov dword [esi + 0xe0], ecx
jne 0x49cfae
lea ecx, [esi + 0xf00]
lea edx, [esi + 0x410]
push eax
call fcn.00472800
add esp, 4
mov eax, dword [esi + 0xf00]
cmp eax, 0x30
jne 0x49895a
mov edx, dword [esi + 0x430]
mov edi, dword [esi + 0xf04]
lea ecx, [esi + 0x428]
cmp edx, dword [esi + 0x428]
jne 0x49857c
mov dword [esi + 4], edi
call fcn.00462650
mov edx, dword [esi + 0x430]
mov edi, dword [esi + 4]
mov eax, dword [esi + 0x42c]
mov ecx, dword [esi + 0xe0]
mov dword [eax + edx*4], edi
inc edx
add ecx, ecx
mov dword [esi + 0x430], edx
mov dword [esi + 0xe0], ecx
test byte [esi + 0x555], 1
jne 0x49a0f6
mov eax, dword [esi + 0x560]
test eax, eax
je 0x49afdc
lea ecx, [eax - 1]
mov dword [esi + 0x560], ecx
mov ecx, dword [esi + 0x55c]
mov edx, dword [esi + 0x56c]
mov eax, dword [ecx + eax*4 - 4]
mov dword [esi + 0x2e98], 0x39
cmp eax, edx
jae 0x49c4e1
mov ecx, dword [esi + 0x568]
lea edx, [esi + 0x410]
mov ecx, dword [ecx + eax*4]
mov byte [esi + 0x69c], 0
mov dword [esi + 0x594], 0
mov dword [esi + 0x28], ecx
lea ecx, [esi + 0xf00]
push 0
push 0
push eax
call fcn.00473000
add esp, 0xc
mov eax, dword [esi + 0xf00]
cmp eax, 0x30
jne 0x49895a
mov eax, dword [esi + 0x578]
test eax, eax
je 0x4985a7
dec eax
mov dword [esi + 0x578], eax
shl eax, 4
mov edx, dword [esi + 0x598]
mov edi, dword [esi + 0x574]
mov ebx, dword [edx]
mov ecx, dword [edi + eax]
mov edx, dword [ebx + 0x150]
cmp edx, ecx
jbe 0x49bc6b
mov edx, dword [edi + eax + 8]
lea ecx, [ecx + ecx*4]
mov edi, dword [edi + eax + 0xc]
mov dword [esi + 4], edx
mov edx, dword [ebx + 0x14c]
mov dword [esi + 0x30], edi
mov ebx, dword [esi + 4]
lea eax, [edx + ecx*4]
mov ecx, dword [edx + ecx*4]
mov ecx, dword [ecx*4 + 0x49e3cc]
add ecx, dword [esi + 0x5c]
jmp ecx
mov ecx, dword [esi + 0xf08]
movsd xmm2, qword [esi + 0xf1c]
movsd xmm1, qword [esi + 0xf24]
mov ebx, dword [esi + 0xf04]
movq xmm0, qword [esi + 0xf10]
mov dword [esi + 0x20], ecx
mov ecx, dword [esi + 0xf18]
movaps xmmword [esi + 0xe0], xmm2
movsd qword [esi + 0x15e0], xmm1
movq xmm2, qword [esi + 0xf2c]
movq xmm1, qword [esi + 0xf34]
movq qword [esi + 0x250], xmm0
mov dword [esi + 0x258], ecx
mov ecx, dword [esi + 0xf3c]
movq qword [esi + 0x15e8], xmm2
movq qword [esi + 0x15f0], xmm1
mov dword [esi + 0x15f8], ecx
mov ecx, dword [esi + 0xf0c]
mov dword [esi + 0x60], ecx
mov edi, eax
jmp 0x497325
cmp dword [esi + 0x1ffc], 0
je 0x498aaa
mov eax, dword [esi + 0x2000]
push eax
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x498aaa
cmp ecx, 0x22
jne 0x498a3a
cmp dword [esi + 0x1ac4], 0
jne 0x498a49
jmp 0x498a58
cmp ebx, 0xbb8
jae 0x49a1ac
lea eax, [esi + 0x15e0]
push eax
call fcn.004c8ae0
add esp, 4
mov edi, dword [esi + 0x1c]
jmp 0x496285
cmp dword [esi + 0x1adc], 0
je 0x498a58
mov eax, dword [esi + 0x1ae0]
push eax
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
movzx eax, byte [esi + 0x1d7c]
cmp al, 3
je 0x498a8d
cmp al, 2
je 0x498a8d
mov eax, dword [esi + 0x1d70]
lock dec dword [eax]
jne 0x498a8d
mov ecx, dword [esi + 0x1d70]
mov edx, dword [esi + 0x1d74]
mov dword [esi + 0x2e98], 0x35
call fcn.00462250
mov eax, dword [esi + 0x1fc0]
lock dec dword [eax]
mov edi, dword [esi + 0x10]
movzx ebx, byte [esi + 0x44]
jne 0x498aaa
lea ecx, [esi + 0x1fc0]
call fcn.00472520
cmp bl, 2
jne 0x498acd
mov dword [esi + 0xc], 0
mov dword [esi + 0x40], 2
mov dword [esi + 0x30], 0
mov dword [esi + 8], 0
jmp 0x498b25
lock dec dword [edi]
mov ecx, edi
jne 0x498aef
mov dword [esi + 0x10], ecx
mov edx, dword [esi + 0x2c]
mov dword [esi + 0x2e98], 0x2d
mov ecx, dword [esi + 0x10]
call fcn.00462250
mov ecx, dword [esi + 0x10]
mov dword [esi + 0xc], 0
lock dec dword [ecx]
mov dword [esi + 0x40], 2
mov dword [esi + 0x30], 0
mov dword [esi + 8], 0
jne 0x498b25
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x2c]
mov dword [esi + 0x2e98], 0x2c
call fcn.00462250
lea eax, [esi + 0x200]
lea ecx, [esi + 0x1ab0]
push 0x44
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x4c8
lea eax, [esi + 0xf00]
push eax
lea edi, [esi + 0x410]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x10c]
lea ecx, [esi + 0xebc]
mov dword [esi + 0x44], eax
lea eax, [esi + 0x1ab0]
push 0x44
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esi + 0x15e0]
push 0x4c8
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edi, dword [esi + 0xc]
mov ebx, dword [esi + 0x40]
lea eax, [esi + 0xebc]
lea ecx, [esi + 0x1a4]
push 0x44
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esi + 0x15e0]
lea ecx, [esi + 0x24e0]
push 0x4c8
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, word [esi + 0x13e]
movsd xmm1, qword [esi + 0x1f0]
movq xmm0, qword [esi + 0x1e8]
movq xmm2, qword [esi + 0x188]
lea ecx, [esi + 0x2268]
mov word [esi + 0x108], ax
movzx eax, byte [esi + 0x140]
movsd qword [esi + 0x15d0], xmm1
movsd xmm1, qword [esi + 0x1f8]
movq qword [esi + 0x15c8], xmm0
movq qword [esi + 0x3f0], xmm2
mov byte [esi + 0x10a], al
mov eax, dword [esi + 0xac]
movsd qword [esi + 0x15d8], xmm1
movsd xmm1, qword [esi + 0x190]
mov dword [esi + 0x6c], eax
movsd qword [esi + 0x3f8], xmm1
movq xmm1, qword [esi + 0x198]
mov eax, dword [esi + 0x1a0]
mov dword [esi + 0x408], eax
movq qword [esi + 0x400], xmm1
lea eax, [esi + 0xd80]
push 0x13c
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 8]
mov eax, ebx
mov dword [esi + 0xc], edi
xor eax, 3
or eax, ecx
or edi, edx
or eax, edi
jne 0x498cf6
lea eax, [esi + 0x1a4]
lea edi, [esi + 0x144]
push 0x44
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ebx, dword [esi + 0xdc]
lea eax, [ebx + 4]
push 0x44
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 4]
mov dword [ebx], eax
cmp byte [esi + 0xfc], 2
je 0x499e90
mov eax, dword [esi + 0xf0]
lock dec dword [eax]
jne 0x499e90
mov ecx, dword [esi + 0xf0]
mov edx, dword [esi + 0xf4]
mov dword [esi + 0x2e98], 0xffffffff
call fcn.00462250
jmp 0x499e90
mov dword [esi + 0x40], ebx
lea ebx, [esi + 0x144]
push 0x44
lea eax, [esi + 0x1a4]
push eax
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esi + 0x29a8]
push 0x4c8
lea ecx, [esi + 0x24e0]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movsd xmm1, qword [esi + 0x15d0]
movzx eax, word [esi + 0x108]
movsd xmm0, qword [esi + 0x15c8]
movsd xmm2, qword [esi + 0x3f0]
movsd qword [esi + 0xb8], xmm1
movsd xmm1, qword [esi + 0x15d8]
mov word [esi + 0x18], ax
movzx eax, byte [esi + 0x10a]
movsd qword [esi + 0xb0], xmm0
movsd qword [esi + 0x88], xmm2
movsd qword [esi + 0xc0], xmm1
movsd xmm1, qword [esi + 0x3f8]
mov byte [esi + 0x1a], al
mov eax, dword [esi + 0x408]
movsd qword [esi + 0x90], xmm1
movsd xmm1, qword [esi + 0x400]
mov dword [esi + 0xa0], eax
lea eax, [esi + 0x23a4]
movsd qword [esi + 0x98], xmm1
push 0x13c
lea ecx, [esi + 0x2268]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, word [esi + 0x13b]
mov word [esi + 0x14], ax
movzx eax, byte [esi + 0x13d]
mov byte [esi + 0x16], al
lea eax, [esi + 0x3ac]
push 0x44
push ebx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x1c]
mov eax, dword [eax + 0x58]
test byte [eax + 0x20], 2
jne 0x498e23
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x40]
mov edx, dword [esi + 0x30]
mov dword [esi + 0x64], 0
mov dword [esi + 0x5c], 1
lea ebx, [esi + 0xf10]
mov dword [esi + 0x28], 0
xor edi, edi
jmp 0x498e68
test byte [eax + 0x1c], 1
mov ecx, dword [esi + 0x40]
mov edx, dword [esi + 0x30]
jne 0x498e3a
mov eax, ecx
xor eax, 2
or eax, edx
or eax, edi
jne 0x498e4a
mov dword [esi + 0x64], 0
mov dword [esi + 0x5c], 1
jmp 0x498e56
mov al, 1
mov dword [esi + 0x5c], 0
mov dword [esi + 0x64], eax
mov eax, dword [esi + 4]
lea ebx, [esi + 0xf10]
xor edi, edi
mov dword [esi + 0x28], 0
mov dword [esi + 0xf10], ecx
mov ecx, dword [esi + 0xc]
mov dword [esi + 0xf18], edx
mov dword [esi + 0xf14], ecx
mov ecx, dword [esi + 8]
mov dword [esi + 0xf1c], ecx
mov dword [ebx + 0x10], eax
lea eax, [ebx + 0x14]
push 0x44
lea ecx, [esi + 0x3ac]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [ebx + 0x58]
push 0x4c8
lea ecx, [esi + 0x29a8]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x10]
movsd xmm1, qword [esi + 0xb8]
movq xmm0, qword [esi + 0xc0]
movsd xmm2, qword [esi + 0xb0]
mov dword [ebx + 0x520], eax
mov eax, dword [esi + 0x2c]
mov dword [ebx + 0x524], eax
mov eax, dword [esi + 0x50]
mov dword [ebx + 0x528], eax
movzx eax, byte [esi + 0x70]
mov byte [ebx + 0x52c], al
movzx eax, byte [esi + 0x1a]
mov byte [ebx + 0x52f], al
movzx eax, word [esi + 0x18]
mov word [ebx + 0x52d], ax
movsd qword [ebx + 0x538], xmm1
movsd xmm1, qword [esi + 0x98]
movsd qword [ebx + 0x530], xmm2
movq qword [ebx + 0x540], xmm0
mov eax, dword [esi + 0xa0]
movq xmm2, qword [esi + 0x88]
movsd qword [ebx + 0x558], xmm1
movq xmm1, qword [esi + 0x90]
mov dword [ebx + 0x560], eax
movq qword [ebx + 0x548], xmm2
lea eax, [ebx + 0x564]
movq qword [ebx + 0x550], xmm1
push 0x13c
lea ecx, [esi + 0x23a4]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x1c]
cmp byte [esi + 0x64], 0
mov dword [ebx + 0x6a0], eax
mov eax, dword [esi + 0x6c]
mov dword [ebx + 0x6a4], eax
mov eax, dword [esi + 0x44]
mov dword [ebx + 0x6a8], eax
movzx eax, word [esi + 0x14]
mov byte [ebx + 0x6ac], 0
mov word [ebx + 0x6ad], ax
movzx eax, byte [esi + 0x16]
mov byte [ebx + 0x6af], al
mov eax, dword [esi + 0x28]
mov dword [esi + 0xf0c], edi
mov dword [esi + 0xf08], eax
mov dword [esi + 0xf04], eax
mov eax, dword [esi + 0x5c]
mov dword [esi + 0xf00], eax
je 0x499051
lea eax, [esi + 0xf10]
lea ecx, [esi + 0x420]
push 0x6b0
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esi + 0x410], 1
mov dword [esi + 0x414], 1
xor ecx, ecx
mov edx, 0x6d0
movzx eax, byte [0x5b9430]
call fcn.0051b940
test eax, eax
je 0x49c85d
mov edi, eax
and edi, 0xfffffff0
mov dword [edi + 0xc], eax
add edi, 0x10
push 0x6c0
lea eax, [esi + 0x410]
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0xdc]
mov dword [eax + 4], edi
mov dword [eax + 8], 0x555f00
jmp 0x499e7d
mov eax, dword [esi + 0xf1c]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0xf18]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xf10]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0xf14]
mov dword [esi + 8], eax
mov eax, dword [esi + 0xf20]
mov dword [esi + 0x40], eax
lea eax, [esi + 0xf24]
push 0x44
push eax
lea eax, [esi + 0x3ac]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esi + 0xf68]
push 0x4c8
push eax
lea eax, [esi + 0x29a8]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x1430]
movsd xmm0, qword [esi + 0x1440]
movzx ebx, byte [esi + 0x143c]
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x1434]
movsd qword [esi + 0xb0], xmm0
movsd xmm0, qword [esi + 0x1448]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x1438]
movsd qword [esi + 0xb8], xmm0
movsd xmm0, qword [esi + 0x1450]
mov dword [esi + 0x6c], eax
movzx eax, word [esi + 0x143d]
movsd qword [esi + 0xc0], xmm0
movsd xmm0, qword [esi + 0x1458]
mov word [esi + 0x18], ax
mov eax, dword [esi + 0x1470]
movsd qword [esi + 0x88], xmm0
movsd xmm0, qword [esi + 0x1460]
mov dword [esi + 0xa0], eax
movzx eax, byte [esi + 0x143f]
movsd qword [esi + 0x90], xmm0
movsd xmm0, qword [esi + 0x1468]
mov byte [esi + 0x1a], al
movsd qword [esi + 0x98], xmm0
lea eax, [esi + 0x1474]
push 0x13c
push eax
lea eax, [esi + 0x23a4]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x15b0]
mov edi, dword [esi + 0x15b4]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x15b8]
mov dword [esi + 0x50], eax
movzx eax, word [esi + 0x15bd]
mov word [esi + 0x14], ax
movzx eax, byte [esi + 0x15bf]
mov byte [esi + 0x16], al
movzx eax, byte [esi + 0x15bc]
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x41c], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x418], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x414], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 0x410], eax
mov eax, dword [esi + 0x40]
mov dword [esi + 0x420], eax
lea eax, [esi + 0x424]
push 0x44
lea ecx, [esi + 0x3ac]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esi + 0x468]
push 0x4c8
lea ecx, [esi + 0x29a8]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x2c]
movsd xmm1, qword [esi + 0xb8]
movsd xmm0, qword [esi + 0xb0]
movq xmm2, qword [esi + 0x88]
mov byte [esi + 0x64], bl
mov dword [esi + 0x930], eax
mov eax, dword [esi + 0x44]
mov dword [esi + 0x934], eax
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x938], eax
movzx eax, word [esi + 0x18]
mov byte [esi + 0x93c], bl
mov word [esi + 0x93d], ax
movzx eax, byte [esi + 0x1a]
mov byte [esi + 0x93f], al
movsd qword [esi + 0x948], xmm1
movsd xmm1, qword [esi + 0xc0]
movsd qword [esi + 0x940], xmm0
mov eax, dword [esi + 0xa0]
movsd qword [esi + 0x950], xmm1
movsd xmm1, qword [esi + 0x90]
mov dword [esi + 0x970], eax
movq qword [esi + 0x958], xmm2
lea eax, [esi + 0x974]
movsd qword [esi + 0x960], xmm1
movq xmm1, qword [esi + 0x98]
movq qword [esi + 0x968], xmm1
push 0x13c
lea ecx, [esi + 0x23a4]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [esi + 0x10]
add esp, 0xc
mov eax, dword [esi + 0x50]
mov dword [esi + 0xab0], ecx
mov dword [esi + 0xab4], edi
mov dword [esi + 0x5c], edi
movzx edi, word [esi + 0x14]
movzx edx, byte [esi + 0x16]
mov dword [esi + 0xab8], eax
mov eax, dword [esi + 0x70]
mov byte [esi + 0xabc], al
mov word [esi + 0xabd], di
mov byte [esi + 0xabf], dl
lea edi, [esi + 0x29a8]
lea edx, [esi + 0x3ac]
cmp byte [ecx + 0x44], 0
je 0x49943b
mov eax, dword [ecx + 0x58]
lea ebx, [esi + 0xf00]
test byte [eax + 0x1c], 1
jne 0x49957e
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 8]
xor eax, 2
or ecx, dword [esi + 0x1c]
or eax, dword [esi + 0xc]
or ecx, eax
jne 0x49945e
cmp byte [esi + 0x70], 0
jne 0x49945e
lea eax, [esi + 0x1ab0]
push 0x44
lea ecx, [esi + 0x3ac]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x4c8
lea edi, [esi + 0x29a8]
push edi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movsd xmm1, qword [esi + 0xb8]
movzx eax, word [esi + 0x18]
movq xmm0, qword [esi + 0xb0]
movq xmm2, qword [esi + 0x88]
movsd qword [esi + 0xd88], xmm1
movsd xmm1, qword [esi + 0xc0]
mov word [esi + 0x1a4], ax
movzx eax, byte [esi + 0x1a]
movq qword [esi + 0xd80], xmm0
movq qword [esi + 0x250], xmm2
movsd qword [esi + 0xd90], xmm1
movsd xmm1, qword [esi + 0x90]
mov byte [esi + 0x1a6], al
mov eax, dword [esi + 0xa0]
movsd qword [esi + 0x258], xmm1
movq xmm1, qword [esi + 0x98]
mov dword [esi + 0x268], eax
movq qword [esi + 0x260], xmm1
push 0x13c
lea eax, [esi + 0x23a4]
push eax
lea ebx, [esi + 0x24e0]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, word [esi + 0x14]
movzx ecx, byte [esi + 0x16]
mov dword [esi + 8], 0
mov dword [esi + 0x30], 2
mov dword [esi + 0xc], 0
mov dword [esi + 0x1c], 0
jmp 0x49964f
lea eax, [esi + 0x1ab0]
push 0x44
push edx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x4c8
push edi
lea ebx, [esi + 0xf00]
jmp 0x4995a2
test byte [esi + 0x64], 1
jne 0x49957e
mov eax, dword [esi + 0x10]
mov ecx, dword [ebp + 0xc]
movdqa xmm0, xmmword [0x547730]
movzx eax, byte [eax + 0x42]
movdqu xmmword [esi + 0x15e0], xmm0
mov dword [esi + 0x1fd0], 0
mov dword [esi + 0x1fd4], 4
mov byte [esi + 0x15f0], 1
mov dword [esi + 0x1fd8], 0
mov byte [esi + 0xe0], al
mov eax, dword [ebp + 8]
lea ecx, [eax + ecx*4]
mov dword [esi + 0x4c], ecx
jmp 0x4994c6
mov eax, dword [esi + 4]
add eax, 4
cmp eax, dword [esi + 0x4c]
lea ecx, [esi + 0x1d40]
je 0x499ea4
mov dword [esi + 4], eax
mov eax, dword [eax]
mov dword [esi + 0x2e98], 0x21
lea edx, [esi + 0x15e0]
push eax
call fcn.004e9680
add esp, 4
lea ecx, [esi + 0x1fd0]
lea edx, [esi + 0x1d40]
mov dword [esi + 0x2e98], 0x22
call fcn.004a55d0
mov eax, dword [esi + 0x1d40]
cmp eax, 0x80000000
je 0x4994c0
mov ebx, dword [esi + 0x1d48]
mov ecx, dword [esi + 0x1d44]
mov dword [esi + 0x20], eax
test ebx, ebx
mov dword [esi + 0x28], ecx
je 0x49955e
mov eax, dword [esi + 0x28]
lea edi, [eax + 4]
jmp 0x499546
add edi, 0x10
dec ebx
je 0x49955e
cmp dword [edi - 4], 0
je 0x499540
push dword [edi]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x499540
cmp dword [esi + 0x20], 0
je 0x4994c0
push dword [esi + 0x28]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4994c0
lea eax, [esi + 0x1ab0]
push 0x44
lea ecx, [esi + 0x3ac]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x4c8
lea edi, [esi + 0x29a8]
push edi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movsd xmm1, qword [esi + 0xb8]
movzx eax, word [esi + 0x18]
movq xmm0, qword [esi + 0xb0]
movq xmm2, qword [esi + 0x88]
movsd qword [esi + 0xd88], xmm1
movsd xmm1, qword [esi + 0xc0]
mov word [esi + 0x1a4], ax
movzx eax, byte [esi + 0x1a]
movq qword [esi + 0xd80], xmm0
movq qword [esi + 0x250], xmm2
movsd qword [esi + 0xd90], xmm1
movsd xmm1, qword [esi + 0x90]
mov byte [esi + 0x1a6], al
mov eax, dword [esi + 0xa0]
movsd qword [esi + 0x258], xmm1
movq xmm1, qword [esi + 0x98]
mov dword [esi + 0x268], eax
movq qword [esi + 0x260], xmm1
push 0x13c
lea eax, [esi + 0x23a4]
push eax
lea ebx, [esi + 0x24e0]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, word [esi + 0x14]
movzx ecx, byte [esi + 0x16]
mov word [esi + 0x144], ax
mov byte [esi + 0x146], cl
lea eax, [esi + 0x1ab0]
push 0x44
push eax
lea edi, [esi + 0x3ac]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x4c8
lea eax, [esi + 0xf00]
push eax
lea ebx, [esi + 0x29a8]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, word [esi + 0x1a4]
movsd xmm1, qword [esi + 0xd90]
movaps xmm0, xmmword [esi + 0xd80]
movsd xmm2, qword [esi + 0x250]
mov word [esi + 0x18], ax
movzx eax, byte [esi + 0x1a6]
movsd qword [esi + 0xc0], xmm1
movsd xmm1, qword [esi + 0x258]
movaps xmmword [esi + 0xb0], xmm0
movsd qword [esi + 0x88], xmm2
mov byte [esi + 0x1a], al
movsd qword [esi + 0x90], xmm1
movsd xmm1, qword [esi + 0x260]
mov eax, dword [esi + 0x268]
movsd qword [esi + 0x98], xmm1
mov dword [esi + 0xa0], eax
push 0x13c
lea eax, [esi + 0x24e0]
push eax
lea edi, [esi + 0x23a4]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, word [esi + 0x144]
mov word [esi + 0x14], ax
movzx eax, byte [esi + 0x146]
mov byte [esi + 0x16], al
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x41c], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x418], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x414], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 0x410], eax
mov eax, dword [esi + 0x40]
mov dword [esi + 0x420], eax
push 0x44
lea eax, [esi + 0x3ac]
push eax
lea eax, [esi + 0x424]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x4c8
push ebx
lea eax, [esi + 0x468]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x2c]
movsd xmm1, qword [esi + 0xc0]
movdqa xmm0, xmmword [esi + 0xb0]
movq xmm2, qword [esi + 0x88]
mov dword [esi + 0x930], eax
mov eax, dword [esi + 0x44]
mov dword [esi + 0x934], eax
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x938], eax
movzx eax, byte [esi + 0x64]
mov byte [esi + 0x93c], al
movzx eax, word [esi + 0x18]
mov word [esi + 0x93d], ax
movzx eax, byte [esi + 0x1a]
mov byte [esi + 0x93f], al
movsd qword [esi + 0x950], xmm1
movsd xmm1, qword [esi + 0x90]
movdqa xmmword [esi + 0x940], xmm0
mov eax, dword [esi + 0xa0]
movq qword [esi + 0x958], xmm2
movsd qword [esi + 0x960], xmm1
movq xmm1, qword [esi + 0x98]
mov dword [esi + 0x970], eax
movq qword [esi + 0x968], xmm1
push 0x13c
push edi
lea eax, [esi + 0x974]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x5c]
movzx ebx, word [esi + 0x14]
movzx edx, byte [esi + 0x16]
mov dword [esi + 0xab0], ecx
mov dword [esi + 0xab4], eax
mov eax, dword [esi + 0x50]
mov dword [esi + 0xab8], eax
mov eax, dword [esi + 0x70]
mov byte [esi + 0xabc], al
mov word [esi + 0xabd], bx
mov byte [esi + 0xabf], dl
cmp byte [ecx + 0x44], 0
je 0x49999d
cmp byte [ecx + 0x42], 0
lea ebx, [esi + 0xf00]
je 0x499b40
mov eax, dword [ecx + 0x58]
test byte [eax + 0x1c], 1
jne 0x499b40
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 8]
xor eax, 2
or ecx, dword [esi + 0x1c]
or eax, dword [esi + 0xc]
or ecx, eax
jne 0x499a4c
cmp byte [esi + 0x70], 0
jne 0x499a4c
lea eax, [esi + 0x1d40]
push 0x44
lea ecx, [esi + 0x3ac]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x4c8
lea edi, [esi + 0x29a8]
push edi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, word [esi + 0x18]
movsd xmm1, qword [esi + 0xc0]
movdqa xmm0, xmmword [esi + 0xb0]
movq xmm2, qword [esi + 0x88]
mov word [esi + 0x144], ax
movzx eax, byte [esi + 0x1a]
movsd qword [esi + 0x210], xmm1
movsd xmm1, qword [esi + 0x90]
movdqa xmmword [esi + 0x200], xmm0
movq qword [esi + 0xd80], xmm2
mov byte [esi + 0x146], al
movsd qword [esi + 0xd88], xmm1
movq xmm1, qword [esi + 0x98]
mov eax, dword [esi + 0xa0]
movq qword [esi + 0xd90], xmm1
mov dword [esi + 0xd98], eax
push 0x13c
lea ebx, [esi + 0x23a4]
push ebx
lea eax, [esi + 0x1ab0]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, word [esi + 0x14]
movzx ecx, byte [esi + 0x16]
mov dword [esi + 0x70], 0
mov dword [esi + 0x30], 2
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x1c], 0
jmp 0x499c01
lea eax, [esi + 0x1d40]
push 0x44
lea ecx, [esi + 0x3ac]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x4c8
lea eax, [esi + 0x29a8]
push eax
lea eax, [esi + 0xf00]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, word [esi + 0x18]
movsd xmm1, qword [esi + 0xc0]
movdqa xmm0, xmmword [esi + 0xb0]
movq xmm2, qword [esi + 0x88]
mov word [esi + 0x144], ax
movzx eax, byte [esi + 0x1a]
movsd qword [esi + 0x210], xmm1
movsd xmm1, qword [esi + 0x90]
movdqa xmmword [esi + 0x200], xmm0
movq qword [esi + 0xd80], xmm2
mov byte [esi + 0x146], al
movsd qword [esi + 0xd88], xmm1
movq xmm1, qword [esi + 0x98]
mov eax, dword [esi + 0xa0]
movq qword [esi + 0xd90], xmm1
mov dword [esi + 0xd98], eax
push 0x13c
push edi
jmp 0x499bea
test byte [esi + 0x64], 1
jne 0x499b40
cmp dword [ebp + 0xc], 1
jne 0x49b123
mov eax, dword [ebp + 8]
lea edi, [esi + 0x1ab0]
mov eax, dword [eax]
mov ecx, dword [eax]
cmp ecx, 5
jne 0x499a7c
mov eax, dword [eax + 4]
mov ecx, dword [eax]
cmp ecx, 5
je 0x499a72
jb 0x49b129
cmp ecx, 6
jne 0x49b129
mov ebx, dword [eax + 0xc]
test ebx, ebx
je 0x49ae9b
cmp ebx, 0x4924925
jae 0x49cfec
mov eax, dword [eax + 8]
xor ecx, ecx
mov dword [esi + 0xc], eax
lea eax, [ebx + ebx*8]
lea edi, [eax + eax*2]
movzx eax, byte [0x5b9430]
add edi, ebx
mov edx, edi
call fcn.0051b940
test eax, eax
mov dword [esi + 8], eax
je 0x49d004
xor eax, eax
xor ecx, ecx
mov dword [esi + 0x2e98], 0x1d
mov dword [esi + 0x1c], ebx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x30], ecx
mov dword [esi + 4], eax
add edx, ecx
lea ecx, [esi + 0x15e0]
call fcn.004a6380
mov eax, dword [esi + 0x15f8]
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0x30]
mov ebx, dword [esi + 0x1c]
mov dword [ecx + edx + 0x18], eax
mov eax, dword [esi + 4]
movsd xmm0, qword [esi + 0x15f0]
inc eax
movsd qword [ecx + edx + 0x10], xmm0
movq xmm0, qword [esi + 0x15e0]
movq xmm1, qword [esi + 0x15e8]
movq qword [ecx + edx + 8], xmm1
movq qword [ecx + edx], xmm0
add edx, 0x1c
cmp ebx, eax
mov ecx, edx
jne 0x499adc
jmp 0x49aea2
lea eax, [esi + 0x1d40]
push 0x44
lea ecx, [esi + 0x3ac]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x4c8
lea edi, [esi + 0x29a8]
push edi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, word [esi + 0x18]
movsd xmm1, qword [esi + 0xc0]
movdqa xmm0, xmmword [esi + 0xb0]
movq xmm2, qword [esi + 0x88]
mov word [esi + 0x144], ax
movzx eax, byte [esi + 0x1a]
movsd qword [esi + 0x210], xmm1
movsd xmm1, qword [esi + 0x90]
movdqa xmmword [esi + 0x200], xmm0
movq qword [esi + 0xd80], xmm2
mov byte [esi + 0x146], al
movsd qword [esi + 0xd88], xmm1
movq xmm1, qword [esi + 0x98]
mov eax, dword [esi + 0xa0]
movq qword [esi + 0xd90], xmm1
mov dword [esi + 0xd98], eax
push 0x13c
lea ebx, [esi + 0x23a4]
push ebx
lea eax, [esi + 0x1ab0]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, word [esi + 0x14]
movzx ecx, byte [esi + 0x16]
mov word [esi + 0x110], ax
mov byte [esi + 0x112], cl
lea eax, [esi + 0x1d40]
push 0x44
push eax
lea edi, [esi + 0x3ac]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x4c8
lea eax, [esi + 0xf00]
push eax
lea ebx, [esi + 0x29a8]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, word [esi + 0x144]
movsd xmm1, qword [esi + 0x210]
movaps xmm0, xmmword [esi + 0x200]
movsd xmm2, qword [esi + 0xd80]
mov word [esi + 0x18], ax
movzx eax, byte [esi + 0x146]
movsd qword [esi + 0xc0], xmm1
movsd xmm1, qword [esi + 0xd88]
movaps xmmword [esi + 0xb0], xmm0
movsd qword [esi + 0x88], xmm2
mov byte [esi + 0x1a], al
mov eax, dword [esi + 0xd98]
movsd qword [esi + 0x90], xmm1
movsd xmm1, qword [esi + 0xd90]
movsd qword [esi + 0x98], xmm1
mov dword [esi + 0xa0], eax
push 0x13c
lea eax, [esi + 0x1ab0]
push eax
lea eax, [esi + 0x23a4]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, word [esi + 0x110]
mov word [esi + 0x14], ax
movzx eax, byte [esi + 0x112]
mov byte [esi + 0x16], al
lea eax, [esi + 0x434]
push 0x44
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esi + 0x478]
push 0x4c8
push ebx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x2c]
movsd xmm1, qword [esi + 0xc0]
movdqa xmm0, xmmword [esi + 0xb0]
movq xmm2, qword [esi + 0x88]
mov dword [esi + 0x940], eax
mov eax, dword [esi + 0x44]
mov dword [esi + 0x944], eax
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x948], eax
movzx eax, byte [esi + 0x64]
mov byte [esi + 0x94c], al
movzx eax, word [esi + 0x18]
mov word [esi + 0x94d], ax
movzx eax, byte [esi + 0x1a]
mov byte [esi + 0x94f], al
movsd qword [esi + 0x960], xmm1
movsd xmm1, qword [esi + 0x90]
mov eax, dword [esi + 0xa0]
movdqa xmmword [esi + 0x950], xmm0
movq qword [esi + 0x968], xmm2
movsd qword [esi + 0x970], xmm1
movq xmm1, qword [esi + 0x98]
mov dword [esi + 0x980], eax
lea eax, [esi + 0x984]
movq qword [esi + 0x978], xmm1
push 0x13c
lea ecx, [esi + 0x23a4]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, word [esi + 0x14]
xor ecx, ecx
mov edx, 0x6d0
mov word [esi + 0xacd], ax
movzx eax, byte [esi + 0x16]
mov byte [esi + 0xacf], al
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x410], 1
mov dword [esi + 0x414], 1
mov dword [esi + 0x42c], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x428], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x424], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 0x420], eax
mov eax, dword [esi + 0x40]
mov dword [esi + 0x430], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0xac0], eax
mov eax, dword [esi + 0x5c]
mov dword [esi + 0xac4], eax
mov eax, dword [esi + 0x50]
mov dword [esi + 0xac8], eax
mov eax, dword [esi + 0x70]
mov byte [esi + 0xacc], al
movzx eax, byte [0x5b9430]
call fcn.0051b940
test eax, eax
je 0x49c87b
mov edi, eax
and edi, 0xfffffff0
mov dword [edi + 0xc], eax
add edi, 0x10
push 0x6c0
lea eax, [esi + 0x410]
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0xdc]
mov dword [eax + 4], edi
mov dword [eax + 8], 0x555ffc
mov dword [eax], 2
cmp byte [esi + 0xfc], 2
jne 0x498cc7
mov eax, dword [esi + 0x2e90]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
cmp byte [esi + 0xe0], 0
lea ecx, [esi + 0x1fd0]
mov dword [esi + 0x2e98], 0x21
je 0x499ec6
xor edx, edx
call fcn.004ec4c0
jmp 0x499ee2
call fcn.004a4b10
cmp dword [esi + 0x1fd0], 0x80000000
je 0x499ee2
lea ecx, [esi + 0x1fd0]
call fcn.004a5410
movq xmm0, qword [esi + 0x1fd0]
mov eax, dword [esi + 0x1fd8]
movq qword [esi + 0x200], xmm0
mov dword [esi + 0x208], eax
mov eax, dword [esi + 0x200]
cmp eax, 0x80000000
mov dword [esi + 0xd8], eax
je 0x49a031
mov eax, dword [esi + 0x208]
test eax, eax
je 0x49a031
mov ecx, dword [esi + 0x204]
shl eax, 4
lea ebx, [esi + 0xf00]
mov edx, dword [ecx + 4]
mov edi, dword [ecx + 8]
add eax, ecx
mov dword [esi + 0x20], ecx
mov ecx, 1
mov dword [esi + 0x104], eax
lea eax, [edx + edi]
mov dword [esi + 0x100], edx
mov edx, edi
mov dword [esi + 0xd4], edi
mov dword [esi + 0x28], eax
xor eax, eax
jmp 0x499f78
mov edx, dword [esi + 0xe0]
lea ebx, [esi + 0xf00]
xor ecx, ecx
mov al, 1
test edx, edx
je 0x49a9e4
test al, 1
mov dword [esi + 4], edx
je 0x499f95
mov edi, dword [esi + 0x20]
mov eax, dword [esi + 0xd4]
cmp edi, dword [esi + 0x104]
jne 0x499fb6
jmp 0x49a9ac
mov eax, dword [esi + 0x104]
mov edi, dword [esi + 0x20]
sub eax, edi
shr eax, 4
cmp eax, ecx
mov eax, dword [esi + 0xd4]
jbe 0x49a9ac
shl ecx, 4
add edi, ecx
mov ecx, eax
sub ecx, edx
jb 0x49cd34
mov eax, dword [edi + 8]
test eax, eax
je 0x49a9e4
mov edx, eax
mov eax, edi
add ecx, dword [esi + 0x100]
mov edi, dword [edi + 4]
add eax, 0x10
mov dword [esi + 0x60], edx
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x28]
add edi, edx
mov dword [esi + 0x4c], edi
sub eax, ecx
mov ecx, edx
xor edx, edx
mov dword [esi + 0xe0], eax
neg ecx
mov eax, 0xffffffff
nop dword [eax]
mov ebx, dword [esi + 4]
add ebx, eax
cmp ebx, 0xffffffff
je 0x499f60
mov edi, dword [esi + 0x4c]
movzx ebx, byte [edi + eax]
mov edi, dword [esi + 0x28]
cmp bl, byte [edi + eax]
jne 0x499f66
inc edx
mov ebx, ecx
dec eax
add ebx, edx
jne 0x49a000
mov edx, dword [esi + 0x60]
jmp 0x499f66
lea eax, [esi + 0x1ab0]
push 0x44
lea ecx, [esi + 0x3ac]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x4c8
lea eax, [esi + 0x29a8]
push eax
lea ebx, [esi + 0xf00]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movsd xmm1, qword [esi + 0xb8]
movzx eax, word [esi + 0x18]
movq xmm0, qword [esi + 0xb0]
movq xmm2, qword [esi + 0x88]
movsd qword [esi + 0xd88], xmm1
movsd xmm1, qword [esi + 0xc0]
mov word [esi + 0x1a4], ax
movzx eax, byte [esi + 0x1a]
movq qword [esi + 0xd80], xmm0
movq qword [esi + 0x250], xmm2
movsd qword [esi + 0xd90], xmm1
movsd xmm1, qword [esi + 0x90]
mov byte [esi + 0x1a6], al
mov eax, dword [esi + 0xa0]
movsd qword [esi + 0x258], xmm1
movq xmm1, qword [esi + 0x98]
mov dword [esi + 0x268], eax
movq qword [esi + 0x260], xmm1
push 0x13c
lea edi, [esi + 0x23a4]
push edi
jmp 0x49aa9e
mov eax, dword [esi + 0x598]
mov dword [esi + 4], edx
mov ecx, dword [eax]
call fcn.004729c0
mov dword [esi + 0x30], eax
mov edx, dword [esi + 4]
xor eax, eax
jmp 0x49a123
mov eax, dword [esi + 0x42c]
mov dword [eax + edx*4], ebx
mov eax, dword [esi + 4]
inc edx
mov dword [esi + 0x430], edx
cmp eax, dword [esi + 0x30]
jae 0x4985a7
mov ecx, dword [esi + 0x598]
mov ecx, dword [ecx]
cmp dword [ecx + 0x15c], eax
jbe 0x49cd25
mov edi, edx
lea edx, [eax + 1]
cmp edi, edx
mov dword [esi + 4], edi
jne 0x49cd09
mov edi, dword [ecx + 0x158]
lea ecx, [esi + 0xf00]
lea edx, [esi + 0x410]
push dword [edi + eax*4]
call fcn.00472800
add esp, 4
mov eax, dword [esi + 0xf00]
mov ebx, dword [esi + 0xf04]
cmp eax, 0x30
jne 0x49a92e
mov edx, dword [esi + 0x430]
cmp edx, dword [esi + 0x428]
jne 0x49a110
lea ecx, [esi + 0x428]
mov dword [esi + 0x4c], ebx
call fcn.00462650
mov edx, dword [esi + 0x430]
mov ebx, dword [esi + 0x4c]
jmp 0x49a110
mov eax, dword [esi + 0x15e0]
mov edi, dword [esi + 0x1c]
cmp eax, 0x80000000
je 0x496285
mov edx, dword [esi + 0x15e8]
mov ecx, dword [esi + 0x15e4]
mov dword [esi + 0x1d40], eax
xor eax, eax
mov dword [esi + 0x24fc], 3
mov byte [esi + 0x2502], 0
mov dword [esi + 0x24e0], 2
mov dword [esi + 0x24e4], 3
mov byte [esi + 0x24ea], 0
mov byte [esi + 0x24ec], 1
mov dword [esi + 0x24f0], 3
mov byte [esi + 0x24f6], 0
mov dword [esi + 0x2e98], 3
cmp edx, 0x1f5
mov dword [esi + 0x70], ecx
mov dword [esi + 0x1d44], ecx
mov dword [esi + 0x1d48], edx
mov dword [esi + 0x10], edx
lea edx, [esi + 0x24fc]
lea ecx, [esi + 0xf00]
adc al, 1
mov byte [esi + 0x2504], al
mov word [esi + 0x2500], 1
mov word [esi + 0x24e8], 1
mov word [esi + 0x24f4], 1
mov word [esi + 0x24f8], 0x100
mov byte [esi + 0x2505], 0
call fcn.00444f60
mov edi, dword [esi + 0x10b4]
mov eax, dword [esi + 0xf00]
movq xmm1, qword [esi + 0xf04]
movzx ecx, byte [esi + 0xf0c]
movzx edx, byte [esi + 0xf0d]
movzx ebx, word [esi + 0xf0e]
cmp edi, 0x80000000
je 0x49ad98
mov dword [esi + 8], ecx
mov ecx, dword [esi + 0xf10]
mov dword [esi + 4], eax
mov word [esi + 0xc], bx
lea eax, [esi + 0xf18]
mov dword [esi + 0x40], ecx
mov ecx, dword [esi + 0xf14]
mov dword [esi + 0x2c], ecx
lea ecx, [esi + 0x428]
push 0x19c
push eax
push ecx
movdqa xmmword [esi + 0x30], xmm1
mov ebx, edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esi + 0x10b8]
lea ecx, [esi + 0x5c8]
push 0x168
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 4]
movdqa xmm0, xmmword [esi + 0x30]
mov edx, dword [esi + 0x2c]
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x410], eax
mov eax, dword [esi + 8]
movq qword [esi + 0x414], xmm0
mov byte [esi + 0x41c], al
mov byte [esi + 0x41d], bl
movzx ebx, word [esi + 0xc]
mov word [esi + 0x41e], bx
mov dword [esi + 0x424], edx
mov dword [esi + 0x420], ecx
mov dword [esi + 0x5c4], edi
mov edx, dword [esi + 0x5d8]
cmp edx, dword [esi + 0x5d0]
jne 0x49a37d
lea ecx, [esi + 0x5d0]
mov dword [esi + 0x2e98], 8
call fcn.004a0150
mov edx, dword [esi + 0x5d8]
mov eax, dword [esi + 0x5d4]
lea ecx, [edx + edx*8]
inc edx
mov byte [eax + ecx], 0
mov dword [eax + ecx + 1], 0
mov dword [eax + ecx + 5], 0
mov dword [esi + 0x5d8], edx
mov edx, dword [esi + 0x5f0]
cmp edx, dword [esi + 0x5e8]
jne 0x49a3ca
lea ecx, [esi + 0x5e8]
mov dword [esi + 0x2e98], 8
call fcn.00531740
mov edx, dword [esi + 0x5f0]
mov eax, dword [esi + 0x5ec]
mov dword [eax + edx*8], 0
mov dword [eax + edx*8 + 4], 0
inc edx
mov dword [esi + 0x2e98], 8
mov dword [esi + 0x5f0], edx
mov edx, dword [esi + 0x5e4]
cmp edx, dword [esi + 0x5dc]
jne 0x49a40f
lea ecx, [esi + 0x5dc]
call fcn.00462650
mov edx, dword [esi + 0x5e4]
mov eax, dword [esi + 0x5e0]
lea ecx, [esi + 0xf00]
mov dword [eax + edx*4], 0
inc edx
mov dword [esi + 0x5e4], edx
lea edx, [esi + 0x5c4]
push 0
call fcn.00444de0
add esp, 4
mov eax, dword [esi + 0xf00]
cmp eax, 3
jne 0x49ad32
lea ecx, [esi + 0xf00]
lea edx, [esi + 0x5c4]
push 0
call fcn.00444de0
add esp, 4
mov eax, dword [esi + 0xf00]
cmp eax, 3
jne 0x49ad32
lea ecx, [esi + 0xf00]
lea edx, [esi + 0x5c4]
push 0
call fcn.00444de0
add esp, 4
mov eax, dword [esi + 0xf00]
cmp eax, 3
mov dword [esi + 4], eax
jne 0x49ad35
mov eax, dword [esi + 0xf04]
lea ecx, [esi + 0xf00]
lea edx, [esi + 0x5c4]
mov dword [esi + 0x71c], eax
push 0
call fcn.00444de0
add esp, 4
mov eax, dword [esi + 0xf00]
cmp eax, 3
mov dword [esi + 4], eax
jne 0x49ad35
mov eax, dword [esi + 0xf04]
lea ecx, [esi + 0xf00]
lea edx, [esi + 0x410]
mov dword [esi + 0x720], eax
call fcn.00447390
mov eax, dword [esi + 0xf00]
cmp eax, 3
mov dword [esi + 4], eax
jne 0x49ad35
lea ecx, [esi + 0xf00]
lea edx, [esi + 0x5c4]
push 0
push 0
call fcn.00447410
add esp, 8
mov eax, dword [esi + 0xf00]
cmp eax, 3
mov dword [esi + 4], eax
jne 0x49ad35
cmp dword [esi + 0x10], 0
je 0x49a8d1
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x70]
mov dword [esi + 0x50], 0
lea eax, [eax + eax*2]
lea eax, [ecx + eax*4]
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x50]
mov dword [esi + 0x250], eax
mov eax, dword [esi + 0x70]
mov eax, dword [eax + 8]
cmp eax, 0x7ffffffe
mov dword [esi + 0x44], eax
ja 0x49c7ce
mov ecx, dword [esi + 0x70c]
mov edx, dword [esi + 0x44]
mov eax, dword [esi + 0x70]
mov edi, dword [esi + 0x5fc]
cmp ecx, edx
mov eax, dword [eax + 4]
mov dword [esi + 0x29a8], edi
cmovae ecx, edx
mov dword [esi + 0x70c], ecx
mov ecx, dword [esi + 0x710]
mov dword [esi + 0x40], eax
cmp ecx, edx
cmovbe ecx, edx
cmp dword [esi + 0x50], edi
mov dword [esi + 0x710], ecx
jne 0x49d0aa
mov ecx, dword [esi + 0x50]
cmp ecx, dword [esi + 0x5f4]
lea eax, [ecx + 1]
mov dword [esi + 0x64], eax
jne 0x49a5d4
mov edx, dword [esi + 0x50]
lea ecx, [esi + 0x5f4]
mov dword [esi + 0x2e98], 8
call fcn.00462650
mov ecx, dword [esi + 0x5fc]
lea eax, [ecx + 1]
mov edx, dword [esi + 0x5f8]
mov edi, dword [esi + 0x44]
mov dword [edx + ecx*4], edi
mov dword [esi + 0x5fc], eax
mov eax, dword [esi + 0x5c0]
cmp byte [eax + 5], 0
je 0x49a610
mov edx, dword [esi + 0x40]
mov dword [esi + 0x2e98], 8
lea ecx, [esi + 0x430]
push dword [esi + 0x44]
call fcn.0044dac0
add esp, 4
mov eax, dword [esi + 0x71c]
cmp dword [esi + 0x44], 0
mov dword [esi + 0x30], eax
je 0x49a87d
mov eax, dword [esi + 0x40]
mov dword [esi + 0xc], 0
mov dword [esi + 0x6c], 0
add dword [esi + 0x44], eax
jmp 0x49a652
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x10]
inc dword [esi + 0x6c]
inc eax
mov dword [esi + 0x30], ecx
cmp eax, dword [esi + 0x44]
mov dword [esi + 0x40], eax
je 0x49a883
mov eax, dword [esi + 0x40]
test byte [esi + 0xc], 1
movzx eax, byte [eax]
mov byte [esi + 8], al
mov al, 1
mov dword [esi + 0xc], eax
jne 0x49a68c
mov edx, dword [esi + 0x5cc]
cmp dword [esi + 0x30], edx
jae 0x49cf65
mov ecx, dword [esi + 0x30]
mov eax, dword [esi + 0x5c8]
lea ecx, [ecx + ecx*4]
cmp dword [eax + ecx*4 + 8], 0
setne al
mov dword [esi + 0xc], eax
cmp byte [esi + 0xc], 0
je 0x49a6a2
mov eax, dword [esi + 0x5c0]
cmp byte [eax + 4], 1
je 0x49a8b9
movzx edx, byte [esi + 8]
lea ecx, [esi + 0x410]
mov dword [esi + 0x2c], edx
push edx
call fcn.0044a330
add esp, 4
mov eax, dword [esi + 0x5c0]
cmp byte [eax + 6], 0
je 0x49a6fc
movzx eax, byte [esi + 8]
add al, 0xbf
cmp al, 0x1a
jae 0x49a6d6
movzx eax, byte [esi + 8]
or al, 0x20
jmp 0x49a6ea
movzx ecx, byte [esi + 8]
mov eax, ecx
xor cl, 0x20
add al, 0x9f
cmp al, 0x1a
movzx eax, cl
cmovae eax, dword [esi + 0x2c]
movzx edx, al
lea ecx, [esi + 0x410]
push edx
call fcn.0044a330
add esp, 4
mov edx, dword [esi + 0x5cc]
cmp edx, dword [esi + 0x30]
jbe 0x49cd5a
mov ecx, dword [esi + 0x30]
mov eax, dword [esi + 0x5c8]
lea ecx, [ecx + ecx*4]
mov ecx, dword [eax + ecx*4 + 4]
test ecx, ecx
je 0x49a753
mov eax, dword [esi + 0x2c]
mov edx, dword [esi + 0x5e4]
movzx eax, byte [esi + eax + 0x60c]
add ecx, eax
cmp ecx, edx
jae 0x49cf49
shl ecx, 2
add ecx, dword [esi + 0x5e0]
mov eax, dword [ecx]
cmp eax, 1
mov dword [esi + 0x10], eax
jne 0x49a639
jmp 0x49a7a3
mov edx, dword [esi + 0x30]
lea ecx, [esi + 0x5c4]
mov dword [esi + 0x2e98], 8
call fcn.00444930
movzx ebx, byte [esi + 8]
test edx, edx
je 0x49a7a3
mov edi, dword [eax + 0x14]
cmp edx, edi
jae 0x49c83d
mov ecx, dword [eax + 0x10]
lea edi, [edx + edx*8]
movzx edx, byte [ecx + edi]
cmp dl, bl
mov edx, dword [ecx + edi + 5]
jb 0x49a76f
jne 0x49a7a3
add ecx, edi
inc ecx
mov eax, dword [ecx]
cmp eax, 1
mov dword [esi + 0x10], eax
jne 0x49a639
mov dword [esi + 0x2e98], 8
lea ecx, [esi + 0xf00]
lea edx, [esi + 0x5c4]
push dword [esi + 0x6c]
call fcn.00444de0
add esp, 4
mov eax, dword [esi + 0xf00]
mov ecx, dword [esi + 0xf04]
cmp eax, 3
mov dword [esi + 0x10], ecx
mov dword [esi + 4], eax
jne 0x49c5a6
lea ecx, [esi + 0xf00]
lea edx, [esi + 0x5c4]
push dword [esi + 0x10]
push dword [esi + 0x2c]
push dword [esi + 0x30]
call fcn.00444990
add esp, 0xc
mov eax, dword [esi + 0xf00]
cmp eax, 3
mov dword [esi + 4], eax
jne 0x49c4f5
mov eax, dword [esi + 0x5c0]
cmp byte [eax + 6], 0
je 0x49a639
movzx eax, byte [esi + 8]
add al, 0xbf
cmp al, 0x1a
jae 0x49a830
movzx eax, byte [esi + 8]
or al, 0x20
jmp 0x49a848
movzx ecx, byte [esi + 8]
mov edx, dword [esi + 0x2c]
mov eax, ecx
xor cl, 0x20
add al, 0x9f
cmp al, 0x1a
movzx eax, cl
cmovb edx, eax
mov eax, edx
movzx eax, al
lea ecx, [esi + 0xf00]
lea edx, [esi + 0x5c4]
push dword [esi + 0x10]
push eax
push dword [esi + 0x30]
call fcn.00444990
add esp, 0xc
mov eax, dword [esi + 0xf00]
cmp eax, 3
mov dword [esi + 4], eax
je 0x49a639
jmp 0x49c4f5
mov eax, dword [esi + 0x30]
mov dword [esi + 0x10], eax
mov dword [esi + 0x2e98], 8
lea ecx, [esi + 0xf00]
lea edx, [esi + 0x5c4]
push dword [esi + 0x50]
push dword [esi + 0x10]
call fcn.00444cd0
add esp, 8
mov eax, dword [esi + 0xf00]
cmp eax, 3
mov dword [esi + 4], eax
jne 0x49c4f5
mov eax, dword [esi + 0x70]
mov ecx, dword [esi + 0x64]
add eax, 0xc
mov dword [esi + 0x50], ecx
cmp eax, dword [esi + 0x28]
mov dword [esi + 0x70], eax
jne 0x49a542
mov ebx, dword [esi + 0x5cc]
cmp dword [esi + 0x5c4], ebx
jbe 0x49c630
mov eax, dword [esi + 0x5c8]
test ebx, ebx
je 0x49c606
lea ecx, [ebx*4]
lea edi, [ecx + ecx*4]
push edi
push eax
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapReAlloc]
test eax, eax
jne 0x49c61a
mov ecx, 4
mov edx, edi
mov dword [esi + 0x2e98], 8
call fcn.0053b730
jmp 0x49d17d
mov ecx, dword [esi + 0xf08]
movsd xmm2, qword [esi + 0xf1c]
movsd xmm1, qword [esi + 0xf24]
movsd xmm0, qword [esi + 0xf10]
mov dword [esi + 0x20], ecx
mov ecx, dword [esi + 0xf0c]
movaps xmmword [esi + 0xe0], xmm2
movsd qword [esi + 0x15e0], xmm1
movsd xmm2, qword [esi + 0xf2c]
movsd xmm1, qword [esi + 0xf34]
movsd qword [esi + 0x250], xmm0
mov dword [esi + 0x60], ecx
mov ecx, dword [esi + 0xf18]
movsd qword [esi + 0x15e8], xmm2
movsd qword [esi + 0x15f0], xmm1
mov dword [esi + 0x258], ecx
mov ecx, dword [esi + 0xf3c]
mov dword [esi + 0x15f8], ecx
jmp 0x4989d9
mov ecx, eax
sub ecx, edx
jb 0x49cfca
test edx, edx
mov edi, edx
je 0x49a9e4
mov edi, dword [esi + 0x100]
add edi, ecx
cmp edx, 1
jne 0x49acb6
movzx edx, byte [edi]
mov dword [esi + 0x2e98], 0x20
mov ecx, 0x80000000
jmp 0x49b39b
lea eax, [esi + 0x1ab0]
push 0x44
lea ecx, [esi + 0x3ac]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x4c8
lea eax, [esi + 0x29a8]
push eax
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movsd xmm1, qword [esi + 0xb8]
movzx eax, word [esi + 0x18]
movq xmm0, qword [esi + 0xb0]
movq xmm2, qword [esi + 0x88]
movsd qword [esi + 0xd88], xmm1
movsd xmm1, qword [esi + 0xc0]
mov word [esi + 0x1a4], ax
movzx eax, byte [esi + 0x1a]
movq qword [esi + 0xd80], xmm0
movq qword [esi + 0x250], xmm2
movsd qword [esi + 0xd90], xmm1
movsd xmm1, qword [esi + 0x90]
mov byte [esi + 0x1a6], al
mov eax, dword [esi + 0xa0]
movsd qword [esi + 0x258], xmm1
movq xmm1, qword [esi + 0x98]
mov dword [esi + 0x268], eax
movq qword [esi + 0x260], xmm1
push 0x13c
lea eax, [esi + 0x23a4]
push eax
lea eax, [esi + 0x24e0]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, word [esi + 0x14]
movzx ecx, byte [esi + 0x16]
mov word [esi + 0x144], ax
mov byte [esi + 0x146], cl
cmp dword [esi + 0xd8], 0x80000000
je 0x49965c
mov ebx, dword [esi + 0x208]
mov eax, dword [esi + 0x204]
test ebx, ebx
mov dword [esi + 4], eax
je 0x49ab0b
mov eax, dword [esi + 4]
lea edi, [eax + 4]
jmp 0x49aaf3
add edi, 0x10
dec ebx
je 0x49ab0b
cmp dword [edi - 4], 0
je 0x49aaed
push dword [edi]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x49aaed
cmp dword [esi + 0xd8], 0
je 0x49965c
push dword [esi + 4]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x49965c
mov ecx, dword [esi + 0xdc]
cmp dword [esi + 4], 0x80000000
mov dword [ecx + 4], eax
mov dword [ecx + 8], edx
mov dword [ecx], 2
je 0x499e90
mov ebx, dword [esi + 0x1fd8]
mov eax, dword [esi + 0x1fd4]
test ebx, ebx
mov dword [esi + 0x30], eax
je 0x49ac96
mov eax, dword [esi + 0x30]
lea edi, [eax + 4]
jmp 0x49ac7e
add edi, 0x10
dec ebx
je 0x49ac96
cmp dword [edi - 4], 0
je 0x49ac78
push dword [edi]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x49ac78
cmp dword [esi + 4], 0
je 0x499e90
push dword [esi + 0x30]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x499e90
mov eax, edx
mov byte [esi + 0x4b], 1
mov dword [esi + 0x2e98], 0x20
lea ecx, [esi + 0x15e0]
mov edx, edi
push eax
call fcn.004a5810
add esp, 4
mov eax, dword [esi + 0x1620]
mov edi, dword [esi + 0x161c]
cmp dword [esi + 0x1618], 0
mov dword [esi + 0x28], eax
jne 0x49b2b4
test eax, eax
je 0x49b2a0
js 0x49d041
movzx eax, byte [0x5b9430]
mov edx, dword [esi + 0x28]
xor ecx, ecx
call fcn.0051b940
mov ebx, eax
test eax, eax
jne 0x49b2a5
mov edx, dword [esi + 0x28]
mov ecx, 1
mov byte [esi + 0x4b], 1
call fcn.0053b730
jmp 0x49d17d
mov dword [esi + 4], eax
movq xmm0, qword [esi + 0xf04]
movzx eax, byte [esi + 0xf0c]
movzx edx, byte [esi + 0xf0d]
movzx ecx, word [esi + 0xf0e]
movdqa xmmword [esi + 0x30], xmm0
mov dword [esi + 8], eax
mov byte [esi + 0x70], dl
mov word [esi + 0xc], cx
lea ecx, [esi + 0x430]
call fcn.004a01f0
lea eax, [esi + 0x5c4]
mov dword [esi + 0x2e98], 3
push eax
call fcn.004a02e0
add esp, 4
movdqa xmm1, xmmword [esi + 0x30]
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
movzx edx, byte [esi + 0x70]
movzx ebx, word [esi + 0xc]
cmp eax, 3
jne 0x49ae3c
cmp dl, 3
je 0x49ae3c
movq qword [esi + 0x1ab0], xmm1
mov byte [esi + 0x1ab8], cl
lea ecx, [esi + 0x1ab0]
mov byte [esi + 0x1ab9], dl
mov word [esi + 0x1aba], bx
call fcn.0049fec0
mov dword [esi + 0x30], eax
mov ebx, dword [esi + 0x1d48]
mov eax, dword [esi + 0x1d44]
test ebx, ebx
mov dword [esi + 4], eax
je 0x49ae0c
mov eax, dword [esi + 4]
lea edi, [eax + 4]
jmp 0x49adf4
add edi, 0xc
dec ebx
je 0x49ae0c
cmp dword [edi - 4], 0
je 0x49adee
push dword [edi]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x49adee
cmp dword [esi + 0x1d40], 0
je 0x49ae26
push dword [esi + 4]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esi + 0x1fd0]
mov eax, dword [esi + 0x30]
mov edx, 0x55617c
mov dword [esi + 4], ecx
jmp 0x49ac3e
mov ebx, dword [esi + 0x1d48]
mov eax, dword [esi + 0x1d44]
test ebx, ebx
mov dword [esi + 4], eax
je 0x49ae75
mov eax, dword [esi + 4]
lea edi, [eax + 4]
jmp 0x49ae5d
add edi, 0xc
dec ebx
je 0x49ae75
cmp dword [edi - 4], 0
je 0x49ae57
push dword [edi]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x49ae57
cmp dword [esi + 0x1d40], 0
mov edi, dword [esi + 0x1c]
je 0x496285
push dword [esi + 4]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x496285
mov dword [esi + 8], 4
mov eax, dword [esi + 8]
lea ecx, [esi + 0x1fd0]
lea edx, [esi + 0x15e0]
mov dword [esi + 0x15e0], ebx
mov byte [esi + 0x1b], 1
mov dword [esi + 0x2e98], 0x11
mov dword [esi + 0x15e4], eax
mov dword [esi + 0x15e8], ebx
call fcn.004fc800
lea ecx, [esi + 0x15e0]
lea edx, [esi + 0x1fd0]
mov byte [esi + 0x1b], 1
call fcn.00500500
cmp dword [esi + 0x15e0], 6
jne 0x49afc8
mov eax, dword [esi + 0x15e4]
lea ebx, [esi + 0xf00]
lea edi, [esi + 0x1ab0]
cmp eax, 0x80000000
je 0x49b129
mov edx, dword [esi + 0x15ec]
mov ecx, dword [esi + 0x15e8]
mov edi, 1
mov dword [esi + 0xebc], eax
mov dword [esi + 0xec0], ecx
mov dword [esi + 0x30], edx
mov dword [esi + 0xec4], edx
jmp 0x49af3f
mov edi, ebx
cmp edi, dword [esi + 0x30]
jae 0x49b0dc
mov edx, dword [esi + 0xec4]
mov dword [esi + 0x2e98], 0x16
mov eax, edx
sub eax, edi
mov dword [esi + 8], eax
jbe 0x49c58e
lea eax, [edi + edi*8]
lea ecx, [esi + 0x15e0]
mov byte [esi + 0x57], 1
mov dword [esi + 4], edi
lea edx, [eax + eax*2]
add edx, edi
add edx, dword [esi + 0xec0]
mov dword [esi + 0xc], edx
call fcn.004a6c60
mov eax, dword [esi + 4]
lea ebx, [eax + 1]
movzx eax, byte [esi + 0x15ec]
cmp al, 2
je 0x49af3d
mov ecx, dword [esi + 0x15e0]
mov edx, dword [esi + 0x15e4]
test al, al
jne 0x49ba03
lock dec dword [ecx]
mov edi, ebx
jne 0x49af3f
mov byte [esi + 0x57], 1
mov dword [esi + 4], ebx
call fcn.00462250
mov edi, dword [esi + 4]
jmp 0x49af3f
lea ecx, [esi + 0x15e0]
mov byte [esi + 0x1b], 1
call fcn.00474810
jmp 0x49b11d
lea ecx, [esi + 0x410]
mov dword [esi + 0x2e98], 0x39
call fcn.00472a20
mov eax, dword [esi + 0x410]
mov edi, dword [esi + 0x414]
mov ebx, dword [esi + 0x418]
lea ecx, [esi + 0x15e0]
mov dword [esi + 0xd4], eax
lea eax, [esi + 0x424]
movsd xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esi + 0x258], eax
mov eax, dword [esi + 0x41c]
movsd qword [esi + 0x250], xmm0
movq xmm0, qword [esi + 0x430]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x420]
movdqa xmmword [esi + 0xe0], xmm0
mov dword [esi + 0x60], eax
lea eax, [esi + 0x438]
push 0x114
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [esi + 0x558], 0
je 0x49b07e
push dword [esi + 0x55c]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x564], 0
je 0x49b09b
push dword [esi + 0x568]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x570], 0
je 0x49b0b8
push dword [esi + 0x574]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
lea ecx, [esi + 0x57c]
call fcn.0040df30
mov al, 1
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x200]
lock dec dword [eax]
je 0x497342
jmp 0x49734d
mov ecx, dword [esi + 0xec0]
mov edx, dword [esi + 0xec4]
mov dword [esi + 0x2e98], 0x1c
mov dword [esi + 4], ecx
call fcn.00474b40
cmp dword [esi + 0xebc], 0
je 0x49b114
push dword [esi + 4]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0xab0]
mov dword [esi + 0x10], eax
lea ebx, [esi + 0xf00]
lea edi, [esi + 0x1ab0]
mov eax, dword [esi + 0x41c]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x418]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x410]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x414]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x420]
mov dword [esi + 0x40], eax
lea eax, [esi + 0x1d40]
push 0x44
lea ecx, [esi + 0x424]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x4c8
lea eax, [esi + 0x468]
push eax
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x930]
lea ebx, [esi + 0x93d]
movsd xmm0, qword [ebx + 3]
movsd xmm1, qword [ebx + 0x13]
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x934]
movsd qword [esi + 0x200], xmm0
movsd xmm0, qword [ebx + 0xb]
movsd qword [esi + 0x210], xmm1
movq xmm1, qword [ebx + 0x23]
mov dword [esi + 0x44], eax
movzx eax, word [ebx]
movsd qword [esi + 0x208], xmm0
movsd xmm0, qword [ebx + 0x2b]
movq qword [esi + 0xd88], xmm1
mov word [esi + 0x144], ax
mov eax, dword [ebx + 0x33]
movsd qword [esi + 0xd90], xmm0
movq xmm0, qword [ebx + 0x1b]
mov dword [esi + 0xd98], eax
mov eax, dword [esi + 0x938]
movq qword [esi + 0xd80], xmm0
mov dword [esi + 0x6c], eax
movzx eax, byte [ebx + 2]
mov byte [esi + 0x146], al
movzx eax, byte [esi + 0x93c]
mov byte [esi + 0x64], al
push 0x13c
lea eax, [esi + 0x974]
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0xab4]
mov dword [esi + 0x5c], eax
movzx eax, word [ebx + 0x180]
mov word [esi + 0x110], ax
mov eax, dword [esi + 0xab8]
mov dword [esi + 0x50], eax
movzx eax, byte [ebx + 0x182]
mov byte [esi + 0x112], al
movzx eax, byte [esi + 0xabc]
mov dword [esi + 0x70], eax
jmp 0x499c0e
mov dword [esi + 0x2e98], 2
xor ecx, ecx
xor edx, edx
push 0x555d04
call fcn.0053bb10
add esp, 4
jmp 0x49d17d
mov ebx, 1
push dword [esi + 0x28]
push edi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edi, ebx
movsd xmm1, qword [esi + 0x15e0]
movsd xmm2, qword [esi + 0x15e8]
movsd xmm3, qword [esi + 0x15f0]
movq xmm4, qword [esi + 0x15f8]
movq xmm5, qword [esi + 0x1600]
mov eax, dword [esi + 0x1610]
movq xmm0, qword [esi + 0x1608]
movq qword [esi + 0x1603], xmm5
movq qword [esi + 0x15fb], xmm4
movsd qword [esi + 0x15f3], xmm3
movsd qword [esi + 0x15eb], xmm2
movsd qword [esi + 0x15e3], xmm1
movsd qword [esi + 0x1fd8], xmm2
movsd qword [esi + 0x1fe0], xmm3
movsd qword [esi + 0x1fd0], xmm1
movq qword [esi + 0x1fe8], xmm4
movq qword [esi + 0x1ff0], xmm5
movsd xmm3, qword [esi + 0x15f8]
movsd xmm2, qword [esi + 0x15f0]
mov ecx, dword [esi + 0x1607]
movq xmm1, qword [esi + 0x1600]
movsd qword [esi + 0x1d58], xmm3
movsd qword [esi + 0x1d50], xmm2
movq xmm3, qword [esi + 0x15e8]
movq xmm2, qword [esi + 0x15e0]
mov dword [esi + 0x1d67], ecx
mov ecx, 0x80000003
movq qword [esi + 0x1d60], xmm1
movq qword [esi + 0x1d48], xmm3
movq qword [esi + 0x1d40], xmm2
movsd xmm3, qword [esi + 0x1d58]
movsd xmm2, qword [esi + 0x1d50]
mov ebx, dword [esi + 0x1d67]
movq xmm1, qword [esi + 0x1d60]
mov byte [esi + 0x4b], 1
movsd qword [esi + 0x15fd], xmm3
movsd qword [esi + 0x15f5], xmm2
movq xmm3, qword [esi + 0x1d40]
movq xmm2, qword [esi + 0x1d48]
mov dword [esi + 0x160c], ebx
movq qword [esi + 0x1605], xmm1
movq qword [esi + 0x15ed], xmm2
movq qword [esi + 0x15e5], xmm3
mov dword [esi + 0x15e0], ecx
mov ecx, dword [esi + 0x28]
mov byte [esi + 0x15e4], dl
movq qword [esi + 0x1610], xmm0
mov dword [esi + 0x1618], eax
mov dword [esi + 0x1620], 1
mov dword [esi + 0x1624], edi
lea edx, [esi + 0x15e0]
mov dword [esi + 0x1628], ecx
lea ecx, [esi + 0x2268]
push dword [esi + 4]
call fcn.004a5ec0
add esp, 4
lea ebx, [esi + 0xf00]
movzx eax, byte [esi + 0x2274]
cmp al, 2
jne 0x49b559
lea eax, [esi + 0x1ab0]
push 0x44
lea ecx, [esi + 0x3ac]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x4c8
lea eax, [esi + 0x29a8]
push eax
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movsd xmm1, qword [esi + 0xb8]
movzx eax, word [esi + 0x18]
movq xmm0, qword [esi + 0xb0]
movq xmm2, qword [esi + 0x88]
movsd qword [esi + 0xd88], xmm1
movsd xmm1, qword [esi + 0xc0]
mov word [esi + 0x1a4], ax
movzx eax, byte [esi + 0x1a]
movq qword [esi + 0xd80], xmm0
movq qword [esi + 0x250], xmm2
movsd qword [esi + 0xd90], xmm1
movsd xmm1, qword [esi + 0x90]
mov byte [esi + 0x1a6], al
mov eax, dword [esi + 0xa0]
movsd qword [esi + 0x258], xmm1
movq xmm1, qword [esi + 0x98]
mov dword [esi + 0x268], eax
movq qword [esi + 0x260], xmm1
push 0x13c
lea eax, [esi + 0x23a4]
push eax
lea eax, [esi + 0x24e0]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, word [esi + 0x14]
movzx ecx, byte [esi + 0x16]
mov word [esi + 0x144], ax
mov byte [esi + 0x146], cl
mov eax, dword [esi + 0x200]
mov dword [esi + 0xd8], eax
cmp dword [esi + 0xd8], 0x80000000
je 0x49965c
jmp 0x49aad2
mov ebx, dword [esi + 0x226c]
movzx ecx, word [esi + 0x2275]
movzx edx, byte [esi + 0x2277]
mov edi, dword [esi + 0x2268]
test al, al
mov dword [esi + 4], ebx
mov ebx, dword [esi + 0x2270]
mov word [esi + 0xebc], cx
mov byte [esi + 0xebe], dl
je 0x49b72d
mov eax, dword [esi + 0x41c]
movaps xmm0, xmmword [esi + 0x410]
lea ecx, [esi + 0x1ab0]
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 0x418]
movaps xmmword [esi + 0x70], xmm0
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x410]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x414]
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x42c]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x428]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x424]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x420]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x430]
mov dword [esi + 0x40], eax
lea eax, [esi + 0x434]
push 0x44
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esi + 0x478]
push 0x4c8
push eax
lea eax, [esi + 0xf00]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x940]
movaps xmm0, xmmword [esi + 0x950]
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x944]
movaps xmmword [esi + 0xd80], xmm0
movsd xmm0, qword [esi + 0x960]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x948]
movsd qword [esi + 0xd90], xmm0
movsd xmm0, qword [esi + 0x968]
mov dword [esi + 0x6c], eax
movzx eax, word [esi + 0x94d]
movsd qword [esi + 0x250], xmm0
movsd xmm0, qword [esi + 0x970]
mov word [esi + 0x1a4], ax
mov eax, dword [esi + 0x980]
movsd qword [esi + 0x258], xmm0
movsd xmm0, qword [esi + 0x978]
mov dword [esi + 0x268], eax
movzx eax, byte [esi + 0x94c]
movsd qword [esi + 0x260], xmm0
mov byte [esi + 0x64], al
movzx eax, byte [esi + 0x94f]
mov byte [esi + 0x1a6], al
lea eax, [esi + 0x984]
push 0x13c
push eax
lea eax, [esi + 0x24e0]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx ecx, byte [esi + 0xebe]
movzx eax, word [esi + 0xebc]
mov byte [esi + 0x146], cl
lea ecx, [esi + 0x200]
mov word [esi + 0x144], ax
call fcn.004a00e0
movdqa xmm0, xmmword [esi + 0x70]
mov cl, 1
mov dword [esi + 0x70], ecx
pcmpeqb xmm0, xmmword [0x547290]
pmovmskb eax, xmm0
cmp eax, 0xffff
jne 0x49b82d
mov eax, dword [esi + 4]
mov dword [esi + 0x50], ebx
mov dword [esi + 0x10], edi
mov dword [esi + 0x5c], eax
jmp 0x49965c
lea eax, [esi + 0x1ab0]
push 0x44
lea ecx, [esi + 0x3ac]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x4c8
lea eax, [esi + 0x29a8]
push eax
lea ebx, [esi + 0xf00]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movsd xmm1, qword [esi + 0xb8]
movzx eax, word [esi + 0x18]
movq xmm0, qword [esi + 0xb0]
movq xmm2, qword [esi + 0x88]
movsd qword [esi + 0xd88], xmm1
movsd xmm1, qword [esi + 0xc0]
mov word [esi + 0x1a4], ax
movzx eax, byte [esi + 0x1a]
movq qword [esi + 0xd80], xmm0
movq qword [esi + 0x250], xmm2
movsd qword [esi + 0xd90], xmm1
movsd xmm1, qword [esi + 0x90]
mov byte [esi + 0x1a6], al
mov eax, dword [esi + 0xa0]
movsd qword [esi + 0x258], xmm1
movq xmm1, qword [esi + 0x98]
mov dword [esi + 0x268], eax
movq qword [esi + 0x260], xmm1
push 0x13c
lea eax, [esi + 0x23a4]
push eax
lea eax, [esi + 0x24e0]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, word [esi + 0x14]
movzx ecx, byte [esi + 0x16]
mov word [esi + 0x144], ax
mov byte [esi + 0x146], cl
lock dec dword [edi]
jne 0x49b538
mov edx, dword [esi + 4]
mov ecx, edi
mov byte [esi + 0x4b], 0
call fcn.00462250
jmp 0x49b538
push 0x44
lea eax, [esi + 0x1ab0]
push eax
lea eax, [esi + 0x444]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esi + 0x488]
push 0x4c8
lea ecx, [esi + 0xf00]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x2c]
movsd xmm1, qword [esi + 0xd90]
movdqa xmm0, xmmword [esi + 0xd80]
movq xmm2, qword [esi + 0x250]
mov dword [esi + 0x950], eax
mov eax, dword [esi + 0x44]
mov dword [esi + 0x954], eax
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x958], eax
movzx eax, byte [esi + 0x64]
mov byte [esi + 0x95c], al
movzx eax, word [esi + 0x1a4]
mov word [esi + 0x95d], ax
movzx eax, byte [esi + 0x1a6]
mov byte [esi + 0x95f], al
movsd qword [esi + 0x970], xmm1
movsd xmm1, qword [esi + 0x258]
mov eax, dword [esi + 0x268]
movdqa xmmword [esi + 0x960], xmm0
movq qword [esi + 0x978], xmm2
movsd qword [esi + 0x980], xmm1
movq xmm1, qword [esi + 0x260]
mov dword [esi + 0x990], eax
lea eax, [esi + 0x994]
movq qword [esi + 0x988], xmm1
push 0x13c
lea ecx, [esi + 0x24e0]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, word [esi + 0x144]
xor ecx, ecx
mov edx, 0x6e0
mov word [esi + 0xadd], ax
movzx eax, byte [esi + 0x146]
mov byte [esi + 0xadf], al
mov eax, dword [esi + 0x5c]
mov dword [esi + 0x410], 1
mov dword [esi + 0x414], 1
mov dword [esi + 0x42c], eax
mov eax, dword [esi + 0x50]
mov dword [esi + 0x428], eax
mov eax, dword [esi + 0x28]
mov dword [esi + 0x424], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x420], eax
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x43c], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x438], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x434], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 0x430], eax
mov eax, dword [esi + 0x40]
mov dword [esi + 0x440], eax
mov eax, dword [esi + 4]
mov dword [esi + 0xad0], edi
mov dword [esi + 0xad4], eax
mov dword [esi + 0xad8], ebx
mov byte [esi + 0xadc], 1
movzx eax, byte [0x5b9430]
call fcn.0051b940
test eax, eax
je 0x49d023
mov edi, eax
and edi, 0xfffffff0
mov dword [edi + 0xc], eax
add edi, 0x10
push 0x6d0
lea eax, [esi + 0x410]
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0xdc]
mov dword [eax + 4], edi
mov dword [eax + 8], 0x555f54
jmp 0x499e7d
cmp dword [esi + 8], 0x4924924
mov dword [esi + 0x30], ecx
mov dword [esi + 0x1c], edx
mov byte [esi + 0xe0], al
ja 0x49d04f
mov ecx, dword [esi + 8]
lea eax, [ecx + ecx*8]
lea edi, [eax + eax*2]
add edi, ecx
js 0x49d06b
mov eax, dword [esi + 0x15e8]
xor ecx, ecx
mov edx, edi
mov dword [esi + 0x60], eax
movzx eax, byte [esi + 0x15ef]
mov dword [esi + 0x70], eax
movzx eax, word [esi + 0x15ed]
mov dword [esi + 0x28], eax
movzx eax, byte [0x5b9430]
call fcn.0051b940
test eax, eax
je 0x49d087
mov ebx, eax
mov eax, dword [esi + 4]
mov dword [esi + 0xec4], eax
push edi
push dword [esi + 0xc]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 8]
lea ecx, [esi + 0x1fd0]
lea edx, [esi + 0x15e0]
mov byte [esi + 0x58], 1
mov byte [esi + 0x59], 1
mov dword [esi + 0x2e98], 0x17
mov dword [esi + 0x15e0], eax
mov dword [esi + 0x15e4], ebx
mov dword [esi + 0x15e8], eax
call fcn.004fc800
lea ecx, [esi + 0x15e0]
lea edx, [esi + 0xebc]
mov byte [esi + 0xa9], 1
mov dword [esi + 0x2e98], 0x1a
call fcn.004fc800
lea ecx, [esi + 0x250]
lea edx, [esi + 0x1fd0]
mov byte [esi + 0xaa], 1
mov dword [esi + 0x2e98], 0x1b
call fcn.004a6c60
mov eax, dword [esi + 0x70]
mov cl, 1
mov dword [esi + 8], ecx
shl eax, 0x10
add dword [esi + 0x28], eax
movzx eax, byte [esi + 0x25c]
cmp al, 2
jne 0x49bb24
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0xc], 0
mov dword [esi + 0x4c], eax
mov dword [esi + 0x20], ecx
jmp 0x49bb6f
mov ecx, dword [esi + 0x250]
mov edx, dword [esi + 0x254]
test al, al
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x20], edx
je 0x49bc87
mov ecx, dword [esi + 0x258]
movzx edx, word [esi + 0x25d]
mov byte [esi + 0xe0], al
mov dword [esi + 8], 0
mov dword [esi + 0x60], ecx
movzx ecx, byte [esi + 0x25f]
shl ecx, 0x10
or edx, ecx
mov cl, 1
mov dword [esi + 0x28], edx
mov dword [esi + 0xc], ecx
mov eax, dword [esi + 0x15e0]
movq xmm0, qword [esi + 0x15e4]
movq xmm2, qword [esi + 0x15ec]
movq xmm1, qword [esi + 0x15f4]
lea ecx, [esi + 0x1fd0]
mov dword [esi + 0x2e98], 0x19
mov dword [esi + 4], eax
movq qword [esi + 0x2268], xmm0
movq qword [esi + 0x2270], xmm2
movq qword [esi + 0x2278], xmm1
call fcn.004f3a70
lea ecx, [esi + 0x1fd0]
mov dword [esi + 0x2e98], 0x18
call fcn.00474810
push dword [esi + 0x1fe8]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp byte [esi + 8], 0
mov edx, dword [esi + 0x1c]
mov ecx, dword [esi + 0x30]
jne 0x49bc0a
lock dec dword [ecx]
jne 0x49bc0a
mov byte [esi + 0x57], 0
mov dword [esi + 0x2e98], 0x16
call fcn.00462250
cmp dword [esi + 4], 8
mov eax, dword [esi + 0xab0]
mov dword [esi + 0x10], eax
je 0x49b11d
movq xmm0, qword [esi + 0x2278]
movq xmm2, qword [esi + 0x2268]
movq xmm1, qword [esi + 0x2270]
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x10]
movq qword [esi + 0x264], xmm0
movq qword [esi + 0x25c], xmm1
movq qword [esi + 0x254], xmm2
mov dword [esi + 0x250], eax
cmp byte [ecx + 0x40], 0
je 0x49bcaa
mov eax, dword [esi + 0x10]
movzx eax, byte [eax + 0x41]
mov byte [esi + 8], al
jmp 0x49bcae
mov dword [esi + 0x2e98], 0x39
push 0x55712c
call fcn.0053bb10
add esp, 4
jmp 0x49d17d
mov eax, dword [esi + 0x4c]
lock dec dword [eax]
jne 0x49bb0f
mov ecx, dword [esi + 0x4c]
mov edx, dword [esi + 0x20]
mov byte [esi + 0xaa], 0
call fcn.00462250
jmp 0x49bb0f
mov byte [esi + 8], 0xa
mov eax, dword [esi + 0x10]
mov edx, 1
mov dword [esi + 4], 1
mov dword [esi + 0x30], 0xa00000
movzx ecx, byte [eax + 0x43]
mov eax, dword [eax + 0x10]
cmp cl, 2
cmove ecx, edx
cmp eax, 2
mov dword [esi + 0xc], ecx
je 0x49bcef
mov ecx, dword [esi + 0x10]
mov dword [esi + 4], eax
mov ecx, dword [ecx + 0x14]
mov dword [esi + 0x2e98], 0x13
mov dword [esi + 0x30], ecx
lea ecx, [esi + 0x15e0]
mov dword [esi + 0x2e98], 0x13
call fcn.00471b30
mov eax, dword [esi + 4]
mov dword [esi + 0x2e98], 0x15
lea ecx, [esi + 0x1fd0]
lea edx, [esi + 0x15e0]
mov dword [esi + 0x15e0], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 0x15e4], eax
movzx eax, byte [esi + 8]
mov byte [esi + 0x15e8], 1
mov byte [esi + 0x15e9], al
mov eax, dword [esi + 0xc]
mov byte [esi + 0x15ea], al
lea eax, [esi + 0x250]
mov word [esi + 0x15eb], 1
mov byte [esi + 0x15ed], 2
mov dword [esi + 0x2268], eax
push 1
lea eax, [esi + 0x2268]
push eax
call fcn.004a0380
add esp, 8
lea ecx, [esi + 0x1614]
call fcn.00472200
cmp dword [esi + 0x1620], 0
je 0x49bd9b
push dword [esi + 0x1624]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x1634]
test eax, eax
mov dword [esi + 0xc], eax
je 0x49be1c
mov eax, dword [esi + 0x1630]
mov dword [esi + 4], eax
xor eax, eax
jmp 0x49bdbe
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [esi + 0xc]
je 0x49be1c
mov edx, dword [esi + 4]
lea ecx, [eax + eax*2]
mov dword [esi + 8], eax
mov dword [esi + 0x30], ecx
mov ebx, dword [edx + ecx*4 + 8]
test ebx, ebx
je 0x49bdfb
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x30]
mov edi, dword [eax + ecx*4 + 4]
jmp 0x49bde4
add edi, 8
dec ebx
je 0x49bdfb
mov eax, dword [edi]
test eax, eax
je 0x49bdde
lock dec dword [eax]
jne 0x49bdde
mov ecx, dword [edi]
mov edx, dword [edi + 4]
call fcn.00462220
jmp 0x49bdde
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x30]
lea eax, [eax + ecx*4]
cmp dword [eax], 0
je 0x49bdb5
push dword [eax + 4]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x49bdb5
cmp dword [esi + 0x162c], 0
je 0x49be39
push dword [esi + 0x1630]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
lea ecx, [esi + 0x1640]
call fcn.00472110
lea ecx, [esi + 0x1668]
call fcn.00471ff0
cmp dword [esi + 0x16bc], 0
je 0x49be6c
push dword [esi + 0x16c0]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x1fd0], 0x2a
jne 0x49bedf
mov eax, dword [esi + 0x1fd4]
mov edx, dword [esi + 0xab0]
mov dword [esi + 0x2268], eax
mov dword [esi + 0xd8], eax
cmp byte [edx + 0x45], 0
je 0x49c09b
mov dword [esi + 0x2e98], 0x14
lea ecx, [esi + 0x15e0]
push dword [esi + 0xd8]
call fcn.004a6f70
add esp, 4
mov eax, dword [esi + 0x15e0]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x15e4]
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 0x15e8]
mov dword [esi + 0x50], eax
movzx eax, byte [esi + 0x15ec]
mov dword [esi + 0x70], eax
jmp 0x49c0d1
mov eax, dword [esi + 0x41c]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x418]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x410]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x414]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x420]
mov dword [esi + 0x40], eax
lea eax, [esi + 0x1d40]
push 0x44
lea ecx, [esi + 0x424]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x4c8
lea eax, [esi + 0x468]
push eax
lea eax, [esi + 0xf00]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x930]
lea edi, [esi + 0x93d]
movsd xmm0, qword [edi + 3]
movsd xmm1, qword [edi + 0x13]
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x934]
movsd qword [esi + 0x200], xmm0
movsd xmm0, qword [edi + 0xb]
movsd qword [esi + 0x210], xmm1
movq xmm1, qword [edi + 0x23]
mov dword [esi + 0x44], eax
movzx eax, word [edi]
movsd qword [esi + 0x208], xmm0
movsd xmm0, qword [edi + 0x2b]
movq qword [esi + 0xd88], xmm1
mov word [esi + 0x144], ax
mov eax, dword [edi + 0x33]
movsd qword [esi + 0xd90], xmm0
movq xmm0, qword [edi + 0x1b]
mov dword [esi + 0xd98], eax
mov eax, dword [esi + 0x938]
movq qword [esi + 0xd80], xmm0
mov dword [esi + 0x6c], eax
movzx eax, byte [edi + 2]
mov byte [esi + 0x146], al
movzx eax, byte [esi + 0x93c]
mov byte [esi + 0x64], al
push 0x13c
lea eax, [esi + 0x974]
push eax
lea eax, [esi + 0x1ab0]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0xab0]
lea ecx, [esi + 0x1fd0]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0xab4]
mov dword [esi + 0x5c], eax
movzx eax, word [edi + 0x180]
mov word [esi + 0x110], ax
mov eax, dword [esi + 0xab8]
mov dword [esi + 0x50], eax
movzx eax, byte [edi + 0x182]
mov byte [esi + 0x112], al
movzx eax, byte [esi + 0xabc]
mov dword [esi + 0x70], eax
call fcn.00481590
mov eax, dword [esi + 0x4c]
lock dec dword [eax]
jne 0x49c05f
mov ecx, dword [esi + 0x4c]
mov edx, dword [esi + 0x20]
mov byte [esi + 0xab], 0
mov dword [esi + 0x2e98], 0x12
call fcn.00462250
lea ecx, [esi + 0x250]
mov byte [esi + 0x1b], 0
mov dword [esi + 0x2e98], 0x11
call fcn.00474760
jmp 0x499c0e
mov dword [esi + 0x2e98], 0x39
mov ecx, eax
push 0x5551f4
call fcn.0053bb10
add esp, 4
jmp 0x49d17d
movdqa xmm0, xmmword [0x547270]
mov dword [esi + 0x2e98], 0x11
mov dword [esi + 0x10], 2
mov dword [esi + 0x70], 0
mov dword [esi + 0x50], 0
mov dword [esi + 0x5c], 0
movdqa xmmword [esi + 0x15e0], xmm0
mov eax, dword [esi + 0x41c]
lea ecx, [esi + 0x1d40]
mov dword [esi + 0x104], eax
mov eax, dword [esi + 0x418]
mov dword [esi + 0xd4], eax
mov eax, dword [esi + 0x410]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x414]
mov dword [esi + 0x100], eax
mov eax, dword [esi + 0x42c]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x428]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x424]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x420]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x430]
mov dword [esi + 0x40], eax
lea eax, [esi + 0x434]
push 0x44
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esi + 0x478]
push 0x4c8
push eax
lea eax, [esi + 0xf00]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x940]
movaps xmm0, xmmword [esi + 0x950]
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x944]
movaps xmmword [esi + 0x200], xmm0
movsd xmm0, qword [esi + 0x960]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x948]
movsd qword [esi + 0x210], xmm0
movsd xmm0, qword [esi + 0x968]
mov dword [esi + 0x6c], eax
movzx eax, word [esi + 0x94d]
movsd qword [esi + 0xd80], xmm0
movsd xmm0, qword [esi + 0x970]
mov word [esi + 0x144], ax
mov eax, dword [esi + 0x980]
movsd qword [esi + 0xd88], xmm0
movq xmm0, qword [esi + 0x978]
mov dword [esi + 0xd98], eax
movzx eax, byte [esi + 0x94c]
movq qword [esi + 0xd90], xmm0
mov byte [esi + 0x64], al
movzx eax, byte [esi + 0x94f]
mov byte [esi + 0x146], al
lea eax, [esi + 0x984]
push 0x13c
push eax
lea eax, [esi + 0x1ab0]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, word [esi + 0x15ed]
mov word [esi + 0x110], ax
movzx eax, byte [esi + 0x15ef]
mov byte [esi + 0x112], al
lea eax, [esi + 0x15f0]
push 0x280
push eax
lea eax, [esi + 0x24e0]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea ecx, [esi + 0x250]
mov byte [esi + 0x1b], 0
mov dword [esi + 0x2e98], 0x11
call fcn.00474760
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x100]
xor eax, 3
or ecx, dword [esi + 0x104]
or eax, dword [esi + 0xd4]
or ecx, eax
je 0x499c0e
mov edi, dword [esi + 0x28]
movzx eax, byte [esi + 0xe0]
shl edi, 8
or edi, eax
push 0x44
lea eax, [esi + 0x1d40]
push eax
lea eax, [esi + 0x444]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esi + 0x488]
push 0x4c8
lea ecx, [esi + 0xf00]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x2c]
movsd xmm1, qword [esi + 0x210]
movaps xmm0, xmmword [esi + 0x200]
movsd xmm2, qword [esi + 0xd80]
mov dword [esi + 0x950], eax
mov eax, dword [esi + 0x44]
mov dword [esi + 0x954], eax
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x958], eax
movzx eax, byte [esi + 0x64]
mov byte [esi + 0x95c], al
movzx eax, word [esi + 0x144]
mov word [esi + 0x95d], ax
movzx eax, byte [esi + 0x146]
mov byte [esi + 0x95f], al
movsd qword [esi + 0x970], xmm1
movsd xmm1, qword [esi + 0xd88]
mov eax, dword [esi + 0xd98]
movaps xmmword [esi + 0x960], xmm0
movsd qword [esi + 0x978], xmm2
movsd qword [esi + 0x980], xmm1
movsd xmm1, qword [esi + 0xd90]
mov dword [esi + 0x990], eax
lea eax, [esi + 0x994]
movsd qword [esi + 0x988], xmm1
push 0x13c
lea ecx, [esi + 0x1ab0]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, word [esi + 0x110]
mov word [esi + 0xadd], ax
movzx eax, byte [esi + 0x112]
mov byte [esi + 0xadf], al
lea eax, [esi + 0xae0]
push 0x280
lea ecx, [esi + 0x24e0]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x4c]
movsd xmm0, qword [esi + 0x1a4]
xor ecx, ecx
mov edx, 0x980
mov dword [esi + 0xd60], eax
mov eax, dword [esi + 0x20]
mov dword [esi + 0xd64], eax
mov eax, dword [esi + 0x60]
mov dword [esi + 0xd6c], edi
mov dword [esi + 0xd68], eax
mov eax, dword [esi + 0x1ab]
movsd qword [esi + 0xd75], xmm0
mov dword [esi + 0xd7c], eax
mov eax, dword [esi + 0x104]
mov dword [esi + 0x410], 1
mov dword [esi + 0x414], 1
mov dword [esi + 0x42c], eax
mov eax, dword [esi + 0xd4]
mov dword [esi + 0x428], eax
mov eax, dword [esi + 0x100]
mov dword [esi + 0x424], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x420], eax
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x43c], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x438], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x434], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 0x430], eax
mov eax, dword [esi + 0x40]
mov dword [esi + 0x440], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0xad0], eax
mov eax, dword [esi + 0x5c]
mov dword [esi + 0xad4], eax
mov eax, dword [esi + 0x50]
mov dword [esi + 0xad8], eax
mov eax, dword [esi + 0x70]
mov byte [esi + 0xadc], al
mov eax, dword [esi + 0xd8]
mov dword [esi + 0xd70], eax
mov byte [esi + 0xd74], 0
movzx eax, byte [0x5b9430]
call fcn.0051b940
test eax, eax
je 0x49d108
mov edi, eax
and edi, 0xfffffff0
mov dword [edi + 0xc], eax
add edi, 0x10
push 0x970
lea eax, [esi + 0x410]
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0xdc]
mov dword [eax + 4], edi
mov dword [eax + 8], 0x555fa8
jmp 0x499e7d
mov ecx, eax
push 0x554e0c
call fcn.0053bb10
add esp, 4
jmp 0x49d17d
movsd xmm0, qword [esi + 0xf04]
movzx eax, byte [esi + 0xf0c]
movzx edx, byte [esi + 0xf0d]
movzx ecx, word [esi + 0xf0e]
mov dword [esi + 0x2e98], 3
jmp 0x49ad52
lea ecx, [esi + 0x24e0]
lea eax, [esi + 0x29a8]
mov dword [esi + 0x410], 0x555d54
mov dword [esi + 0x414], 1
mov dword [esi + 0x420], 0
mov edx, 0x555d5c
mov byte [esi + 0x5a], 1
mov dword [esi + 0x2e98], 0xb
mov dword [esi + 0x418], ecx
lea ecx, [esi + 0x410]
mov dword [esi + 0x24e0], eax
mov dword [esi + 0x24e4], 0x4f5ef0
mov dword [esi + 0x41c], 1
call fcn.0053ba80
jmp 0x49d17d
mov byte [esi + 0x57], 1
mov ecx, edi
push 0x555e60
call fcn.0053bb10
add esp, 4
jmp 0x49d17d
movss xmm0, dword [esi + 0xf08]
movss xmm1, dword [esi + 0x10]
movzx eax, byte [esi + 0xf0c]
movzx edx, byte [esi + 0xf0d]
movzx ecx, word [esi + 0xf0e]
mov dword [esi + 0x2e98], 3
unpcklps xmm1, xmm0
mov dword [esi + 8], eax
mov byte [esi + 0x70], dl
mov word [esi + 0xc], cx
movaps xmmword [esi + 0x30], xmm1
jmp 0x49ad61
push eax
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, 4
mov dword [esi + 0x5c8], eax
mov dword [esi + 0x5c4], ebx
mov dword [esi + 0x2e98], 8
lea ecx, [esi + 0xf00]
lea edx, [esi + 0x410]
mov dword [esi + 0x2e98], 8
call fcn.0044a4a0
lea eax, [esi + 0x60c]
push pe_nt_image_headers32
lea ecx, [esi + 0xf00]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea ecx, [esi + 0xf00]
lea edx, [esi + 0x410]
call fcn.004478b0
mov eax, dword [esi + 0xf00]
cmp eax, 3
mov dword [esi + 4], eax
jne 0x49ad35
lea ecx, [esi + 0x410]
call fcn.00447a70
lea ecx, [esi + 0xf00]
lea edx, [esi + 0x410]
call fcn.004470f0
mov eax, dword [esi + 0xf00]
cmp eax, 3
mov dword [esi + 4], eax
jne 0x49ad35
lea ecx, [esi + 0xf00]
lea edx, [esi + 0x410]
call fcn.004453c0
mov eax, dword [esi + 0xf00]
cmp eax, 3
mov dword [esi + 4], eax
jne 0x49ad35
lea ecx, [esi + 0x410]
call fcn.00447af0
lea ecx, [esi + 0x410]
call fcn.00446760
lea edx, [esi + 0x430]
lea ecx, [esi + 0xf00]
call fcn.0044a650
mov eax, dword [esi + 0x600]
test eax, eax
je 0x49c72b
lock dec dword [eax]
jne 0x49c72b
mov ecx, dword [esi + 0x600]
mov edx, dword [esi + 0x604]
mov dword [esi + 0x2e98], 9
call fcn.00462250
mov eax, dword [esi + 0xf08]
movq xmm0, qword [esi + 0xf00]
lea ecx, [esi + 0x600]
mov dword [ecx + 8], eax
movq qword [ecx], xmm0
xor eax, eax
cmp dword [esi + 0x600], 0
setne al
mov eax, dword [esi + eax*8 + 0x718]
mov dword [esi + 0x714], eax
mov ebx, dword [esi + 0x5d8]
cmp dword [esi + 0x5d0], ebx
jbe 0x49c8b9
mov eax, dword [esi + 0x5d4]
test ebx, ebx
je 0x49c899
lea edi, [ebx + ebx*8]
push edi
push eax
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapReAlloc]
test eax, eax
jne 0x49c8ad
mov ecx, 1
mov edx, edi
mov dword [esi + 0x2e98], 8
call fcn.0053b730
jmp 0x49d17d
mov ecx, 0x554dfc
mov dword [esi + 0x2e98], 0x3c
call fcn.0053bf10
jmp 0x49d17d
movd xmm1, dword [esi + 0x50]
movd xmm0, dword [esi + 0x44]
mov dword [esi + 8], eax
mov dword [esi + 4], 2
mov dword [esi + 0x2e98], 3
punpckldq xmm1, xmm0
movdqa xmmword [esi + 0x30], xmm1
jmp 0x49ad61
mov dword [esi + 0x2e98], 0x3a
call fcn.0044e3c0
jmp 0x49d17d
mov dword [esi + 0x2e98], 0x3a
call fcn.0044e3c0
jmp 0x49d17d
mov ecx, 4
mov edx, edi
mov dword [esi + 0x2e98], 0x3a
call fcn.0053b730
jmp 0x49d17d
mov ecx, edx
mov dword [esi + 0x2e98], 8
mov edx, edi
push 0x5541d4
call fcn.0053bb10
add esp, 4
jmp 0x49d17d
mov ecx, 0x10
mov edx, 0x6c0
mov dword [esi + 0x2e98], 0x23
call fcn.0053b730
jmp 0x49d17d
mov ecx, 0x10
mov edx, 0x6c0
mov dword [esi + 0x2e98], 0xf
call fcn.0053b730
jmp 0x49d17d
push eax
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, 1
mov dword [esi + 0x5d4], eax
mov dword [esi + 0x5d0], ebx
mov ebx, dword [esi + 0x5e4]
cmp dword [esi + 0x5dc], ebx
jbe 0x49c927
mov eax, dword [esi + 0x5e0]
test ebx, ebx
je 0x49c907
lea edi, [ebx*4]
push edi
push eax
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapReAlloc]
test eax, eax
jne 0x49c91b
mov ecx, 4
mov edx, edi
mov dword [esi + 0x2e98], 8
call fcn.0053b730
jmp 0x49d17d
push eax
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, 4
mov dword [esi + 0x5e0], eax
mov dword [esi + 0x5dc], ebx
mov ebx, dword [esi + 0x5f0]
cmp dword [esi + 0x5e8], ebx
jbe 0x49c995
mov eax, dword [esi + 0x5ec]
test ebx, ebx
je 0x49c975
lea edi, [ebx*8]
push edi
push eax
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapReAlloc]
test eax, eax
jne 0x49c989
mov ecx, 4
mov edx, edi
mov dword [esi + 0x2e98], 8
call fcn.0053b730
jmp 0x49d17d
push eax
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, 4
mov dword [esi + 0x5ec], eax
mov dword [esi + 0x5e8], ebx
mov ebx, dword [esi + 0x5fc]
cmp dword [esi + 0x5f4], ebx
jbe 0x49ca03
mov eax, dword [esi + 0x5f8]
test ebx, ebx
je 0x49c9e3
lea edi, [ebx*4]
push edi
push eax
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapReAlloc]
test eax, eax
jne 0x49c9f7
mov ecx, 4
mov edx, edi
mov dword [esi + 0x2e98], 8
call fcn.0053b730
jmp 0x49d17d
push eax
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, 4
mov dword [esi + 0x5f8], eax
mov dword [esi + 0x5f4], ebx
mov ecx, dword [esi + 0x5dc]
mov edi, dword [esi + 0x5d4]
mov ebx, dword [esi + 0x5d8]
lea eax, [esi + 0x5e0]
mov dword [esi + 4], ecx
push 0x148
push eax
lea eax, [esi + 0xf00]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movups xmm0, xmmword [esi + 0x5c4]
lea ecx, [esi + 0x430]
movaps xmmword [esi + 0x30], xmm0
call fcn.004a01f0
mov eax, dword [esi + 4]
movdqa xmm0, xmmword [esi + 0x30]
mov dword [esi + 0x15f0], edi
mov dword [esi + 0x15f4], ebx
mov dword [esi + 0x15f8], eax
lea eax, [esi + 0x15fc]
movdqu xmmword [esi + 0x15e0], xmm0
push 0x148
lea ecx, [esi + 0xf00]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, byte [esi + 0x2504]
cmp eax, 3
jne 0x49cae4
push 0x164
lea eax, [esi + 0x15e0]
push eax
lea edi, [esi + 0x410]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + 0x27], 0
mov dword [esi + 0x2e98], 4
lea ecx, [esi + 0x29a8]
lea edx, [esi + 0x24e0]
push edi
call fcn.00437fa0
add esp, 4
movq xmm1, qword [esi + 0x29a8]
movzx ecx, byte [esi + 0x29b0]
jmp 0x49cbe2
test eax, eax
je 0x49cb6e
cmp eax, 1
jne 0x49cbf8
mov edx, dword [esi + 0x24e0]
lea eax, [esi + 0x15e0]
mov byte [esi + 0x27], 1
mov dword [esi + 0x2e98], 4
lea ecx, [esi + 0x410]
push eax
push dword [esi + 0x24ec]
call fcn.004382e0
add esp, 8
mov eax, dword [esi + 0x410]
cmp eax, 0x80000000
mov dword [esi + 4], eax
jne 0x49cd79
mov eax, dword [esi + 0x418]
movq xmm0, qword [esi + 0x41c]
mov dword [esi + 4], eax
movzx eax, byte [esi + 0x424]
movdqa xmmword [esi + 0x30], xmm0
mov dword [esi + 8], eax
movzx eax, byte [esi + 0x425]
mov byte [esi + 0x70], al
movzx eax, word [esi + 0x426]
jmp 0x49cc67
lea ecx, [esi + 0x418]
push 0x164
lea eax, [esi + 0x15e0]
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esi + 0x410], 1
mov dword [esi + 0x414], 1
xor ecx, ecx
mov edx, 0x16c
movzx eax, byte [0x5b9430]
call fcn.0051b940
test eax, eax
je 0x49d123
mov edi, eax
push 0x16c
lea eax, [esi + 0x410]
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, 0x553f18
movd xmm1, edi
xor ecx, ecx
movd xmm0, eax
punpckldq xmm1, xmm0
movzx edx, byte [esi + 0x2505]
mov dword [esi + 0x2e98], 3
jmp 0x49adaa
mov edx, dword [esi + 0x24f8]
movzx eax, byte [esi + 0x24f9]
lea edi, [esi + 0x15e0]
mov byte [esi + 0x27], 1
mov dword [esi + 0x2e98], 4
lea ecx, [esi + 0xf00]
push edi
push eax
call fcn.00439600
add esp, 8
cmp dword [esi + 0xf00], 0
je 0x49ce5f
mov eax, dword [esi + 0xf08]
movq xmm0, qword [esi + 0xf0c]
mov dword [esi + 4], eax
movzx eax, byte [esi + 0xf14]
movdqa xmmword [esi + 0x30], xmm0
mov dword [esi + 8], eax
movzx eax, byte [esi + 0xf15]
mov byte [esi + 0x70], al
movzx eax, word [esi + 0xf16]
mov word [esi + 0xc], ax
lea eax, [esi + 0x15e0]
mov dword [esi + 0x2e98], 3
push eax
call fcn.004a02e0
add esp, 4
movdqa xmm1, xmmword [esi + 0x30]
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
movzx edx, byte [esi + 0x70]
movzx ebx, word [esi + 0xc]
jmp 0x49ad98
lea ecx, [esi + 0x24e0]
lea eax, [esi + 0x250]
mov dword [esi + 0x410], 0x555db8
mov dword [esi + 0x414], 1
mov dword [esi + 0x420], 0
mov edx, 0x555dc0
mov byte [esi + 0x5a], 1
mov dword [esi + 0x2e98], 0xb
mov dword [esi + 0x418], ecx
lea ecx, [esi + 0x410]
mov dword [esi + 0x24e0], eax
mov dword [esi + 0x24e4], 0x4f5ef0
mov dword [esi + 0x41c], 1
call fcn.0053ba80
jmp 0x49d17d
mov ecx, str.assertion_failed:_self.dfa.starts.len____pid.one_more__
mov edx, 0x39
push 0x555004
call fcn.0053bbd0
add esp, 4
jmp 0x49d17d
mov ecx, 0x554e48
call fcn.0053bf10
jmp 0x49d17d
mov edx, dword [esi + 0xd4]
mov byte [esi + 0x4b], 1
mov dword [esi + 0x2e98], 0x20
push 0x55a884
call fcn.0053bab0
add esp, 4
jmp 0x49d17d
mov ecx, dword [esi + 0x30]
mov dword [esi + 0x2e98], 8
push 0x5541f4
call fcn.0053bb10
add esp, 4
jmp 0x49d17d
mov eax, dword [esi + 0x414]
movups xmm0, xmmword [esi + 0x414]
movzx ebx, byte [esi + 0x424]
mov bh, byte [esi + 0x425]
mov dword [esi + 0x10], eax
movzx eax, word [esi + 0x426]
movaps xmmword [esi + 0x30], xmm0
mov word [esi + 0x1c], ax
mov eax, dword [esi + 0x428]
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x42c]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x430]
mov dword [esi + 0xc], eax
lea eax, [esi + 0x434]
push 0x124
push eax
lea eax, [esi + 0xf00]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, byte [0x5b9430]
xor ecx, ecx
mov edx, 0x150
call fcn.0051b940
test eax, eax
je 0x49d13e
mov dword [eax], 1
mov edi, eax
mov dword [eax + 4], 1
mov eax, dword [esi + 4]
movaps xmm0, xmmword [esi + 0x30]
mov dword [edi + 8], eax
movzx eax, word [esi + 0x1c]
movups xmmword [edi + 0xc], xmm0
mov byte [edi + 0x1c], bl
mov byte [edi + 0x1d], bh
mov word [edi + 0x1e], ax
mov eax, dword [esi + 0x70]
mov dword [edi + 0x20], eax
mov eax, dword [esi + 8]
mov dword [edi + 0x24], eax
mov eax, dword [esi + 0xc]
mov dword [edi + 0x28], eax
lea eax, [edi + 0x2c]
push 0x124
lea ecx, [esi + 0xf00]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, 0x553f9c
movd xmm1, edi
movd xmm0, eax
mov al, 1
jmp 0x49cf09
mov eax, dword [esi + 0xf1c]
mov edi, dword [esi + 0xf14]
mov ebx, dword [esi + 0xf18]
lea ecx, [esi + 0x434]
mov dword [esi + 4], eax
lea eax, [esi + 0xf20]
push 0x140
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movdqu xmm0, xmmword [esi + 0xf04]
mov eax, dword [esi + 4]
xor ecx, ecx
mov edx, 0x164
movdqu xmmword [esi + 0x418], xmm0
mov dword [esi + 0x428], edi
mov dword [esi + 0x430], eax
mov dword [esi + 0x42c], ebx
mov dword [esi + 0x410], 1
mov dword [esi + 0x414], 1
movzx eax, byte [0x5b9430]
call fcn.0051b940
test eax, eax
je 0x49d164
mov edi, eax
push 0x164
lea eax, [esi + 0x410]
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, 0x554020
movd xmm1, edi
movd xmm0, eax
mov al, 2
punpckldq xmm1, xmm0
movdqa xmmword [esi + 0x30], xmm1
mov dword [esi + 8], eax
movzx eax, byte [esi + 0x2505]
mov dword [esi + 0x2e98], 3
mov byte [esi + 0x70], al
lea eax, [esi + 0x15e0]
push eax
call fcn.004a02e0
movzx edx, byte [esi + 0x70]
add esp, 4
movdqa xmm1, xmmword [esi + 0x30]
mov ecx, dword [esi + 8]
jmp 0x49cbe9
mov dword [esi + 0x2e98], 8
push 0x554204
call fcn.0053bb10
add esp, 4
jmp 0x49d17d
mov ecx, dword [esi + 0x30]
mov dword [esi + 0x2e98], 8
push 0x55425c
call fcn.0053bb10
add esp, 4
jmp 0x49d17d
lea ecx, [esi + 0x1ab0]
lea edx, [esi + 0xf00]
mov dword [esi + 0xf00], 0
mov dword [esi + 0x2e98], 0x39
call fcn.00540070
jmp 0x49d17d
mov ecx, 0x554f8a
mov edx, 0x2c
push 0x554fb8
call fcn.0053bbd0
add esp, 4
jmp 0x49d17d
mov byte [esi + 0x4b], 1
mov dword [esi + 0x2e98], 0x20
mov edx, eax
push 0x55a874
call fcn.0053bab0
add esp, 4
jmp 0x49d17d
mov byte [esi + 0x1b], 1
mov dword [esi + 0x2e98], 0x11
call fcn.0044e3c0
jmp 0x49d17d
mov ecx, 4
mov edx, edi
mov byte [esi + 0x1b], 1
mov dword [esi + 0x2e98], 0x11
call fcn.0053b730
jmp 0x49d17d
mov ecx, 0x10
mov edx, 0x6d0
mov dword [esi + 0x2e98], 0x1e
call fcn.0053b730
jmp 0x49d17d
mov byte [esi + 0x4b], 1
call fcn.0044e3c0
jmp 0x49d17d
mov byte [esi + 0x58], 1
mov byte [esi + 0x59], 1
mov dword [esi + 0x2e98], 0x17
call fcn.0044e3c0
jmp 0x49d17d
mov byte [esi + 0x58], 1
mov byte [esi + 0x59], 1
mov dword [esi + 0x2e98], 0x17
call fcn.0044e3c0
jmp 0x49d17d
mov ecx, 4
mov edx, edi
mov byte [esi + 0x58], 1
mov byte [esi + 0x59], 1
mov dword [esi + 0x2e98], 0x17
call fcn.0053b730
jmp 0x49d17d
mov dword [esi + 0xf00], 0x554244
mov dword [esi + 0xf04], 1
mov dword [esi + 0xf08], 0x5a5dc0
mov dword [esi + 0xf0c], 0
mov dword [esi + 0xf10], 0
mov dword [esi + 0x2e98], 8
lea ecx, [esi + 0x250]
lea edx, [esi + 0x29a8]
push 0x55424c
lea eax, [esi + 0xf00]
push eax
call fcn.005400a0
add esp, 8
jmp 0x49d17d
mov ecx, 0x10
mov edx, 0x970
mov dword [esi + 0x2e98], 0x10
call fcn.0053b730
jmp 0x49d17d
mov ecx, 4
mov edx, 0x16c
mov dword [esi + 0x2e98], 7
call fcn.0053b730
jmp 0x49d17d
pshufd xmm0, xmmword [esi + 0x30], 0xff
mov ecx, 4
mov edx, 0x150
mov dword [esi + 0x2e98], 6
movd dword [esi + 0x1c], xmm0
call fcn.0053b730
jmp 0x49d17d
mov ecx, 4
mov edx, 0x164
mov dword [esi + 0x2e98], 5
call fcn.0053b730
ud2