Function at 0x4e93f0
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.0057a400
mov esi, esp
mov dword [esi + 0x2e88], ebp
call 0x4e9410
pop eax
mov dword [esi + 0x2e8c], esp
mov dword [esi + 0x2e98], 0xffffffff
mov dword [esi + 0x2e94], 0x579110
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 0x4e96b6
cmp byte [edi + 0x3c], 3
lea ecx, [edi + 0x30]
mov eax, 0x59bd14
cmovne eax, ecx
cmp byte [eax + 0xc], 2
jne 0x4e9590
cmp byte [edi + 0x44], 0
je 0x4e96b6
movzx eax, byte [edi + 0x42]
mov ecx, dword [ebp + 0xc]
movaps xmm0, xmmword [0x589990]
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 0x4e94d6
mov eax, dword [esi + 4]
add eax, 4
cmp eax, dword [esi + 8]
lea ecx, [esi + 0xf00]
je 0x4e95c2
mov dword [esi + 4], eax
mov eax, dword [eax]
mov dword [esi + 0x2e98], 0
lea edx, [esi + 0x410]
push eax
call fcn.0053c490
add esp, 4
lea ecx, [esi + 0x15e0]
lea edx, [esi + 0xf00]
mov dword [esi + 0x2e98], 1
call fcn.004f8aa0
mov eax, dword [esi + 0xf00]
cmp eax, 0x80000000
je 0x4e94d0
mov ebx, dword [esi + 0xf08]
mov ecx, dword [esi + 0xf04]
mov dword [esi + 0xc], eax
test ebx, ebx
mov dword [esi + 0x30], ecx
je 0x4e9570
mov eax, dword [esi + 0x30]
lea edi, [eax + 4]
jmp 0x4e9556
add edi, 0x10
dec ebx
je 0x4e9570
cmp dword [edi - 4], 0
je 0x4e9550
push dword [edi]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4e9550
cmp dword [esi + 0xc], 0
je 0x4e94d0
push dword [esi + 0x30]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4e94d0
mov ecx, dword [eax]
mov edx, dword [eax + 4]
lock inc dword [ecx]
jle 0x4f059d
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 0x4e96bd
cmp byte [esi + 0x70], 0
lea ecx, [esi + 0x15e0]
mov dword [esi + 0x2e98], 0
je 0x4e95e4
mov edx, 1
call fcn.0053f200
jmp 0x4e9600
call fcn.004f7fe0
cmp dword [esi + 0x15e0], 0x80000000
je 0x4e9600
lea ecx, [esi + 0x15e0]
call fcn.004f88e0
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 0x4e967d
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 0x4e9662
add edi, 0xfffffff0
cmp byte [ebx + 0xc], 0
lea ebx, [ebx + 0x10]
jne 0x4e9650
jmp 0x4e967d
mov edi, dword [esi + 0x1c]
cmp dword [edi + 0x54], 1
jne 0x4e967d
mov edi, dword [esi + 0x1c]
mov edi, dword [edi + 0x50]
mov edi, dword [edi]
cmp dword [edi + 0x2c], 0
je 0x4eb7d4
cmp dword [ebp + 0xc], 1
mov edi, dword [esi + 0x1c]
jne 0x4e96a5
cmp dword [edi + 0x54], 0
je 0x4ee6a0
mov eax, dword [edi + 0x50]
mov eax, dword [eax]
cmp dword [eax + 0x18], 0
jne 0x4e96a5
cmp dword [eax + 0x2c], 0
je 0x4eb53a
mov eax, dword [esi + 0x1fd0]
cmp eax, 0x80000000
jne 0x4ea500
mov byte [esi + 0xfc], 2
lock inc dword [edi]
jle 0x4f059d
movzx edx, byte [esi + 0xfc]
cmp dl, 2
jne 0x4e96e3
mov cl, 2
cmp byte [edi + 0x40], 0
je 0x4e970f
movzx eax, byte [edi + 0x41]
mov byte [esi + 0x6c], al
jmp 0x4e9713
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 0x4f059d
mov eax, dword [esi + 0xf8]
mov ecx, edx
mov dword [esi + 0x50], eax
cmp byte [edi + 0x40], 0
jne 0x4e96da
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 0x4e9748
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.004c54b0
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.004f3850
add esp, 8
cmp dword [esi + 0xf00], 0x2a
jne 0x4e98c1
mov eax, dword [esi + 0xf04]
lea ecx, [esi + 0x444]
mov dword [esi + 0xac], eax
call fcn.004c5b70
cmp dword [esi + 0x450], 0
je 0x4e9825
push dword [esi + 0x454]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x464]
test eax, eax
mov dword [esi + 0xc], eax
je 0x4e9a01
mov eax, dword [esi + 0x460]
mov dword [esi + 4], eax
xor eax, eax
jmp 0x4e985d
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [esi + 0xc]
je 0x4e9a01
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 0x4e98a0
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x30]
mov edi, dword [eax + ecx*4 + 4]
jmp 0x4e9886
add edi, 8
dec ebx
je 0x4e98a0
mov eax, dword [edi]
test eax, eax
je 0x4e9880
lock dec dword [eax]
jne 0x4e9880
mov ecx, dword [edi]
mov edx, dword [edi + 4]
call fcn.004c2b10
jmp 0x4e9880
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x30]
lea eax, [eax + ecx*4]
cmp dword [eax], 0
je 0x4e9850
push dword [eax + 4]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4e9850
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.004c5b70
cmp dword [esi + 0x450], 0
je 0x4e9969
push dword [esi + 0x454]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x464]
test eax, eax
mov dword [esi + 0xc], eax
je 0x4e9b2f
mov eax, dword [esi + 0x460]
mov dword [esi + 4], eax
xor eax, eax
jmp 0x4e999d
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [esi + 0xc]
je 0x4e9b2f
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 0x4e99e0
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x30]
mov edi, dword [eax + ecx*4 + 4]
jmp 0x4e99c6
add edi, 8
dec ebx
je 0x4e99e0
mov eax, dword [edi]
test eax, eax
je 0x4e99c0
lock dec dword [eax]
jne 0x4e99c0
mov ecx, dword [edi]
mov edx, dword [edi + 4]
call fcn.004c2b10
jmp 0x4e99c0
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x30]
lea eax, [eax + ecx*4]
cmp dword [eax], 0
je 0x4e9990
push dword [eax + 4]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4e9990
cmp dword [esi + 0x45c], 0
je 0x4e9a1e
push dword [esi + 0x460]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
lea ecx, [esi + 0x470]
call fcn.004c5a80
lea ecx, [esi + 0x498]
call fcn.004c5960
cmp dword [esi + 0x4ec], 0
mov edi, dword [esi + 0x1c]
je 0x4e9a54
push dword [esi + 0x4f0]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp byte [esi + 0x70], 2
je 0x4e9a66
mov eax, dword [esi + 0x10]
lock inc dword [eax]
jle 0x4f059d
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.004c54b0
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 0x4f059d
cmp dl, 1
mov dword [esi + 0x28], edi
ja 0x4e9bc4
lock inc dword [ecx]
jle 0x4f059d
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 0x4e9bf3
cmp dword [esi + 0x45c], 0
je 0x4e9b4c
push dword [esi + 0x460]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
lea ecx, [esi + 0x470]
call fcn.004c5a80
lea ecx, [esi + 0x498]
call fcn.004c5960
cmp dword [esi + 0x4ec], 0
mov edi, dword [esi + 0x10]
je 0x4e9b82
push dword [esi + 0x4f0]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp byte [esi + 0x70], 2
je 0x4e9ba1
lock dec dword [edi]
jne 0x4e9ba1
mov edx, dword [esi + 0x2c]
mov ecx, edi
mov dword [esi + 0x2e98], 0x24
call fcn.0051be70
mov ecx, dword [esi + 0x1c]
lock dec dword [ecx]
jne 0x4e9bb8
mov dword [esi + 0x2e98], 0xe
call fcn.004f1810
mov dword [esi + 4], 1
jmp 0x4ec0a8
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 0x4e9c16
mov eax, dword [esi + 0x10]
lock dec dword [eax]
jne 0x4e9c16
mov ecx, dword [esi + 0x500]
mov edx, dword [esi + 0x504]
mov dword [esi + 0x2e98], 0x40
call fcn.0051be70
lea ecx, [esi + 0x444]
call fcn.004c5b70
cmp dword [esi + 0x450], 0
je 0x4e9c3e
push dword [esi + 0x454]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x464]
test eax, eax
mov dword [esi + 0xc], eax
je 0x4e9cd1
mov eax, dword [esi + 0x460]
mov dword [esi + 4], eax
xor eax, eax
jmp 0x4e9c69
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [esi + 0xc]
je 0x4e9cd1
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 0x4e9cb0
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x30]
mov edi, dword [eax + ecx*4 + 4]
jmp 0x4e9c96
add edi, 8
dec ebx
je 0x4e9cb0
mov eax, dword [edi]
test eax, eax
je 0x4e9c90
lock dec dword [eax]
jne 0x4e9c90
mov ecx, dword [edi]
mov edx, dword [edi + 4]
call fcn.004c2b10
jmp 0x4e9c90
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x30]
lea eax, [eax + ecx*4]
cmp dword [eax], 0
je 0x4e9c60
push dword [eax + 4]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4e9c60
cmp dword [esi + 0x45c], 0
je 0x4e9cee
push dword [esi + 0x460]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
lea ecx, [esi + 0x470]
call fcn.004c5a80
lea ecx, [esi + 0x498]
call fcn.004c5960
cmp dword [esi + 0x4ec], 0
mov edi, dword [esi + 0x1c]
je 0x4e9d24
push dword [esi + 0x4f0]
push 0
push dword [0x5fd290]
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 0x4e9d69
mov eax, dword [esi + 0x10]
lock inc dword [eax]
jle 0x4f059d
cmp byte [edi + 0x48], 0
je 0x4e9e9f
cmp byte [edi + 0x42], 0
je 0x4e9e9f
lea ecx, [esi + 0xf00]
mov byte [esi + 0xa5], 1
mov dword [esi + 0x2e98], 0x3d
call fcn.004c54b0
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 0x4f059d
cmp dl, 2
je 0x4e9e28
lock inc dword [ecx]
jle 0x4f059d
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.004f78b0
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 0x4e9ec8
mov eax, 2
cmp cl, 2
je 0x4e9ec8
mov ecx, dword [esi + 0x10]
lock dec dword [ecx]
jne 0x4e9ec8
mov edx, dword [esi + 0x2c]
mov dword [esi + 0x2e98], 0x28
call fcn.0051be70
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 0x4ea9e9
mov eax, dword [edi + 0x58]
mov edx, dword [esi + 0xac]
cmp dword [eax + 0x2c], 0
jne 0x4e9f2c
test dword [eax + 0x18], 0x33300
je 0x4ea9e9
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 0x4e9f6d
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.004c54b0
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 0x4f059d
test ecx, ecx
mov dword [esi + 0x200], ebx
setne byte [esi + 0x4c]
test al, al
je 0x4e9ff0
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 0x4ea0f8
movdqa xmm0, xmmword [0x589530]
movaps xmm1, xmmword [0x589540]
movaps xmm2, xmmword [str._________._0123456789:_____ABCDEFGHIJKLMNOPQRSTUVWXYZ____abcdefghijklmnopqrstuvwxyz]
lea eax, [esi + 0x1ab0]
movdqa xmmword [esi + 0x410], xmm0
movaps xmmword [esi + 0x420], xmm1
movaps xmm1, xmmword [0x589560]
movaps xmmword [esi + 0x430], xmm2
movaps xmm2, xmmword [0x589570]
movaps xmmword [esi + 0x440], xmm1
movaps xmm1, xmmword [0x589580]
movaps xmmword [esi + 0x450], xmm2
movaps xmm2, xmmword [0x589590]
movaps xmmword [esi + 0x460], xmm1
movaps xmm1, xmmword [0x5895a0]
movaps xmmword [esi + 0x470], xmm2
movaps xmm2, xmmword [0x5895b0]
movaps xmmword [esi + 0x480], xmm1
movaps xmm1, xmmword [0x5895c0]
movaps xmmword [esi + 0x490], xmm2
movaps xmm2, xmmword [0x5895d0]
movaps xmmword [esi + 0x4a0], xmm1
movaps xmm1, xmmword [0x5895e0]
movaps xmmword [esi + 0x4b0], xmm2
movaps xmm2, xmmword [0x5895f0]
movaps xmmword [esi + 0x4c0], xmm1
movaps xmm1, xmmword [0x589600]
movaps xmmword [esi + 0x4d0], xmm2
movdqa xmm2, xmmword [0x589610]
movaps xmmword [esi + 0x4e0], xmm1
movdqa xmm1, xmmword [0x589620]
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 0x4f059d
mov dword [esi + 0x410], ebx
mov byte [esi + 0x28], dl
mov edi, dword [ebx + 0x15c]
test edi, edi
js 0x4efbd5
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 0x4ea26c
cmp eax, 0x1fffffff
ja 0x4efc1a
lea edi, [eax*4]
test edi, edi
js 0x4efc2e
movzx eax, byte [0x5fd2ec]
xor ecx, ecx
mov edx, edi
call fcn.0056a9f0
test eax, eax
je 0x4efc42
cmp dword [esi + 0x4c], 2
mov dword [esi + 0x20], eax
jb 0x4ea25e
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 0x4ea275
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.004c5f50
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 0x4ea425
lea edx, [ebx - 1]
cmp edx, 0x3f
ja 0x4ea48a
mov edx, dword [edx*4 + 0x4f16ec]
add edx, edi
jmp edx
xor ecx, ebx
cmp ebx, 0x200
ja 0x4ea4f6
test ecx, ecx
je 0x4ea4d2
mov ebx, ecx
neg ebx
and ebx, ecx
cmp ebx, 0x1ff
jle 0x4ea400
cmp ebx, 0x1fff
jle 0x4ea470
cmp ebx, 0x7fff
jle 0x4ea4ba
cmp ebx, 0x8000
je 0x4ea417
cmp ebx, 0x10000
je 0x4ea417
cmp ebx, 0x20000
je 0x4ea417
jmp 0x4ea4d2
cmp ebx, 0x7ff
jg 0x4ea4a0
cmp ebx, 0x200
je 0x4ea417
cmp ebx, 0x400
je 0x4ea417
jmp 0x4ea4d2
cmp ebx, 0x80
je 0x4ea417
cmp ebx, 0x100
je 0x4ea417
jmp 0x4ea4d2
cmp ebx, 0x800
je 0x4ea417
cmp ebx, 0x1000
je 0x4ea417
jmp 0x4ea4d2
cmp ebx, 0x2000
je 0x4ea417
cmp ebx, 0x4000
je 0x4ea417
cmp dword [eax + 0x15c], 0x3fffff
jbe 0x4ea549
mov dword [esi + 0x60], 0
mov dword [esi + 0x20], 0x3fffff
mov edi, 0x2c
jmp 0x4ea745
mov edi, 0x2d
jmp 0x4ea745
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.004f2020
mov ebx, dword [esi + 0x30]
add esp, 4
cmp dword [esi + 0x410], 0x80000007
jne 0x4ea58a
mov byte [esi + 0xfc], 2
jmp 0x4ea96a
mov edi, dword [eax + 0x144]
xor eax, eax
mov edx, 0
mov ecx, dword [edi + 0x10]
test ecx, ecx
je 0x4ea564
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 0x4ea702
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 0x4ea745
test ebx, ebx
je 0x4ea946
mov eax, dword [esi + 4]
cmp ebx, 1
mov edi, dword [eax + 8]
je 0x4ea948
lea edx, [ebx + 0xfffffff]
xor ecx, ecx
mov eax, edx
and eax, 0xfffffff
cmp eax, 8
jb 0x4ea6dd
movd xmm0, edi
mov edi, dword [esi + 4]
and edx, 7
mov ecx, eax
pshufd xmm1, xmm0, 0
movdqa xmm0, xmmword [0x589850]
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 0x4ea5e0
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 0x4ea948
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 0x4ea6f0
jmp 0x4ea948
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 0x4ea726
mov ebx, edx
jmp 0x4ea735
cmp edx, 0x200000
mov dword [esi + 4], ecx
jbe 0x4eb77f
mov dword [esi + 0x60], 0
mov dword [esi + 0x20], 0x200000
mov edi, eax
lea ecx, [esi + 0x410]
call fcn.004c6090
mov dword [esi + 0x28], 0
mov eax, dword [esi + 0x200]
lock dec dword [eax]
jne 0x4ea76d
lea ecx, [esi + 0x200]
call fcn.004c5e90
lea ecx, [esi + 0x1d80]
mov dword [esi + 0x4c], ebx
mov dword [esi + 0x5c], edi
call fcn.004c5b70
cmp dword [esi + 0x1d8c], 0
je 0x4ea79b
push dword [esi + 0x1d90]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x1da0]
test eax, eax
mov dword [esi + 0xc], eax
je 0x4ea831
mov eax, dword [esi + 0x1d9c]
mov dword [esi + 4], eax
xor eax, eax
jmp 0x4ea7c9
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [esi + 0xc]
je 0x4ea831
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 0x4ea810
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x30]
mov edi, dword [eax + ecx*4 + 4]
jmp 0x4ea7f6
add edi, 8
dec ebx
je 0x4ea810
mov eax, dword [edi]
test eax, eax
je 0x4ea7f0
lock dec dword [eax]
jne 0x4ea7f0
mov ecx, dword [edi]
mov edx, dword [edi + 4]
call fcn.004c2b10
jmp 0x4ea7f0
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x30]
lea eax, [eax + ecx*4]
cmp dword [eax], 0
je 0x4ea7c0
push dword [eax + 4]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4ea7c0
cmp dword [esi + 0x1d98], 0
je 0x4ea84e
push dword [esi + 0x1d9c]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
lea ecx, [esi + 0x1dac]
call fcn.004c5a80
lea ecx, [esi + 0x1dd4]
call fcn.004c5960
cmp dword [esi + 0x1e28], 0
mov edi, dword [esi + 0x1c]
mov ebx, dword [esi + 0x5c]
je 0x4ea887
push dword [esi + 0x1e2c]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp byte [esi + 0x28], 0
je 0x4ea8e0
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 0x4ea9e9
movdqa xmm0, xmmword [esi + 0xe0]
cmp ebx, 0x29
ja 0x4ea9e4
lea ecx, [ebx - 0x23]
xor eax, eax
lea edx, [ebx - 0x22]
cmp ecx, 7
cmovb eax, edx
test eax, eax
je 0x4ea92e
cmp eax, 1
jne 0x4ea9e4
cmp dword [esi + 0x20], 0x80000004
jl 0x4ea9e4
cmp dword [esi + 0x20], 0
mov eax, dword [esi + 0x60]
mov dword [esi + 0x20], eax
jne 0x4ea9d3
jmp 0x4ea9e4
cmp ebx, 0x22
jne 0x4ea9c1
cmp dword [esi + 0x4c], 0
jne 0x4ea9d3
jmp 0x4ea9e4
xor edi, edi
mov dword [esi + 0x2e98], 2
lea ecx, [esi + 0xf0]
lea edx, [esi + 0x410]
push edi
call fcn.004f9390
add esp, 4
mov ebx, dword [esi + 0x30]
test ebx, ebx
je 0x4ea99e
mov eax, dword [esi + 4]
lea edi, [eax + 4]
jmp 0x4ea986
add edi, 0x10
dec ebx
je 0x4ea99e
cmp dword [edi - 4], 0
je 0x4ea980
push dword [edi]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4ea980
cmp dword [esi + 8], 0
mov edi, dword [esi + 0x1c]
je 0x4e96bd
push dword [esi + 4]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4e96bd
movd eax, xmm0
test eax, eax
je 0x4ea9e4
pshufd xmm0, xmm0, 0x55
movd dword [esi + 0x20], xmm0
push dword [esi + 0x20]
push 0
push dword [0x5fd290]
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 0x4eaba1
lea ecx, [esi + 0x410]
mov dword [esi + 0x2e98], 0x2b
call fcn.004c54b0
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.004f3850
add esp, 8
cmp dword [esi + 0xf00], 0x2a
jne 0x4eabc2
mov eax, dword [esi + 0xf04]
lea ecx, [esi + 0x444]
mov dword [esi + 0x10c], eax
call fcn.004c5b70
cmp dword [esi + 0x450], 0
je 0x4eab09
push dword [esi + 0x454]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x464]
test eax, eax
mov dword [esi + 0xc], eax
je 0x4ead01
mov eax, dword [esi + 0x460]
mov dword [esi + 4], eax
xor eax, eax
jmp 0x4eab3d
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [esi + 0xc]
je 0x4ead01
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 0x4eab80
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x30]
mov edi, dword [eax + ecx*4 + 4]
jmp 0x4eab66
add edi, 8
dec ebx
je 0x4eab80
mov eax, dword [edi]
test eax, eax
je 0x4eab60
lock dec dword [eax]
jne 0x4eab60
mov ecx, dword [edi]
mov edx, dword [edi + 4]
call fcn.004c2b10
jmp 0x4eab60
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x30]
lea eax, [eax + ecx*4]
cmp dword [eax], 0
je 0x4eab30
push dword [eax + 4]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4eab30
mov dword [esi + 0x44], 0
mov ebx, 2
xor edi, edi
mov dword [esi + 0x30], 0
mov dword [esi + 8], 0
jmp 0x4ebfb4
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.004c5b70
cmp dword [esi + 0x450], 0
je 0x4eac6a
push dword [esi + 0x454]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x464]
test eax, eax
mov dword [esi + 0xc], eax
je 0x4ead79
mov eax, dword [esi + 0x460]
mov dword [esi + 4], eax
xor eax, eax
jmp 0x4eac9d
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [esi + 0xc]
je 0x4ead79
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 0x4eace0
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x30]
mov edi, dword [eax + ecx*4 + 4]
jmp 0x4eacc6
add edi, 8
dec ebx
je 0x4eace0
mov eax, dword [edi]
test eax, eax
je 0x4eacc0
lock dec dword [eax]
jne 0x4eacc0
mov ecx, dword [edi]
mov edx, dword [edi + 4]
call fcn.004c2b10
jmp 0x4eacc0
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x30]
lea eax, [eax + ecx*4]
cmp dword [eax], 0
je 0x4eac90
push dword [eax + 4]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4eac90
cmp dword [esi + 0x45c], 0
je 0x4ead1e
push dword [esi + 0x460]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
lea ecx, [esi + 0x470]
call fcn.004c5a80
lea ecx, [esi + 0x498]
call fcn.004c5960
cmp dword [esi + 0x4ec], 0
mov edi, dword [esi + 0x1c]
je 0x4ead54
push dword [esi + 0x4f0]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp byte [edi + 0x45], 0
je 0x4eaee3
cmp byte [esi + 0x70], 2
jne 0x4eaf0a
mov ebx, dword [esi + 0xac]
movzx eax, byte [edi + 0x42]
mov cl, 2
jmp 0x4eaf3d
cmp dword [esi + 0x45c], 0
je 0x4ead96
push dword [esi + 0x460]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
lea ecx, [esi + 0x470]
call fcn.004c5a80
lea ecx, [esi + 0x498]
call fcn.004c5960
cmp dword [esi + 0x4ec], 0
je 0x4eadc9
push dword [esi + 0x4f0]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0xd80], 3
je 0x4eae22
mov eax, dword [esi + 0xda4]
lock dec dword [eax]
jne 0x4eade8
lea ecx, [esi + 0xda4]
call fcn.004c5e90
cmp dword [esi + 0xd8c], 0
je 0x4eae05
push dword [esi + 0xd90]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0xd98], 0
je 0x4eae22
push dword [esi + 0xd9c]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x188], 2
je 0x4eae76
movzx eax, byte [esi + 0x19c]
cmp al, 3
je 0x4eae60
cmp al, 2
je 0x4eae60
mov eax, dword [esi + 0x190]
lock dec dword [eax]
jne 0x4eae60
mov ecx, dword [esi + 0x190]
mov edx, dword [esi + 0x194]
mov dword [esi + 0x2e98], 0x29
call fcn.0051be70
mov eax, dword [esi + 0x1a0]
lock dec dword [eax]
jne 0x4eae76
lea ecx, [esi + 0x1a0]
call fcn.004c5e90
movzx eax, byte [esi + 0x1f8]
cmp al, 3
je 0x4eaeab
cmp al, 2
je 0x4eaeab
mov eax, dword [esi + 0x1ec]
lock dec dword [eax]
jne 0x4eaeab
mov ecx, dword [esi + 0x1ec]
mov edx, dword [esi + 0x1f0]
mov dword [esi + 0x2e98], 0x27
call fcn.0051be70
mov eax, dword [esi + 0x1e8]
lock dec dword [eax]
jne 0x4eaec1
lea ecx, [esi + 0x1e8]
call fcn.004c5e90
mov eax, dword [esi + 0xac]
lock dec dword [eax]
mov edi, dword [esi + 0x10]
jne 0x4e9b82
lea ecx, [esi + 0xac]
call fcn.004c5e90
jmp 0x4e9b82
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 0x4ebf78
mov eax, dword [esi + 0x10]
lock inc dword [eax]
jle 0x4f059d
cmp byte [edi + 0x45], 0
mov ecx, dword [esi + 0x10]
je 0x4ebf0f
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 0x4f059d
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 0x4eaf81
mov eax, dword [edi + 0xc]
mov dword [esi + 0x2e98], 0x2e
mov dword [esi + 0x30], eax
jmp 0x4eaf88
mov dword [esi + 0x30], 0x200000
lea ecx, [esi + 0x1ab0]
mov dword [esi + 0x2e98], 0x2e
call fcn.004c54b0
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 0x4eb00e
lock inc dword [eax]
jle 0x4f059d
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 [0x5899a0]
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.004dbda0
mov eax, dword [esi + 0x40]
lock inc dword [eax]
jle 0x4f059d
lea ecx, [esi + 0x1fd0]
lea edx, [esi + 0x410]
push eax
call fcn.004d7050
add esp, 4
lea ecx, [esi + 0x410]
mov byte [esi + 0x6b], 1
mov dword [esi + 0x2e98], 0x2f
call fcn.004d6ee0
movdqa xmm0, xmmword [esi + 0x1fd0]
pcmpeqb xmm0, xmmword [0x5892a0]
pmovmskb eax, xmm0
cmp eax, 0xffff
jne 0x4eb159
mov ecx, dword [esi + 0x1fe0]
mov edi, dword [esi + 0x10]
movzx ebx, byte [esi + 0x44]
cmp ecx, 0x29
ja 0x4ebeca
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 0x4eb87a
cmp edx, 1
jne 0x4ebeca
cmp eax, 0x80000004
jl 0x4ebeca
test eax, eax
je 0x4ebeca
mov eax, dword [esi + 0x1fec]
jmp 0x4ebe13
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.004c54b0
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 0x4eb1fe
mov eax, dword [esi + 0x10]
lock inc dword [eax]
jle 0x4f059d
cmp byte [esi + 0x44], 1
ja 0x4eb221
mov eax, dword [esi + 0x10]
lock dec dword [eax]
jne 0x4eb221
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x2c]
mov dword [esi + 0x2e98], 0x34
call fcn.0051be70
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 [0x5899a0]
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], 0x100
mov byte [esi + 0x2aa], al
mov byte [esi + 0x2ab], 1
mov word [esi + 0x2ac], 0
call fcn.004dbda0
mov eax, dword [esi + 0x10c]
lock inc dword [eax]
jle 0x4f059d
lea ecx, [esi + 0x1ab0]
lea edx, [esi + 0x410]
push eax
call fcn.004d7050
add esp, 4
lea ecx, [esi + 0x410]
mov byte [esi + 0x86], 1
mov byte [esi + 0x87], 1
mov dword [esi + 0x2e98], 0x31
call fcn.004d6ee0
movdqa xmm0, xmmword [esi + 0x1ab0]
pcmpeqb xmm0, xmmword [0x5892a0]
pmovmskb eax, xmm0
cmp eax, 0xffff
jne 0x4eb39f
mov ecx, dword [esi + 0x1ac0]
cmp ecx, 0x29
ja 0x4ebe78
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 0x4ebe27
cmp edx, 1
jne 0x4ebe78
cmp eax, 0x80000004
jl 0x4ebe78
test eax, eax
je 0x4ebe78
mov eax, dword [esi + 0x1acc]
jmp 0x4ebe69
lea ecx, [esi + 0x250]
mov byte [esi + 0xa6], 0
mov byte [esi + 0xa7], 1
mov dword [esi + 0x2e98], 0x32
call fcn.004c54b0
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.004d6ee0
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 0x4ebf45
mov eax, dword [esi + 0x10]
lock dec dword [eax]
jne 0x4eb52c
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0x2c]
mov dword [esi + 0x2e98], 0x2d
mov ecx, dword [esi + 0x10]
call fcn.0051be70
mov eax, dword [esi + 0x10]
lock dec dword [eax]
je 0x4ebf30
jmp 0x4ebf45
cmp byte [eax + 0x32], 0
je 0x4e96a5
cmp byte [edi + 0x42], 0
je 0x4e96a5
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp dword [eax], 7
jne 0x4e96a5
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 0x4eb5c8
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 0x4ebe37
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 0x4eb6d8
cmp eax, 6
jne 0x4f00bc
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 0x4eb66b
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 0x4eb71e
mov dword [esi + 0x29a8], ecx
cmp dword [ecx], 1
jne 0x4ef941
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 0x4eb640
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.0057bdc0
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 0x4eb643
mov edi, dword [ecx + 8]
mov edx, dword [ecx + 4]
test edi, edi
je 0x4eb723
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.0057bdc0
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 0x4eb72a
mov ebx, dword [esi + 0x2c]
jmp 0x4eb74e
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 0x4eb5a7
mov dword [esi + 4], ecx
lea ecx, [esi + 0x15e0]
mov edx, ebx
mov dword [esi + 0x2e98], 0xc
call fcn.00418db0
jmp 0x4eb598
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 0x4eb895
lea ecx, [esi + 0x41c]
mov dword [esi + 0x2e98], 0x39
mov edx, edi
push ebx
call fcn.00581e10
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 0x4eb898
test cl, cl
je 0x4e967d
cmp dword [edi + 0x18], 0
jne 0x4e967d
mov dword [esi + 0x2e98], 2
lea ecx, [esi + 0x410]
push eax
call fcn.004f2020
add esp, 4
cmp dword [esi + 0x410], 0x80000007
lea eax, [esi + 0xf00]
je 0x4e967d
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 + 0x4f16d0]
mov dword [esi + 0x30], ecx
add eax, dword [esi + 0x5c]
jmp eax
cmp ecx, 0x22
jne 0x4ebe00
cmp dword [esi + 0x1fe4], 0
jne 0x4ebe13
jmp 0x4ebeca
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 0x4ef49d
mov dword [ebx + eax*8 + 4], 0xfffffc00
mov dword [ebx + eax*8], 0
cmp dword [esi + 0x54c], 1
jne 0x4eb90e
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 0x4ea735
test edi, edi
mov dword [esi + 0x1ab0], edi
jne 0x4f03a4
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 0x4f03ce
lea ecx, [esi + 0xf00]
lea edx, [esi + 0x410]
push eax
call fcn.004c6170
add esp, 4
mov eax, dword [esi + 0xf00]
cmp eax, 0x30
jne 0x4ebd7a
mov edx, dword [esi + 0x430]
mov edi, dword [esi + 0xf04]
lea ecx, [esi + 0x428]
cmp edx, dword [esi + 0x428]
jne 0x4eb99c
mov dword [esi + 4], edi
call fcn.00418bd0
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 0x4ed516
mov eax, dword [esi + 0x560]
test eax, eax
je 0x4ee3fc
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 0x4ef901
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.004c6970
add esp, 0xc
mov eax, dword [esi + 0xf00]
cmp eax, 0x30
jne 0x4ebd7a
mov eax, dword [esi + 0x578]
test eax, eax
je 0x4eb9c7
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 0x4ef08b
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 + 0x4f17ec]
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 0x4ea745
cmp dword [esi + 0x1ffc], 0
je 0x4ebeca
mov eax, dword [esi + 0x2000]
push eax
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4ebeca
cmp ecx, 0x22
jne 0x4ebe5a
cmp dword [esi + 0x1ac4], 0
jne 0x4ebe69
jmp 0x4ebe78
cmp ebx, 0xbb8
jae 0x4ed5cc
lea eax, [esi + 0x15e0]
push eax
call fcn.0051bfc0
add esp, 4
mov edi, dword [esi + 0x1c]
jmp 0x4e96a5
cmp dword [esi + 0x1adc], 0
je 0x4ebe78
mov eax, dword [esi + 0x1ae0]
push eax
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
movzx eax, byte [esi + 0x1d7c]
cmp al, 3
je 0x4ebead
cmp al, 2
je 0x4ebead
mov eax, dword [esi + 0x1d70]
lock dec dword [eax]
jne 0x4ebead
mov ecx, dword [esi + 0x1d70]
mov edx, dword [esi + 0x1d74]
mov dword [esi + 0x2e98], 0x35
call fcn.0051be70
mov eax, dword [esi + 0x1fc0]
lock dec dword [eax]
mov edi, dword [esi + 0x10]
movzx ebx, byte [esi + 0x44]
jne 0x4ebeca
lea ecx, [esi + 0x1fc0]
call fcn.004c5e90
cmp bl, 2
jne 0x4ebeed
mov dword [esi + 0xc], 0
mov dword [esi + 0x40], 2
mov dword [esi + 0x30], 0
mov dword [esi + 8], 0
jmp 0x4ebf45
lock dec dword [edi]
mov ecx, edi
jne 0x4ebf0f
mov dword [esi + 0x10], ecx
mov edx, dword [esi + 0x2c]
mov dword [esi + 0x2e98], 0x2d
mov ecx, dword [esi + 0x10]
call fcn.0051be70
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 0x4ebf45
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x2c]
mov dword [esi + 0x2e98], 0x2c
call fcn.0051be70
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 0x4ec116
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 0x4ed2b0
mov eax, dword [esi + 0xf0]
lock dec dword [eax]
jne 0x4ed2b0
mov ecx, dword [esi + 0xf0]
mov edx, dword [esi + 0xf4]
mov dword [esi + 0x2e98], 0xffffffff
call fcn.0051be70
jmp 0x4ed2b0
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 0x4ec243
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 0x4ec288
test byte [eax + 0x1c], 1
mov ecx, dword [esi + 0x40]
mov edx, dword [esi + 0x30]
jne 0x4ec25a
mov eax, ecx
xor eax, 2
or eax, edx
or eax, edi
jne 0x4ec26a
mov dword [esi + 0x64], 0
mov dword [esi + 0x5c], 1
jmp 0x4ec276
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 0x4ec471
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 [0x5fd2ec]
call fcn.0056a9f0
test eax, eax
je 0x4efc7d
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], 0x59c3d8
jmp 0x4ed29d
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 0x4ec85b
mov eax, dword [ecx + 0x58]
lea ebx, [esi + 0xf00]
test byte [eax + 0x1c], 1
jne 0x4ec99e
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 0x4ec87e
cmp byte [esi + 0x70], 0
jne 0x4ec87e
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 0x4eca6f
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 0x4ec9c2
test byte [esi + 0x64], 1
jne 0x4ec99e
mov eax, dword [esi + 0x10]
mov ecx, dword [ebp + 0xc]
movdqa xmm0, xmmword [0x589990]
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 0x4ec8e6
mov eax, dword [esi + 4]
add eax, 4
cmp eax, dword [esi + 0x4c]
lea ecx, [esi + 0x1d40]
je 0x4ed2c4
mov dword [esi + 4], eax
mov eax, dword [eax]
mov dword [esi + 0x2e98], 0x21
lea edx, [esi + 0x15e0]
push eax
call fcn.0053c490
add esp, 4
lea ecx, [esi + 0x1fd0]
lea edx, [esi + 0x1d40]
mov dword [esi + 0x2e98], 0x22
call fcn.004f8aa0
mov eax, dword [esi + 0x1d40]
cmp eax, 0x80000000
je 0x4ec8e0
mov ebx, dword [esi + 0x1d48]
mov ecx, dword [esi + 0x1d44]
mov dword [esi + 0x20], eax
test ebx, ebx
mov dword [esi + 0x28], ecx
je 0x4ec97e
mov eax, dword [esi + 0x28]
lea edi, [eax + 4]
jmp 0x4ec966
add edi, 0x10
dec ebx
je 0x4ec97e
cmp dword [edi - 4], 0
je 0x4ec960
push dword [edi]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4ec960
cmp dword [esi + 0x20], 0
je 0x4ec8e0
push dword [esi + 0x28]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4ec8e0
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 0x4ecdbd
cmp byte [ecx + 0x42], 0
lea ebx, [esi + 0xf00]
je 0x4ecf60
mov eax, dword [ecx + 0x58]
test byte [eax + 0x1c], 1
jne 0x4ecf60
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 0x4ece6c
cmp byte [esi + 0x70], 0
jne 0x4ece6c
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 0x4ed021
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 0x4ed00a
test byte [esi + 0x64], 1
jne 0x4ecf60
cmp dword [ebp + 0xc], 1
jne 0x4ee543
mov eax, dword [ebp + 8]
lea edi, [esi + 0x1ab0]
mov eax, dword [eax]
mov ecx, dword [eax]
cmp ecx, 5
jne 0x4ece9c
mov eax, dword [eax + 4]
mov ecx, dword [eax]
cmp ecx, 5
je 0x4ece92
jb 0x4ee549
cmp ecx, 6
jne 0x4ee549
mov ebx, dword [eax + 0xc]
test ebx, ebx
je 0x4ee2bb
cmp ebx, 0x4924925
jae 0x4f040c
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 [0x5fd2ec]
add edi, ebx
mov edx, edi
call fcn.0056a9f0
test eax, eax
mov dword [esi + 8], eax
je 0x4f0424
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.004f9850
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 0x4ecefc
jmp 0x4ee2c2
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 [0x5fd2ec]
call fcn.0056a9f0
test eax, eax
je 0x4efc9b
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], 0x59c4d4
mov dword [eax], 2
cmp byte [esi + 0xfc], 2
jne 0x4ec0e7
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 0x4ed2e6
xor edx, edx
call fcn.0053f200
jmp 0x4ed302
call fcn.004f7fe0
cmp dword [esi + 0x1fd0], 0x80000000
je 0x4ed302
lea ecx, [esi + 0x1fd0]
call fcn.004f88e0
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 0x4ed451
mov eax, dword [esi + 0x208]
test eax, eax
je 0x4ed451
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 0x4ed398
mov edx, dword [esi + 0xe0]
lea ebx, [esi + 0xf00]
xor ecx, ecx
mov al, 1
test edx, edx
je 0x4ede04
test al, 1
mov dword [esi + 4], edx
je 0x4ed3b5
mov edi, dword [esi + 0x20]
mov eax, dword [esi + 0xd4]
cmp edi, dword [esi + 0x104]
jne 0x4ed3d6
jmp 0x4eddcc
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 0x4eddcc
shl ecx, 4
add edi, ecx
mov ecx, eax
sub ecx, edx
jb 0x4f0154
mov eax, dword [edi + 8]
test eax, eax
je 0x4ede04
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 0x4ed380
mov edi, dword [esi + 0x4c]
movzx ebx, byte [edi + eax]
mov edi, dword [esi + 0x28]
cmp bl, byte [edi + eax]
jne 0x4ed386
inc edx
mov ebx, ecx
dec eax
add ebx, edx
jne 0x4ed420
mov edx, dword [esi + 0x60]
jmp 0x4ed386
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 0x4edebe
mov eax, dword [esi + 0x598]
mov dword [esi + 4], edx
mov ecx, dword [eax]
call fcn.004c6330
mov dword [esi + 0x30], eax
mov edx, dword [esi + 4]
xor eax, eax
jmp 0x4ed543
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 0x4eb9c7
mov ecx, dword [esi + 0x598]
mov ecx, dword [ecx]
cmp dword [ecx + 0x15c], eax
jbe 0x4f0145
mov edi, edx
lea edx, [eax + 1]
cmp edi, edx
mov dword [esi + 4], edi
jne 0x4f0129
mov edi, dword [ecx + 0x158]
lea ecx, [esi + 0xf00]
lea edx, [esi + 0x410]
push dword [edi + eax*4]
call fcn.004c6170
add esp, 4
mov eax, dword [esi + 0xf00]
mov ebx, dword [esi + 0xf04]
cmp eax, 0x30
jne 0x4edd4e
mov edx, dword [esi + 0x430]
cmp edx, dword [esi + 0x428]
jne 0x4ed530
lea ecx, [esi + 0x428]
mov dword [esi + 0x4c], ebx
call fcn.00418bd0
mov edx, dword [esi + 0x430]
mov ebx, dword [esi + 0x4c]
jmp 0x4ed530
mov eax, dword [esi + 0x15e0]
mov edi, dword [esi + 0x1c]
cmp eax, 0x80000000
je 0x4e96a5
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.00459ef0
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 0x4ee1b8
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 0x4ed79d
lea ecx, [esi + 0x5d0]
mov dword [esi + 0x2e98], 8
call fcn.004f3580
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 0x4ed7ea
lea ecx, [esi + 0x5e8]
mov dword [esi + 0x2e98], 8
call fcn.00418c70
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 0x4ed82f
lea ecx, [esi + 0x5dc]
call fcn.00418bd0
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.00459cd0
add esp, 4
mov eax, dword [esi + 0xf00]
cmp eax, 3
jne 0x4ee152
lea ecx, [esi + 0xf00]
lea edx, [esi + 0x5c4]
push 0
call fcn.00459cd0
add esp, 4
mov eax, dword [esi + 0xf00]
cmp eax, 3
jne 0x4ee152
lea ecx, [esi + 0xf00]
lea edx, [esi + 0x5c4]
push 0
call fcn.00459cd0
add esp, 4
mov eax, dword [esi + 0xf00]
cmp eax, 3
mov dword [esi + 4], eax
jne 0x4ee155
mov eax, dword [esi + 0xf04]
lea ecx, [esi + 0xf00]
lea edx, [esi + 0x5c4]
mov dword [esi + 0x71c], eax
push 0
call fcn.00459cd0
add esp, 4
mov eax, dword [esi + 0xf00]
cmp eax, 3
mov dword [esi + 4], eax
jne 0x4ee155
mov eax, dword [esi + 0xf04]
lea ecx, [esi + 0xf00]
lea edx, [esi + 0x410]
mov dword [esi + 0x720], eax
call fcn.0045c390
mov eax, dword [esi + 0xf00]
cmp eax, 3
mov dword [esi + 4], eax
jne 0x4ee155
lea ecx, [esi + 0xf00]
lea edx, [esi + 0x5c4]
push 0
push 0
call fcn.0045c410
add esp, 8
mov eax, dword [esi + 0xf00]
cmp eax, 3
mov dword [esi + 4], eax
jne 0x4ee155
cmp dword [esi + 0x10], 0
je 0x4edcf1
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 0x4efbee
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 0x4f04ca
mov ecx, dword [esi + 0x50]
cmp ecx, dword [esi + 0x5f4]
lea eax, [ecx + 1]
mov dword [esi + 0x64], eax
jne 0x4ed9f4
mov edx, dword [esi + 0x50]
lea ecx, [esi + 0x5f4]
mov dword [esi + 0x2e98], 8
call fcn.00418bd0
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 0x4eda30
mov edx, dword [esi + 0x40]
mov dword [esi + 0x2e98], 8
lea ecx, [esi + 0x430]
push dword [esi + 0x44]
call fcn.00462be0
add esp, 4
mov eax, dword [esi + 0x71c]
cmp dword [esi + 0x44], 0
mov dword [esi + 0x30], eax
je 0x4edc9d
mov eax, dword [esi + 0x40]
mov dword [esi + 0xc], 0
mov dword [esi + 0x6c], 0
add dword [esi + 0x44], eax
jmp 0x4eda72
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 0x4edca3
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 0x4edaac
mov edx, dword [esi + 0x5cc]
cmp dword [esi + 0x30], edx
jae 0x4f0385
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 0x4edac2
mov eax, dword [esi + 0x5c0]
cmp byte [eax + 4], 1
je 0x4edcd9
movzx edx, byte [esi + 8]
lea ecx, [esi + 0x410]
mov dword [esi + 0x2c], edx
push edx
call fcn.0045f330
add esp, 4
mov eax, dword [esi + 0x5c0]
cmp byte [eax + 6], 0
je 0x4edb1c
movzx eax, byte [esi + 8]
add al, 0xbf
cmp al, 0x1a
jae 0x4edaf6
movzx eax, byte [esi + 8]
or al, 0x20
jmp 0x4edb0a
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.0045f330
add esp, 4
mov edx, dword [esi + 0x5cc]
cmp edx, dword [esi + 0x30]
jbe 0x4f017a
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 0x4edb73
mov eax, dword [esi + 0x2c]
mov edx, dword [esi + 0x5e4]
movzx eax, byte [esi + eax + 0x60c]
add ecx, eax
cmp ecx, edx
jae 0x4f0369
shl ecx, 2
add ecx, dword [esi + 0x5e0]
mov eax, dword [ecx]
cmp eax, 1
mov dword [esi + 0x10], eax
jne 0x4eda59
jmp 0x4edbc3
mov edx, dword [esi + 0x30]
lea ecx, [esi + 0x5c4]
mov dword [esi + 0x2e98], 8
call fcn.00459820
movzx ebx, byte [esi + 8]
test edx, edx
je 0x4edbc3
mov edi, dword [eax + 0x14]
cmp edx, edi
jae 0x4efc5d
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 0x4edb8f
jne 0x4edbc3
add ecx, edi
inc ecx
mov eax, dword [ecx]
cmp eax, 1
mov dword [esi + 0x10], eax
jne 0x4eda59
mov dword [esi + 0x2e98], 8
lea ecx, [esi + 0xf00]
lea edx, [esi + 0x5c4]
push dword [esi + 0x6c]
call fcn.00459cd0
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 0x4ef9c6
lea ecx, [esi + 0xf00]
lea edx, [esi + 0x5c4]
push dword [esi + 0x10]
push dword [esi + 0x2c]
push dword [esi + 0x30]
call fcn.00459880
add esp, 0xc
mov eax, dword [esi + 0xf00]
cmp eax, 3
mov dword [esi + 4], eax
jne 0x4ef915
mov eax, dword [esi + 0x5c0]
cmp byte [eax + 6], 0
je 0x4eda59
movzx eax, byte [esi + 8]
add al, 0xbf
cmp al, 0x1a
jae 0x4edc50
movzx eax, byte [esi + 8]
or al, 0x20
jmp 0x4edc68
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.00459880
add esp, 0xc
mov eax, dword [esi + 0xf00]
cmp eax, 3
mov dword [esi + 4], eax
je 0x4eda59
jmp 0x4ef915
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.00459bc0
add esp, 8
mov eax, dword [esi + 0xf00]
cmp eax, 3
mov dword [esi + 4], eax
jne 0x4ef915
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 0x4ed962
mov ebx, dword [esi + 0x5cc]
cmp dword [esi + 0x5c4], ebx
jbe 0x4efa50
mov eax, dword [esi + 0x5c8]
test ebx, ebx
je 0x4efa26
lea ecx, [ebx*4]
lea edi, [ecx + ecx*4]
push edi
push eax
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapReAlloc]
test eax, eax
jne 0x4efa3a
mov ecx, 4
mov edx, edi
mov dword [esi + 0x2e98], 8
call fcn.0057f230
jmp 0x4f059d
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 0x4ebdf9
mov ecx, eax
sub ecx, edx
jb 0x4f03ea
test edx, edx
mov edi, edx
je 0x4ede04
mov edi, dword [esi + 0x100]
add edi, ecx
cmp edx, 1
jne 0x4ee0d6
movzx edx, byte [edi]
mov dword [esi + 0x2e98], 0x20
mov ecx, 0x80000000
jmp 0x4ee7bb
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 0x4eca7c
mov ebx, dword [esi + 0x208]
mov eax, dword [esi + 0x204]
test ebx, ebx
mov dword [esi + 4], eax
je 0x4edf2b
mov eax, dword [esi + 4]
lea edi, [eax + 4]
jmp 0x4edf13
add edi, 0x10
dec ebx
je 0x4edf2b
cmp dword [edi - 4], 0
je 0x4edf0d
push dword [edi]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4edf0d
cmp dword [esi + 0xd8], 0
je 0x4eca7c
push dword [esi + 4]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4eca7c
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 0x4ed2b0
mov ebx, dword [esi + 0x1fd8]
mov eax, dword [esi + 0x1fd4]
test ebx, ebx
mov dword [esi + 0x30], eax
je 0x4ee0b6
mov eax, dword [esi + 0x30]
lea edi, [eax + 4]
jmp 0x4ee09e
add edi, 0x10
dec ebx
je 0x4ee0b6
cmp dword [edi - 4], 0
je 0x4ee098
push dword [edi]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4ee098
cmp dword [esi + 4], 0
je 0x4ed2b0
push dword [esi + 0x30]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4ed2b0
mov eax, edx
mov byte [esi + 0x4b], 1
mov dword [esi + 0x2e98], 0x20
lea ecx, [esi + 0x15e0]
mov edx, edi
push eax
call fcn.004f8ce0
add esp, 4
mov eax, dword [esi + 0x1620]
mov edi, dword [esi + 0x161c]
cmp dword [esi + 0x1618], 0
mov dword [esi + 0x28], eax
jne 0x4ee6d4
test eax, eax
je 0x4ee6c0
js 0x4f0461
movzx eax, byte [0x5fd2ec]
mov edx, dword [esi + 0x28]
xor ecx, ecx
call fcn.0056a9f0
mov ebx, eax
test eax, eax
jne 0x4ee6c5
mov edx, dword [esi + 0x28]
mov ecx, 1
mov byte [esi + 0x4b], 1
call fcn.0057f230
jmp 0x4f059d
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.004f3620
lea eax, [esi + 0x5c4]
mov dword [esi + 0x2e98], 3
push eax
call fcn.004f3710
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 0x4ee25c
cmp dl, 3
je 0x4ee25c
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.004f32f0
mov dword [esi + 0x30], eax
mov ebx, dword [esi + 0x1d48]
mov eax, dword [esi + 0x1d44]
test ebx, ebx
mov dword [esi + 4], eax
je 0x4ee22c
mov eax, dword [esi + 4]
lea edi, [eax + 4]
jmp 0x4ee214
add edi, 0xc
dec ebx
je 0x4ee22c
cmp dword [edi - 4], 0
je 0x4ee20e
push dword [edi]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4ee20e
cmp dword [esi + 0x1d40], 0
je 0x4ee246
push dword [esi + 4]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esi + 0x1fd0]
mov eax, dword [esi + 0x30]
mov edx, 0x59c7a4
mov dword [esi + 4], ecx
jmp 0x4ee05e
mov ebx, dword [esi + 0x1d48]
mov eax, dword [esi + 0x1d44]
test ebx, ebx
mov dword [esi + 4], eax
je 0x4ee295
mov eax, dword [esi + 4]
lea edi, [eax + 4]
jmp 0x4ee27d
add edi, 0xc
dec ebx
je 0x4ee295
cmp dword [edi - 4], 0
je 0x4ee277
push dword [edi]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4ee277
cmp dword [esi + 0x1d40], 0
mov edi, dword [esi + 0x1c]
je 0x4e96a5
push dword [esi + 4]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4e96a5
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.0054f6c0
lea ecx, [esi + 0x15e0]
lea edx, [esi + 0x1fd0]
mov byte [esi + 0x1b], 1
call fcn.005533c0
cmp dword [esi + 0x15e0], 6
jne 0x4ee3e8
mov eax, dword [esi + 0x15e4]
lea ebx, [esi + 0xf00]
lea edi, [esi + 0x1ab0]
cmp eax, 0x80000000
je 0x4ee549
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 0x4ee35f
mov edi, ebx
cmp edi, dword [esi + 0x30]
jae 0x4ee4fc
mov edx, dword [esi + 0xec4]
mov dword [esi + 0x2e98], 0x16
mov eax, edx
sub eax, edi
mov dword [esi + 8], eax
jbe 0x4ef9ae
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.004fa130
mov eax, dword [esi + 4]
lea ebx, [eax + 1]
movzx eax, byte [esi + 0x15ec]
cmp al, 2
je 0x4ee35d
mov ecx, dword [esi + 0x15e0]
mov edx, dword [esi + 0x15e4]
test al, al
jne 0x4eee23
lock dec dword [ecx]
mov edi, ebx
jne 0x4ee35f
mov byte [esi + 0x57], 1
mov dword [esi + 4], ebx
call fcn.0051be70
mov edi, dword [esi + 4]
jmp 0x4ee35f
lea ecx, [esi + 0x15e0]
mov byte [esi + 0x1b], 1
call fcn.004c8480
jmp 0x4ee53d
lea ecx, [esi + 0x410]
mov dword [esi + 0x2e98], 0x39
call fcn.004c6390
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 0x4ee49e
push dword [esi + 0x55c]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x564], 0
je 0x4ee4bb
push dword [esi + 0x568]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x570], 0
je 0x4ee4d8
push dword [esi + 0x574]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
lea ecx, [esi + 0x57c]
call fcn.0040f770
mov al, 1
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x200]
lock dec dword [eax]
je 0x4ea762
jmp 0x4ea76d
mov ecx, dword [esi + 0xec0]
mov edx, dword [esi + 0xec4]
mov dword [esi + 0x2e98], 0x1c
mov dword [esi + 4], ecx
call fcn.004c87b0
cmp dword [esi + 0xebc], 0
je 0x4ee534
push dword [esi + 4]
push 0
push dword [0x5fd290]
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 0x4ed02e
mov dword [esi + 0x2e98], 2
xor ecx, ecx
xor edx, edx
push 0x59c1dc
call fcn.0057f710
add esp, 4
jmp 0x4f059d
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.004f9390
add esp, 4
lea ebx, [esi + 0xf00]
movzx eax, byte [esi + 0x2274]
cmp al, 2
jne 0x4ee979
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 0x4eca7c
jmp 0x4edef2
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 0x4eeb4d
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.004f3510
movdqa xmm0, xmmword [esi + 0x70]
mov cl, 1
mov dword [esi + 0x70], ecx
pcmpeqb xmm0, xmmword [0x5899b0]
pmovmskb eax, xmm0
cmp eax, 0xffff
jne 0x4eec4d
mov eax, dword [esi + 4]
mov dword [esi + 0x50], ebx
mov dword [esi + 0x10], edi
mov dword [esi + 0x5c], eax
jmp 0x4eca7c
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 0x4ee958
mov edx, dword [esi + 4]
mov ecx, edi
mov byte [esi + 0x4b], 0
call fcn.0051be70
jmp 0x4ee958
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 [0x5fd2ec]
call fcn.0056a9f0
test eax, eax
je 0x4f0443
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], 0x59c42c
jmp 0x4ed29d
cmp dword [esi + 8], 0x4924924
mov dword [esi + 0x30], ecx
mov dword [esi + 0x1c], edx
mov byte [esi + 0xe0], al
ja 0x4f046f
mov ecx, dword [esi + 8]
lea eax, [ecx + ecx*8]
lea edi, [eax + eax*2]
add edi, ecx
js 0x4f048b
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 [0x5fd2ec]
call fcn.0056a9f0
test eax, eax
je 0x4f04a7
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.0054f6c0
lea ecx, [esi + 0x15e0]
lea edx, [esi + 0xebc]
mov byte [esi + 0xa9], 1
mov dword [esi + 0x2e98], 0x1a
call fcn.0054f6c0
lea ecx, [esi + 0x250]
lea edx, [esi + 0x1fd0]
mov byte [esi + 0xaa], 1
mov dword [esi + 0x2e98], 0x1b
call fcn.004fa130
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 0x4eef44
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 0x4eef8f
mov ecx, dword [esi + 0x250]
mov edx, dword [esi + 0x254]
test al, al
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x20], edx
je 0x4ef0a7
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.00546870
lea ecx, [esi + 0x1fd0]
mov dword [esi + 0x2e98], 0x18
call fcn.004c8480
push dword [esi + 0x1fe8]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp byte [esi + 8], 0
mov edx, dword [esi + 0x1c]
mov ecx, dword [esi + 0x30]
jne 0x4ef02a
lock dec dword [ecx]
jne 0x4ef02a
mov byte [esi + 0x57], 0
mov dword [esi + 0x2e98], 0x16
call fcn.0051be70
cmp dword [esi + 4], 8
mov eax, dword [esi + 0xab0]
mov dword [esi + 0x10], eax
je 0x4ee53d
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 0x4ef0ca
mov eax, dword [esi + 0x10]
movzx eax, byte [eax + 0x41]
mov byte [esi + 8], al
jmp 0x4ef0ce
mov dword [esi + 0x2e98], 0x39
push 0x59d604
call fcn.0057f710
add esp, 4
jmp 0x4f059d
mov eax, dword [esi + 0x4c]
lock dec dword [eax]
jne 0x4eef2f
mov ecx, dword [esi + 0x4c]
mov edx, dword [esi + 0x20]
mov byte [esi + 0xaa], 0
call fcn.0051be70
jmp 0x4eef2f
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 0x4ef10f
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.004c54b0
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.004f3850
add esp, 8
lea ecx, [esi + 0x1614]
call fcn.004c5b70
cmp dword [esi + 0x1620], 0
je 0x4ef1bb
push dword [esi + 0x1624]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x1634]
test eax, eax
mov dword [esi + 0xc], eax
je 0x4ef23c
mov eax, dword [esi + 0x1630]
mov dword [esi + 4], eax
xor eax, eax
jmp 0x4ef1de
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [esi + 0xc]
je 0x4ef23c
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 0x4ef21b
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x30]
mov edi, dword [eax + ecx*4 + 4]
jmp 0x4ef204
add edi, 8
dec ebx
je 0x4ef21b
mov eax, dword [edi]
test eax, eax
je 0x4ef1fe
lock dec dword [eax]
jne 0x4ef1fe
mov ecx, dword [edi]
mov edx, dword [edi + 4]
call fcn.004c2b10
jmp 0x4ef1fe
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x30]
lea eax, [eax + ecx*4]
cmp dword [eax], 0
je 0x4ef1d5
push dword [eax + 4]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4ef1d5
cmp dword [esi + 0x162c], 0
je 0x4ef259
push dword [esi + 0x1630]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
lea ecx, [esi + 0x1640]
call fcn.004c5a80
lea ecx, [esi + 0x1668]
call fcn.004c5960
cmp dword [esi + 0x16bc], 0
je 0x4ef28c
push dword [esi + 0x16c0]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x1fd0], 0x2a
jne 0x4ef2ff
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 0x4ef4bb
mov dword [esi + 0x2e98], 0x14
lea ecx, [esi + 0x15e0]
push dword [esi + 0xd8]
call fcn.004fa440
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 0x4ef4f1
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.004d4b10
mov eax, dword [esi + 0x4c]
lock dec dword [eax]
jne 0x4ef47f
mov ecx, dword [esi + 0x4c]
mov edx, dword [esi + 0x20]
mov byte [esi + 0xab], 0
mov dword [esi + 0x2e98], 0x12
call fcn.0051be70
lea ecx, [esi + 0x250]
mov byte [esi + 0x1b], 0
mov dword [esi + 0x2e98], 0x11
call fcn.004c83d0
jmp 0x4ed02e
mov dword [esi + 0x2e98], 0x39
mov ecx, eax
push 0x59b6cc
call fcn.0057f710
add esp, 4
jmp 0x4f059d
movdqa xmm0, xmmword [0x5892a0]
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.004c83d0
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 0x4ed02e
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 [0x5fd2ec]
call fcn.0056a9f0
test eax, eax
je 0x4f0528
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], 0x59c480
jmp 0x4ed29d
mov ecx, eax
push 0x59b2e4
call fcn.0057f710
add esp, 4
jmp 0x4f059d
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 0x4ee172
lea ecx, [esi + 0x24e0]
lea eax, [esi + 0x29a8]
mov dword [esi + 0x410], 0x59c22c
mov dword [esi + 0x414], 1
mov dword [esi + 0x420], 0
mov edx, 0x59c234
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], 0x548d20
mov dword [esi + 0x41c], 1
call fcn.0057f680
jmp 0x4f059d
mov byte [esi + 0x57], 1
mov ecx, edi
push 0x59c338
call fcn.0057f710
add esp, 4
jmp 0x4f059d
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 0x4ee181
push eax
push 0
push dword [0x5fd290]
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.0045f4a0
lea eax, [esi + 0x60c]
push 0x100
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.0045c8b0
mov eax, dword [esi + 0xf00]
cmp eax, 3
mov dword [esi + 4], eax
jne 0x4ee155
lea ecx, [esi + 0x410]
call fcn.0045ca70
lea ecx, [esi + 0xf00]
lea edx, [esi + 0x410]
call fcn.0045c0f0
mov eax, dword [esi + 0xf00]
cmp eax, 3
mov dword [esi + 4], eax
jne 0x4ee155
lea ecx, [esi + 0xf00]
lea edx, [esi + 0x410]
call fcn.0045a350
mov eax, dword [esi + 0xf00]
cmp eax, 3
mov dword [esi + 4], eax
jne 0x4ee155
lea ecx, [esi + 0x410]
call fcn.0045caf0
lea ecx, [esi + 0x410]
call fcn.0045b760
lea edx, [esi + 0x430]
lea ecx, [esi + 0xf00]
call fcn.0045f650
mov eax, dword [esi + 0x600]
test eax, eax
je 0x4efb4b
lock dec dword [eax]
jne 0x4efb4b
mov ecx, dword [esi + 0x600]
mov edx, dword [esi + 0x604]
mov dword [esi + 0x2e98], 9
call fcn.0051be70
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 0x4efcd9
mov eax, dword [esi + 0x5d4]
test ebx, ebx
je 0x4efcb9
lea edi, [ebx + ebx*8]
push edi
push eax
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapReAlloc]
test eax, eax
jne 0x4efccd
mov ecx, 1
mov edx, edi
mov dword [esi + 0x2e98], 8
call fcn.0057f230
jmp 0x4f059d
mov ecx, 0x59b2d4
mov dword [esi + 0x2e98], 0x3c
call fcn.0057fb10
jmp 0x4f059d
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 0x4ee181
mov dword [esi + 0x2e98], 0x3a
call fcn.004634e0
jmp 0x4f059d
mov dword [esi + 0x2e98], 0x3a
call fcn.004634e0
jmp 0x4f059d
mov ecx, 4
mov edx, edi
mov dword [esi + 0x2e98], 0x3a
call fcn.0057f230
jmp 0x4f059d
mov ecx, edx
mov dword [esi + 0x2e98], 8
mov edx, edi
push 0x59a610
call fcn.0057f710
add esp, 4
jmp 0x4f059d
mov ecx, 0x10
mov edx, 0x6c0
mov dword [esi + 0x2e98], 0x23
call fcn.0057f230
jmp 0x4f059d
mov ecx, 0x10
mov edx, 0x6c0
mov dword [esi + 0x2e98], 0xf
call fcn.0057f230
jmp 0x4f059d
push eax
push 0
push dword [0x5fd290]
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 0x4efd47
mov eax, dword [esi + 0x5e0]
test ebx, ebx
je 0x4efd27
lea edi, [ebx*4]
push edi
push eax
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapReAlloc]
test eax, eax
jne 0x4efd3b
mov ecx, 4
mov edx, edi
mov dword [esi + 0x2e98], 8
call fcn.0057f230
jmp 0x4f059d
push eax
push 0
push dword [0x5fd290]
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 0x4efdb5
mov eax, dword [esi + 0x5ec]
test ebx, ebx
je 0x4efd95
lea edi, [ebx*8]
push edi
push eax
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapReAlloc]
test eax, eax
jne 0x4efda9
mov ecx, 4
mov edx, edi
mov dword [esi + 0x2e98], 8
call fcn.0057f230
jmp 0x4f059d
push eax
push 0
push dword [0x5fd290]
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 0x4efe23
mov eax, dword [esi + 0x5f8]
test ebx, ebx
je 0x4efe03
lea edi, [ebx*4]
push edi
push eax
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapReAlloc]
test eax, eax
jne 0x4efe17
mov ecx, 4
mov edx, edi
mov dword [esi + 0x2e98], 8
call fcn.0057f230
jmp 0x4f059d
push eax
push 0
push dword [0x5fd290]
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.004f3620
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 0x4eff04
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.0044d190
add esp, 4
movq xmm1, qword [esi + 0x29a8]
movzx ecx, byte [esi + 0x29b0]
jmp 0x4f0002
test eax, eax
je 0x4eff8e
cmp eax, 1
jne 0x4f0018
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.0044d4d0
add esp, 8
mov eax, dword [esi + 0x410]
cmp eax, 0x80000000
mov dword [esi + 4], eax
jne 0x4f0199
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 0x4f0087
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 [0x5fd2ec]
call fcn.0056a9f0
test eax, eax
je 0x4f0543
mov edi, eax
push 0x16c
lea eax, [esi + 0x410]
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, 0x59a354
movd xmm1, edi
xor ecx, ecx
movd xmm0, eax
punpckldq xmm1, xmm0
movzx edx, byte [esi + 0x2505]
mov dword [esi + 0x2e98], 3
jmp 0x4ee1ca
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.0044e7f0
add esp, 8
cmp dword [esi + 0xf00], 0
je 0x4f027f
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.004f3710
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 0x4ee1b8
lea ecx, [esi + 0x24e0]
lea eax, [esi + 0x250]
mov dword [esi + 0x410], 0x59c290
mov dword [esi + 0x414], 1
mov dword [esi + 0x420], 0
mov edx, 0x59c298
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], 0x548d20
mov dword [esi + 0x41c], 1
call fcn.0057f680
jmp 0x4f059d
mov ecx, str.assertion_failed:_self.dfa.starts.len____pid.one_more__
mov edx, 0x39
push 0x59b4dc
call fcn.0057f7d0
add esp, 4
jmp 0x4f059d
mov ecx, 0x59b320
call fcn.0057fb10
jmp 0x4f059d
mov edx, dword [esi + 0xd4]
mov byte [esi + 0x4b], 1
mov dword [esi + 0x2e98], 0x20
push 0x5a0ec0
call fcn.0057f6b0
add esp, 4
jmp 0x4f059d
mov ecx, dword [esi + 0x30]
mov dword [esi + 0x2e98], 8
push 0x59a630
call fcn.0057f710
add esp, 4
jmp 0x4f059d
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 [0x5fd2ec]
xor ecx, ecx
mov edx, 0x150
call fcn.0056a9f0
test eax, eax
je 0x4f055e
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, 0x59a3d8
movd xmm1, edi
movd xmm0, eax
mov al, 1
jmp 0x4f0329
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 [0x5fd2ec]
call fcn.0056a9f0
test eax, eax
je 0x4f0584
mov edi, eax
push 0x164
lea eax, [esi + 0x410]
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, 0x59a45c
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.004f3710
movzx edx, byte [esi + 0x70]
add esp, 4
movdqa xmm1, xmmword [esi + 0x30]
mov ecx, dword [esi + 8]
jmp 0x4f0009
mov dword [esi + 0x2e98], 8
push 0x59a640
call fcn.0057f710
add esp, 4
jmp 0x4f059d
mov ecx, dword [esi + 0x30]
mov dword [esi + 0x2e98], 8
push 0x59a698
call fcn.0057f710
add esp, 4
jmp 0x4f059d
lea ecx, [esi + 0x1ab0]
lea edx, [esi + 0xf00]
mov dword [esi + 0xf00], 0
mov dword [esi + 0x2e98], 0x39
call fcn.00581eb0
jmp 0x4f059d
mov ecx, 0x59b462
mov edx, 0x2c
push 0x59b490
call fcn.0057f7d0
add esp, 4
jmp 0x4f059d
mov byte [esi + 0x4b], 1
mov dword [esi + 0x2e98], 0x20
mov edx, eax
push 0x5a0eb0
call fcn.0057f6b0
add esp, 4
jmp 0x4f059d
mov byte [esi + 0x1b], 1
mov dword [esi + 0x2e98], 0x11
call fcn.004634e0
jmp 0x4f059d
mov ecx, 4
mov edx, edi
mov byte [esi + 0x1b], 1
mov dword [esi + 0x2e98], 0x11
call fcn.0057f230
jmp 0x4f059d
mov ecx, 0x10
mov edx, 0x6d0
mov dword [esi + 0x2e98], 0x1e
call fcn.0057f230
jmp 0x4f059d
mov byte [esi + 0x4b], 1
call fcn.004634e0
jmp 0x4f059d
mov byte [esi + 0x58], 1
mov byte [esi + 0x59], 1
mov dword [esi + 0x2e98], 0x17
call fcn.004634e0
jmp 0x4f059d
mov byte [esi + 0x58], 1
mov byte [esi + 0x59], 1
mov dword [esi + 0x2e98], 0x17
call fcn.004634e0
jmp 0x4f059d
mov ecx, 4
mov edx, edi
mov byte [esi + 0x58], 1
mov byte [esi + 0x59], 1
mov dword [esi + 0x2e98], 0x17
call fcn.0057f230
jmp 0x4f059d
mov dword [esi + 0xf00], 0x59a680
mov dword [esi + 0xf04], 1
mov dword [esi + 0xf08], 0x5ec36c
mov dword [esi + 0xf0c], 0
mov dword [esi + 0xf10], 0
mov dword [esi + 0x2e98], 8
lea ecx, [esi + 0x250]
lea edx, [esi + 0x29a8]
push 0x59a688
lea eax, [esi + 0xf00]
push eax
call fcn.00581f80
add esp, 8
jmp 0x4f059d
mov ecx, 0x10
mov edx, 0x970
mov dword [esi + 0x2e98], 0x10
call fcn.0057f230
jmp 0x4f059d
mov ecx, 4
mov edx, 0x16c
mov dword [esi + 0x2e98], 7
call fcn.0057f230
jmp 0x4f059d
pshufd xmm0, xmmword [esi + 0x30], 0xff
mov ecx, 4
mov edx, 0x150
mov dword [esi + 0x2e98], 6
movd dword [esi + 0x1c], xmm0
call fcn.0057f230
jmp 0x4f059d
mov ecx, 4
mov edx, 0x164
mov dword [esi + 0x2e98], 5
call fcn.0057f230
ud2