Function at 0x140071200
Capabilities:
Parse pe header

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x518
movaps xmmword [rsp + 0x500], xmm14
movdqa xmmword [rsp + 0x4f0], xmm13
movdqa xmmword [rsp + 0x4e0], xmm12
movdqa xmmword [rsp + 0x4d0], xmm11
movdqa xmmword [rsp + 0x4c0], xmm10
movdqa xmmword [rsp + 0x4b0], xmm9
movdqa xmmword [rsp + 0x4a0], xmm8
movdqa xmmword [rsp + 0x490], xmm7
movdqa xmmword [rsp + 0x480], xmm6
lea rax, [0x140242ce1]
mov qword [rsp + 0x98], rax
lea rax, [rsp + 0x98]
mov rcx, qword [rsp + 0x98]
movabs rdx, 0x131d8f548da4be56
mov qword [rsp + 0x98], rdx
mov rdx, qword [rsp + 0x98]
call fcn.140070aa0
movzx esi, byte [rax + 2]
movzx edi, word [rax]
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x1400712da
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 3
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov ecx, edi
shr ecx, 8
xor dil, 0x49
xor cl, 0xe6
movzx edx, dil
movzx ecx, cl
shl ecx, 8
or ecx, edx
xor sil, 0x92
movzx edx, sil
shl edx, 0x10
movzx ecx, cx
or ecx, edx
mov word [rax], cx
shr ecx, 0x10
mov byte [rax + 2], cl
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], 3
mov qword [rsp + 0xd8], 3
mov byte [rsp + 0xe0], 0
mov qword [rsp + 0x128], 8
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xf8], 0
mov word [rsp + 0x100], 0
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x130], xmm0
mov byte [rsp + 0x120], 2
mov dword [rsp + 0x158], 0
mov word [rsp + 0x15c], 0
mov dword [rsp + 0x98], 6
mov dword [rsp + 0xa8], 6
mov dword [rsp + 0xb8], 6
mov qword [rsp + 0x140], 0
mov qword [rsp + 0x150], 0
lea rax, [0x14023b50c]
mov qword [rsp + 0x1c0], rax
lea rsi, [rsp + 0x1c0]
mov rcx, qword [rsp + 0x1c0]
movabs rax, 0xaf50500f0918b4f8
mov qword [rsp + 0x1c0], rax
mov rdx, qword [rsp + 0x1c0]
call fcn.140070d50
movzx eax, word [rax]
mov ecx, eax
xor cl, 0x90
shr eax, 8
xor al, 0x65
movzx ecx, cl
movzx eax, al
shl eax, 8
or eax, ecx
mov word [rsp + 0x280], ax
lea rax, [0x14023fd9e]
mov qword [rsp + 0x1c0], rax
mov rcx, qword [rsp + 0x1c0]
movabs rax, 0x21088d6c9d67f09e
mov qword [rsp + 0x1c0], rax
mov rdx, qword [rsp + 0x1c0]
call fcn.140070200
movabs rcx, 0xf92980786c9109aa
xor rcx, qword [rax]
mov qword [rsp + 0x40], rcx
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x1400714ab
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 2
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov rdi, rax
lea r14, [rsp + 0x128]
movzx eax, word [rsp + 0x280]
mov word [rdi], ax
cmp qword [rsp + 0x130], 0
je 0x1400714eb
mov ebx, 8
xor esi, esi
jmp 0x140071505
mov rcx, r14
xor edx, edx
call fcn.1401ca0a0
mov rbx, qword [rsp + 0x128]
mov rsi, qword [rsp + 0x138]
lea rax, [rsi + rsi*4]
mov qword [rbx + rax*8], 0
mov qword [rbx + rax*8 + 8], rdi
mov qword [rbx + rax*8 + 0x10], 2
mov qword [rbx + rax*8 + 0x18], 2
mov byte [rbx + rax*8 + 0x20], 0
inc rsi
mov qword [rsp + 0x138], rsi
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x140071563
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 8
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov rdi, rax
mov rax, qword [rsp + 0x40]
mov qword [rdi], rax
cmp rsi, qword [rsp + 0x130]
jne 0x1400715a9
mov rcx, r14
mov rdx, rsi
call fcn.1401ca0a0
mov rbx, qword [rsp + 0x128]
mov rsi, qword [rsp + 0x138]
lea rax, [rsi + rsi*4]
mov qword [rbx + rax*8], 0
mov qword [rbx + rax*8 + 8], rdi
mov qword [rbx + rax*8 + 0x10], 8
mov qword [rbx + rax*8 + 0x18], 8
mov byte [rbx + rax*8 + 0x20], 0
inc rsi
mov qword [rsp + 0x138], rsi
mov dword [rsp + 0x158], 0x8000000
mov eax, dword [rsp + 0xa8]
cmp eax, 4
jb 0x140071605
cmp eax, 6
je 0x140071605
mov rcx, qword [rsp + 0xb0]
call sub.kernel32.dll_CloseHandle
mov dword [rsp + 0xa8], 3
lea rcx, [rsp + 0x1c0]
lea rdx, [rsp + 0x98]
call fcn.1401c0c90
lea rax, [0x14023c5f6]
mov qword [rsp + 0x350], rax
lea rax, [rsp + 0x350]
mov rcx, qword [rsp + 0x350]
movabs rdx, 0x247c4aa7e95e6011
mov qword [rsp + 0x350], rdx
mov rdx, qword [rsp + 0x350]
call fcn.140070c30
mov rcx, qword [rax]
mov rcx, qword [rax + 8]
mov rcx, qword [rax + 0x10]
movzx eax, byte [rax + 0x18]
mov rbx, qword [rsp + 0x1c0]
test rbx, rbx
je 0x1400771c1
mov r12, qword [rsp + 0x1c8]
mov rdi, qword [rsp + 0x1d0]
mov rsi, qword [rsp + 0x1d8]
mov r14, qword [rsp + 0x1e0]
lea rcx, [rsp + 0x98]
call fcn.140001710
lea r13, [rsp + 0x98]
mov rcx, r13
mov rdx, rbx
mov r8, rdi
call fcn.140036470
mov r15, qword [rsp + 0x98]
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x1b0], rax
test r15, r15
jne 0x1400716eb
mov r15, qword [rsp + 0xa0]
cmp qword [rsp + 0x1b0], 0
je 0x140071740
js 0x1400771c1
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x140071727
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
xor edx, edx
mov r8, qword [rsp + 0x1b0]
call sub.kernel32.dll_HeapAlloc
test rax, rax
jne 0x140071745
jmp 0x1400771c1
mov eax, 1
mov qword [rsp + 0x3b0], rax
mov rcx, rax
mov rdx, r15
mov r8, qword [rsp + 0x1b0]
call sub.msvcrt.dll_memcpy
test r12, r12
je 0x140071776
mov rcx, qword [0x1402d9150]
xor edx, edx
mov r8, rbx
call sub.kernel32.dll_HeapFree
test r14, r14
je 0x14007178c
mov rcx, qword [0x1402d9150]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
mov r8, qword [rsp + 0x98]
test r8, r8
je 0x1400717b2
cmp qword [rsp + 0xa0], 0
je 0x1400717b2
mov rcx, qword [0x1402d9150]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov qword [rsp + 0x28], 8
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
lea rax, [0x14023a83e]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
movabs rax, 0xfc5aae5f2408dbc5
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
call fcn.1400710c0
movabs rbx, 0x6d54d4af0f312852
xor rbx, qword [rax]
movzx edi, byte [rax + 0xa]
movzx ebp, word [rax + 8]
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x14007183b
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0xb
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov rsi, rax
mov eax, ebp
shr eax, 8
xor bpl, 0xaf
xor al, 0xa6
movzx ecx, bpl
movzx eax, al
shl eax, 8
or eax, ecx
movd xmm0, eax
xor dil, 0xe8
mov qword [rsi], rbx
movd eax, xmm0
mov word [rsi + 8], ax
mov byte [rsi + 0xa], dil
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x14007189d
lea rcx, [rsp + 0x28]
call fcn.14008a000
mov rdx, qword [rsp + 0x38]
lea r8, [rsp + 0x98]
mov rax, qword [rsp + 0x28]
lea rcx, [rdx + rdx*2]
mov qword [rax + rcx*8], rsi
mov qword [rax + rcx*8 + 8], 0xb
mov qword [rax + rcx*8 + 0x10], 0xb
inc qword [rsp + 0x38]
lea rax, [0x140242633]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
movabs rax, 0xeba6906b6ee969b4
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
call fcn.140070f10
movabs rdi, 0x54eb834afabbe143
xor rdi, qword [rax]
movabs rbx, 0xf06d6521b4d8f06b
xor rbx, qword [rax + 8]
movzx ebp, byte [rax + 0x10]
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x140071949
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0x11
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov rsi, rax
xor bpl, 0xe5
mov qword [rax], rdi
mov qword [rax + 8], rbx
mov byte [rax + 0x10], bpl
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x14007198c
lea rcx, [rsp + 0x28]
call fcn.14008a000
mov rdx, qword [rsp + 0x38]
lea r14, [rsp + 0x98]
mov rax, qword [rsp + 0x28]
lea rcx, [rdx + rdx*2]
mov qword [rax + rcx*8], rsi
mov qword [rax + rcx*8 + 8], 0x11
mov qword [rax + rcx*8 + 0x10], 0x11
inc qword [rsp + 0x38]
lea rax, [0x140243e71]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
movabs rax, 0xc255cc1ef4f28dd1
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
call fcn.140070f70
movabs rdi, 0x29e49db7f18a6902
xor rdi, qword [rax]
movzx ebx, word [rax + 8]
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x140071a2a
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0xa
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov rsi, rax
mov eax, ebx
xor al, 0x5e
shr ebx, 8
xor bl, 0x33
movzx eax, al
movzx ecx, bl
shl ecx, 8
or ecx, eax
movd xmm0, ecx
mov qword [rsi], rdi
movd eax, xmm0
mov word [rsi + 8], ax
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x140071a82
lea rcx, [rsp + 0x28]
call fcn.14008a000
mov rdx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x28]
lea rcx, [rdx + rdx*2]
mov qword [rax + rcx*8], rsi
mov qword [rax + rcx*8 + 8], 0xa
mov qword [rax + rcx*8 + 0x10], 0xa
inc qword [rsp + 0x38]
lea rax, [0x14023d278]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
movabs rax, 0x905622f9330fca8a
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
call fcn.14006ff50
movabs rbx, 0x5c6baae7a75d6f5c
xor rbx, qword [rax]
movzx edi, byte [rax + 0xa]
movzx ebp, word [rax + 8]
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x140071b1c
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0xb
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov rsi, rax
mov eax, ebp
shr eax, 8
xor bpl, 0xfc
xor al, 0x91
movzx ecx, bpl
movzx eax, al
shl eax, 8
or eax, ecx
movd xmm0, eax
xor dil, 0xdc
mov qword [rsi], rbx
movd eax, xmm0
mov word [rsi + 8], ax
mov byte [rsi + 0xa], dil
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x140071b7e
lea rcx, [rsp + 0x28]
call fcn.14008a000
mov rdx, qword [rsp + 0x38]
lea r8, [rsp + 0x98]
mov rax, qword [rsp + 0x28]
lea rcx, [rdx + rdx*2]
mov qword [rax + rcx*8], rsi
mov qword [rax + rcx*8 + 8], 0xb
mov qword [rax + rcx*8 + 0x10], 0xb
inc qword [rsp + 0x38]
lea rax, [0x14024472c]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
movabs rax, 0x814e41290b6d36e1
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
call fcn.140070100
mov edi, dword [rax]
movzx ebx, byte [rax + 6]
movzx ebp, word [rax + 4]
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x140071c15
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 7
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov rsi, rax
mov eax, ebp
shr eax, 8
xor bpl, 0xf6
xor al, 0x29
movzx ecx, bpl
movzx eax, al
shl eax, 8
or eax, ecx
xor bl, 0x42
movzx ecx, bl
shl rcx, 0x30
movzx eax, ax
shl rax, 0x20
or rax, rcx
xor rdi, 0x467ee22b
or rdi, rax
mov dword [rsi], edi
mov rax, rdi
shr rax, 0x30
mov byte [rsi + 6], al
shr rdi, 0x20
mov word [rsi + 4], di
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x140071c92
lea rcx, [rsp + 0x28]
call fcn.14008a000
mov rdx, qword [rsp + 0x38]
lea r8, [rsp + 0x98]
mov rax, qword [rsp + 0x28]
lea rcx, [rdx + rdx*2]
mov qword [rax + rcx*8], rsi
mov qword [rax + rcx*8 + 8], 7
mov qword [rax + rcx*8 + 0x10], 7
inc qword [rsp + 0x38]
lea rax, [0x14023ed23]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
movabs rax, 0x83dfce81a2265565
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
call fcn.140070d10
movabs rbx, 0x8068874b1ed28513
xor rbx, qword [rax]
movzx edi, byte [rax + 0xa]
movzx ebp, word [rax + 8]
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x140071d34
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0xb
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov rsi, rax
mov eax, ebp
shr eax, 8
xor bpl, 0x6b
xor al, 0x4e
movzx ecx, bpl
movzx eax, al
shl eax, 8
or eax, ecx
movd xmm0, eax
xor dil, 0xb4
mov qword [rsi], rbx
movd eax, xmm0
mov word [rsi + 8], ax
mov byte [rsi + 0xa], dil
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x140071d96
lea rcx, [rsp + 0x28]
call fcn.14008a000
mov rdx, qword [rsp + 0x38]
lea r8, [rsp + 0x98]
mov rax, qword [rsp + 0x28]
lea rcx, [rdx + rdx*2]
mov qword [rax + rcx*8], rsi
mov qword [rax + rcx*8 + 8], 0xb
mov qword [rax + rcx*8 + 0x10], 0xb
inc qword [rsp + 0x38]
lea rax, [0x14024083f]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
movabs rax, 0x27fd76265e02a57a
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
call fcn.140070810
movabs rbx, 0x6c273e59bd620f3b
xor rbx, qword [rax]
movzx edi, byte [rax + 0xa]
movzx ebp, word [rax + 8]
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x140071e38
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0xb
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov rsi, rax
mov eax, ebp
shr eax, 8
xor bpl, 0x4f
xor al, 0x2e
movzx ecx, bpl
movzx eax, al
shl eax, 8
or eax, ecx
movd xmm0, eax
xor dil, 0x67
mov qword [rsi], rbx
movd eax, xmm0
mov word [rsi + 8], ax
mov byte [rsi + 0xa], dil
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x140071e9a
lea rcx, [rsp + 0x28]
call fcn.14008a000
mov rdx, qword [rsp + 0x38]
lea r14, [rsp + 0x98]
mov rax, qword [rsp + 0x28]
lea rcx, [rdx + rdx*2]
mov qword [rax + rcx*8], rsi
mov qword [rax + rcx*8 + 8], 0xb
mov qword [rax + rcx*8 + 0x10], 0xb
inc qword [rsp + 0x38]
lea rax, [0x14023cf2a]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
movabs rax, 0x4508303b8618123c
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
call fcn.140070250
movabs rdi, 0x237faeb9a880a3e7
xor rdi, qword [rax]
movzx ebx, word [rax + 8]
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x140071f38
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0xa
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov rsi, rax
mov eax, ebx
xor al, 0x4d
shr ebx, 8
xor bl, 0x58
movzx eax, al
movzx ecx, bl
shl ecx, 8
or ecx, eax
movd xmm0, ecx
mov qword [rsi], rdi
movd eax, xmm0
mov word [rsi + 8], ax
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x140071f90
lea rcx, [rsp + 0x28]
call fcn.14008a000
mov rdx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x28]
lea rcx, [rdx + rdx*2]
mov qword [rax + rcx*8], rsi
mov qword [rax + rcx*8 + 8], 0xa
mov qword [rax + rcx*8 + 0x10], 0xa
inc qword [rsp + 0x38]
lea rax, [0x14023d03b]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
movabs rax, 0x1bf5caddad2c2c69
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
call fcn.140070d30
movabs rbx, 0x9a367f18bb3a019c
xor rbx, qword [rax]
movzx edi, byte [rax + 0xa]
movzx ebp, word [rax + 8]
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x14007202a
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0xb
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov rsi, rax
mov eax, ebp
shr eax, 8
xor bpl, 0xb2
xor al, 0xeb
movzx ecx, bpl
movzx eax, al
shl eax, 8
or eax, ecx
movd xmm0, eax
xor dil, 0x7f
mov qword [rsi], rbx
movd eax, xmm0
mov word [rsi + 8], ax
mov byte [rsi + 0xa], dil
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x14007208c
lea rcx, [rsp + 0x28]
call fcn.14008a000
mov rdx, qword [rsp + 0x38]
lea rbx, [rsp + 0x98]
mov rax, qword [rsp + 0x28]
lea rcx, [rdx + rdx*2]
mov qword [rax + rcx*8], rsi
mov qword [rax + rcx*8 + 8], 0xb
mov qword [rax + rcx*8 + 0x10], 0xb
inc qword [rsp + 0x38]
lea rax, [0x140236b42]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
movabs rax, 0xb9f969ae937d923e
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
call fcn.140070070
movabs rdi, 0x5c41c9edcc47f9f1
xor rdi, qword [rax]
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x140072126
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 8
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov rsi, rax
mov qword [rax], rdi
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x14007215d
lea rcx, [rsp + 0x28]
call fcn.14008a000
mov rdx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x28]
lea rcx, [rdx + rdx*2]
mov qword [rax + rcx*8], rsi
mov qword [rax + rcx*8 + 8], 8
mov qword [rax + rcx*8 + 0x10], 8
inc qword [rsp + 0x38]
lea rax, [0x14024542f]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
movabs rax, 0xb5b6a70e74212ca6
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
call fcn.14006fef0
movabs rbx, 0xc3e247906e0913ae
xor rbx, qword [rax]
movzx edi, byte [rax + 0xa]
movzx ebp, word [rax + 8]
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x1400721f7
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0xb
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov rsi, rax
mov eax, ebp
shr eax, 8
xor bpl, 0x18
xor al, 0x41
movzx ecx, bpl
movzx eax, al
shl eax, 8
or eax, ecx
movd xmm0, eax
xor dil, 0x10
mov qword [rsi], rbx
movd eax, xmm0
mov word [rsi + 8], ax
mov byte [rsi + 0xa], dil
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x140072259
lea rcx, [rsp + 0x28]
call fcn.14008a000
mov rdx, qword [rsp + 0x38]
lea r14, [rsp + 0x98]
mov rax, qword [rsp + 0x28]
lea rcx, [rdx + rdx*2]
mov qword [rax + rcx*8], rsi
mov qword [rax + rcx*8 + 8], 0xb
mov qword [rax + rcx*8 + 0x10], 0xb
inc qword [rsp + 0x38]
lea rax, [0x1402399b4]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
movabs rax, 0xb008b94ab0ff985c
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
call fcn.140070450
movabs rdi, 0x1b63ab5961b051ba
xor rdi, qword [rax]
mov ebx, 0xaf1f37fd
xor ebx, dword [rax + 8]
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x1400722fb
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0xc
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov rsi, rax
mov qword [rax], rdi
mov dword [rax + 8], ebx
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x140072335
lea rcx, [rsp + 0x28]
call fcn.14008a000
mov rdx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x28]
lea rcx, [rdx + rdx*2]
mov qword [rax + rcx*8], rsi
mov qword [rax + rcx*8 + 8], 0xc
mov qword [rax + rcx*8 + 0x10], 0xc
inc qword [rsp + 0x38]
lea rax, [0x14023d9e7]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
movabs rax, 0x81ceb14ab55fcc9
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
call fcn.14006ff80
movabs rdi, 0x94a529c93ca39380
xor rdi, qword [rax]
mov ebx, 0x21e31e7
xor ebx, dword [rax + 8]
movzx ebp, byte [rax + 0xc]
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x1400723d3
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0xd
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov rsi, rax
xor bpl, 0x36
mov qword [rax], rdi
mov dword [rax + 8], ebx
mov byte [rax + 0xc], bpl
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x140072415
lea rcx, [rsp + 0x28]
call fcn.14008a000
mov rdx, qword [rsp + 0x38]
lea r14, [rsp + 0x98]
mov rax, qword [rsp + 0x28]
lea rcx, [rdx + rdx*2]
mov qword [rax + rcx*8], rsi
mov qword [rax + rcx*8 + 8], 0xd
mov qword [rax + rcx*8 + 0x10], 0xd
inc qword [rsp + 0x38]
lea rax, [0x140241786]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
movabs rax, 0xda88876d1f3ae34d
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
call fcn.1400703f0
movabs rdi, 0x750d0eec885ecbfc
xor rdi, qword [rax]
movzx ebx, word [rax + 8]
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x1400724b3
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0xa
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov rsi, rax
mov eax, ebx
xor al, 4
shr ebx, 8
xor bl, 0x74
movzx eax, al
movzx ecx, bl
shl ecx, 8
or ecx, eax
movd xmm0, ecx
mov qword [rsi], rdi
movd eax, xmm0
mov word [rsi + 8], ax
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x14007250b
lea rcx, [rsp + 0x28]
call fcn.14008a000
mov rdx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x28]
lea rcx, [rdx + rdx*2]
mov qword [rax + rcx*8], rsi
mov qword [rax + rcx*8 + 8], 0xa
mov qword [rax + rcx*8 + 0x10], 0xa
inc qword [rsp + 0x38]
lea rax, [0x14023d96a]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
movabs rax, 0x526cf03ab3d970d5
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
call fcn.140070e00
movabs rdi, 0x1febb33b12701065
xor rdi, qword [rax]
movabs rbx, 0x38692fd05810185d
xor rbx, qword [rax + 8]
mov ebp, 0xaff70239
xor ebp, dword [rax + 0x10]
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x1400725b3
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0x14
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov rsi, rax
mov qword [rax], rdi
mov qword [rax + 8], rbx
mov dword [rax + 0x10], ebp
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x1400725f1
lea rcx, [rsp + 0x28]
call fcn.14008a000
mov rdx, qword [rsp + 0x38]
lea r8, [rsp + 0x98]
mov rax, qword [rsp + 0x28]
lea rcx, [rdx + rdx*2]
mov qword [rax + rcx*8], rsi
mov qword [rax + rcx*8 + 8], 0x14
mov qword [rax + rcx*8 + 0x10], 0x14
inc qword [rsp + 0x38]
lea rax, [0x14023f9bc]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
movabs rax, 0x6185933610ed4650
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
call fcn.140070330
movabs rbx, 0x730900ce68e67258
xor rbx, qword [rax]
movzx edi, byte [rax + 0xa]
movzx ebp, word [rax + 8]
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x140072693
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0xb
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov rsi, rax
mov eax, ebp
shr eax, 8
xor bpl, 0x86
xor al, 0xc1
movzx ecx, bpl
movzx eax, al
shl eax, 8
or eax, ecx
movd xmm0, eax
xor dil, 0xd
mov qword [rsi], rbx
movd eax, xmm0
mov word [rsi + 8], ax
mov byte [rsi + 0xa], dil
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x1400726f5
lea rcx, [rsp + 0x28]
call fcn.14008a000
mov rdx, qword [rsp + 0x38]
lea rdi, [rsp + 0x98]
mov rax, qword [rsp + 0x28]
lea rcx, [rdx + rdx*2]
mov qword [rax + rcx*8], rsi
mov qword [rax + rcx*8 + 8], 0xb
mov qword [rax + rcx*8 + 0x10], 0xb
inc qword [rsp + 0x38]
lea rax, [0x140237fc5]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
movabs rax, 0x6e3dd384e7d0f94c
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
call fcn.140070280
movq xmm6, qword [rax]
movq xmm7, qword [rax + 8]
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x14007278b
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0x10
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov rsi, rax
punpcklqdq xmm6, xmm7
pxor xmm6, xmmword [0x1401f98e0]
movdqu xmmword [rax], xmm6
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x1400727cf
lea rcx, [rsp + 0x28]
call fcn.14008a000
mov rdx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x28]
lea rcx, [rdx + rdx*2]
mov qword [rax + rcx*8], rsi
mov qword [rax + rcx*8 + 8], 0x10
mov qword [rax + rcx*8 + 0x10], 0x10
inc qword [rsp + 0x38]
lea rax, [0x1402371e1]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
movabs rax, 0xd9ee24386544c0a9
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
call fcn.140070150
movabs rdi, 0xdbbe126e0569145f
xor rdi, qword [rax]
mov ebx, 0x27880c77
xor ebx, dword [rax + 8]
movzx ebp, byte [rax + 0xc]
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x14007286d
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0xd
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov rsi, rax
xor bpl, 0xf4
mov qword [rax], rdi
mov dword [rax + 8], ebx
mov byte [rax + 0xc], bpl
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x1400728af
lea rcx, [rsp + 0x28]
call fcn.14008a000
mov rdx, qword [rsp + 0x38]
lea r8, [rsp + 0x98]
mov rax, qword [rsp + 0x28]
lea rcx, [rdx + rdx*2]
mov qword [rax + rcx*8], rsi
mov qword [rax + rcx*8 + 8], 0xd
mov qword [rax + rcx*8 + 0x10], 0xd
inc qword [rsp + 0x38]
lea rax, [0x140236845]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
movabs rax, 0x922d74e2156d3b9a
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
call fcn.14006feb0
movabs rbx, 0x2f6f23aa56babe52
xor rbx, qword [rax]
movzx edi, byte [rax + 0xa]
movzx ebp, word [rax + 8]
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x140072951
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0xb
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov rsi, rax
mov eax, ebp
shr eax, 8
xor bpl, 0xc7
xor al, 0xc2
movzx ecx, bpl
movzx eax, al
shl eax, 8
or eax, ecx
movd xmm0, eax
xor dil, 0x5a
mov qword [rsi], rbx
movd eax, xmm0
mov word [rsi + 8], ax
mov byte [rsi + 0xa], dil
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x1400729b3
lea rcx, [rsp + 0x28]
call fcn.14008a000
mov rdx, qword [rsp + 0x38]
lea r14, [rsp + 0x98]
mov rax, qword [rsp + 0x28]
lea rcx, [rdx + rdx*2]
mov qword [rax + rcx*8], rsi
mov qword [rax + rcx*8 + 8], 0xb
mov qword [rax + rcx*8 + 0x10], 0xb
inc qword [rsp + 0x38]
lea rax, [0x14023ddc9]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
movabs rax, 0xd9a5e12f495fd1f4
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
call fcn.140070010
movabs rdi, 0x8e749217c006a69d
xor rdi, qword [rax]
movzx ebx, word [rax + 8]
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x140072a51
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0xa
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov rsi, rax
mov eax, ebx
xor al, 0x8c
shr ebx, 8
xor bl, 0xfd
movzx eax, al
movzx ecx, bl
shl ecx, 8
or ecx, eax
movd xmm0, ecx
mov qword [rsi], rdi
movd eax, xmm0
mov word [rsi + 8], ax
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x140072aa9
lea rcx, [rsp + 0x28]
call fcn.14008a000
mov rdx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x28]
lea rcx, [rdx + rdx*2]
mov qword [rax + rcx*8], rsi
mov qword [rax + rcx*8 + 8], 0xa
mov qword [rax + rcx*8 + 0x10], 0xa
inc qword [rsp + 0x38]
lea rax, [0x1402411ba]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
movabs rax, 0x72c0079a2e59d756
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
call fcn.140070570
movq xmm6, qword [rax]
movq xmm7, qword [rax + 8]
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x140072b37
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0x10
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov rsi, rax
punpcklqdq xmm6, xmm7
pxor xmm6, xmmword [0x1401f98f0]
movdqu xmmword [rax], xmm6
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x140072b7b
lea rcx, [rsp + 0x28]
call fcn.14008a000
mov rdx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x28]
lea rcx, [rdx + rdx*2]
mov qword [rax + rcx*8], rsi
mov qword [rax + rcx*8 + 8], 0x10
mov qword [rax + rcx*8 + 0x10], 0x10
inc qword [rsp + 0x38]
lea rax, [0x14023cda2]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
movabs rax, 0x6e6b68a109d16e2e
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
call fcn.140070970
movabs rdi, 0x8323d82d0800a7f2
xor rdi, qword [rax]
movabs rbx, 0xbfb3e3f2fce683fe
xor rbx, qword [rax + 8]
movzx ebp, byte [rax + 0x10]
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x140072c1f
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0x11
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov rsi, rax
xor bpl, 0x94
mov qword [rax], rdi
mov qword [rax + 8], rbx
mov byte [rax + 0x10], bpl
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x140072c62
lea rcx, [rsp + 0x28]
call fcn.14008a000
mov rdx, qword [rsp + 0x38]
lea r8, [rsp + 0x98]
mov rax, qword [rsp + 0x28]
lea rcx, [rdx + rdx*2]
mov qword [rax + rcx*8], rsi
mov qword [rax + rcx*8 + 8], 0x11
mov qword [rax + rcx*8 + 0x10], 0x11
inc qword [rsp + 0x38]
lea rax, [0x1402403f2]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
movabs rax, 0x9f0db68766588c9e
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
call fcn.140070040
movabs rdi, 0x8bfaf4049f75921f
xor rdi, qword [rax]
mov ebp, 0x7a39c999
xor ebp, dword [rax + 8]
movzx ebx, byte [rax + 0xe]
movzx r14d, word [rax + 0xc]
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x140072d0d
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0xf
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov rsi, rax
mov eax, r14d
shr eax, 8
xor r14b, 0x9c
xor al, 0xcb
movzx ecx, r14b
movzx eax, al
shl eax, 8
or eax, ecx
movd xmm0, eax
xor bl, 0x53
mov qword [rsi], rdi
mov dword [rsi + 8], ebp
movd eax, xmm0
mov word [rsi + 0xc], ax
mov byte [rsi + 0xe], bl
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x140072d71
lea rcx, [rsp + 0x28]
call fcn.14008a000
mov rdx, qword [rsp + 0x38]
lea r8, [rsp + 0x98]
mov rax, qword [rsp + 0x28]
lea rcx, [rdx + rdx*2]
mov qword [rax + rcx*8], rsi
mov qword [rax + rcx*8 + 8], 0xf
mov qword [rax + rcx*8 + 0x10], 0xf
inc qword [rsp + 0x38]
lea rax, [0x140238369]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
movabs rax, 0x3662ff719642b2dc
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
call fcn.140071070
movabs rdi, 0x5c1c7e51b1393b58
xor rdi, qword [rax]
mov ebx, 0xa910c0fa
xor ebx, dword [rax + 8]
movzx ebp, byte [rax + 0xc]
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x140072e17
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0xd
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov rsi, rax
xor bpl, 0xdd
mov qword [rax], rdi
mov dword [rax + 8], ebx
mov byte [rax + 0xc], bpl
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x140072e59
lea rcx, [rsp + 0x28]
call fcn.14008a000
mov rdx, qword [rsp + 0x38]
lea r14, [rsp + 0x98]
mov rax, qword [rsp + 0x28]
lea rcx, [rdx + rdx*2]
mov qword [rax + rcx*8], rsi
mov qword [rax + rcx*8 + 8], 0xd
mov qword [rax + rcx*8 + 0x10], 0xd
inc qword [rsp + 0x38]
lea rax, [0x140238193]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
movabs rax, 0x9804c986fa934d5c
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
call fcn.1400709e0
movabs rdi, 0x3e256d79c71bd851
xor rdi, qword [rax]
movzx ebx, word [rax + 8]
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x140072ef7
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0xa
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov rsi, rax
mov eax, ebx
xor al, 0x3c
shr ebx, 8
xor bl, 0x93
movzx eax, al
movzx ecx, bl
shl ecx, 8
or ecx, eax
movd xmm0, ecx
mov qword [rsi], rdi
movd eax, xmm0
mov word [rsi + 8], ax
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x140072f4f
lea rcx, [rsp + 0x28]
call fcn.14008a000
mov rdx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x28]
lea rcx, [rdx + rdx*2]
mov qword [rax + rcx*8], rsi
mov qword [rax + rcx*8 + 8], 0xa
mov qword [rax + rcx*8 + 0x10], 0xa
inc qword [rsp + 0x38]
lea rax, [0x14024421d]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
movabs rax, 0x4dbafad467775284
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
call fcn.140071190
movabs rdi, 0x7a419c46a8f4d5a6
xor rdi, qword [rax]
movabs rbx, 0x123439bf70e66ce2
xor rbx, qword [rax + 8]
movzx ebp, byte [rax + 0x10]
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x140072ff3
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0x11
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov rsi, rax
xor bpl, 0xfe
mov qword [rax], rdi
mov qword [rax + 8], rbx
mov byte [rax + 0x10], bpl
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x140073036
lea rcx, [rsp + 0x28]
call fcn.14008a000
mov rdx, qword [rsp + 0x38]
lea rdi, [rsp + 0x98]
mov rax, qword [rsp + 0x28]
lea rcx, [rdx + rdx*2]
mov qword [rax + rcx*8], rsi
mov qword [rax + rcx*8 + 8], 0x11
mov qword [rax + rcx*8 + 0x10], 0x11
inc qword [rsp + 0x38]
lea rax, [0x14023af68]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
movabs rax, 0xed10a07c314c29e6
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
call fcn.140070b90
movq xmm6, qword [rax]
movq xmm7, qword [rax + 8]
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x1400730cc
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0x10
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov rsi, rax
punpcklqdq xmm6, xmm7
pxor xmm6, xmmword [0x1401f9900]
movdqu xmmword [rax], xmm6
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x140073110
lea rcx, [rsp + 0x28]
call fcn.14008a000
mov rdx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x28]
lea rcx, [rdx + rdx*2]
mov qword [rax + rcx*8], rsi
mov qword [rax + rcx*8 + 8], 0x10
mov qword [rax + rcx*8 + 0x10], 0x10
inc qword [rsp + 0x38]
lea rax, [0x14023bec5]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
movabs rax, 0x3daeea49cf3053d2
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
call fcn.140071000
movabs rdi, 0x2b638fca1bdfedbe
xor rdi, qword [rax]
movabs rbx, 0x2ecd89e209c6b267
xor rbx, qword [rax + 8]
movzx ebp, word [rax + 0x10]
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x1400731b4
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0x12
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov rsi, rax
mov eax, ebp
xor al, 0x5a
shr ebp, 8
xor bpl, 0x45
movzx eax, al
movzx ecx, bpl
shl ecx, 8
or ecx, eax
movd xmm0, ecx
mov qword [rsi], rdi
mov qword [rsi + 8], rbx
movd eax, xmm0
mov word [rsi + 0x10], ax
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x140073212
lea rcx, [rsp + 0x28]
call fcn.14008a000
mov rdx, qword [rsp + 0x38]
lea r14, [rsp + 0x98]
mov rax, qword [rsp + 0x28]
lea rcx, [rdx + rdx*2]
mov qword [rax + rcx*8], rsi
mov qword [rax + rcx*8 + 8], 0x12
mov qword [rax + rcx*8 + 0x10], 0x12
inc qword [rsp + 0x38]
lea rax, [0x140244970]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
movabs rax, 0xc4013da1a2204a
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
call fcn.140071090
movabs rdi, 0xd0819269f78266e6
xor rdi, qword [rax]
movzx ebx, word [rax + 8]
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x1400732b0
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0xa
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov rsi, rax
mov eax, ebx
xor al, 0xef
shr ebx, 8
xor bl, 0xa2
movzx eax, al
movzx ecx, bl
shl ecx, 8
or ecx, eax
movd xmm0, ecx
mov qword [rsi], rdi
movd eax, xmm0
mov word [rsi + 8], ax
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x140073308
lea rcx, [rsp + 0x28]
call fcn.14008a000
mov rdx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x28]
lea rcx, [rdx + rdx*2]
mov qword [rax + rcx*8], rsi
mov qword [rax + rcx*8 + 8], 0xa
mov qword [rax + rcx*8 + 0x10], 0xa
inc qword [rsp + 0x38]
lea rax, [0x140238d60]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
movabs rax, 0x8a38be97889ce915
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
call fcn.140070510
movabs rdi, 0x6b99b60467e514b
xor rdi, qword [rax]
movzx ebx, word [rax + 8]
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x14007339e
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0xa
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov rsi, rax
mov eax, ebx
xor al, 0xca
shr ebx, 8
xor bl, 0xb0
movzx eax, al
movzx ecx, bl
shl ecx, 8
or ecx, eax
movd xmm0, ecx
mov qword [rsi], rdi
movd eax, xmm0
mov word [rsi + 8], ax
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x1400733f6
lea rcx, [rsp + 0x28]
call fcn.14008a000
mov rdx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x28]
lea rcx, [rdx + rdx*2]
mov qword [rax + rcx*8], rsi
mov qword [rax + rcx*8 + 8], 0xa
mov qword [rax + rcx*8 + 0x10], 0xa
inc qword [rsp + 0x38]
lea rax, [0x140240187]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
movabs rax, 0x9c08e71ba6c901a5
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
call fcn.1400706d0
movabs rbx, 0xdce57ad75687e9ea
xor rbx, qword [rax]
movzx edi, byte [rax + 0xa]
movzx ebp, word [rax + 8]
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x140073490
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0xb
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov rsi, rax
mov eax, ebp
shr eax, 8
xor bpl, 8
xor al, 0xc2
movzx ecx, bpl
movzx eax, al
shl eax, 8
or eax, ecx
movd xmm0, eax
xor dil, 0x4b
mov qword [rsi], rbx
movd eax, xmm0
mov word [rsi + 8], ax
mov byte [rsi + 0xa], dil
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x1400734f2
lea rcx, [rsp + 0x28]
call fcn.14008a000
mov rdx, qword [rsp + 0x38]
lea rdi, [rsp + 0x98]
mov rax, qword [rsp + 0x28]
lea rcx, [rdx + rdx*2]
mov qword [rax + rcx*8], rsi
mov qword [rax + rcx*8 + 8], 0xb
mov qword [rax + rcx*8 + 0x10], 0xb
inc qword [rsp + 0x38]
lea rax, [0x14023e4ff]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
movabs rax, 0x643dd1e1de9c2067
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
call fcn.1400705e0
movq xmm6, qword [rax]
movq xmm7, qword [rax + 8]
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x140073588
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0x10
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov rsi, rax
punpcklqdq xmm6, xmm7
pxor xmm6, xmmword [0x1401f9910]
movdqu xmmword [rax], xmm6
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x1400735cc
lea rcx, [rsp + 0x28]
call fcn.14008a000
mov rdx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x28]
lea rcx, [rdx + rdx*2]
mov qword [rax + rcx*8], rsi
mov qword [rax + rcx*8 + 8], 0x10
mov qword [rax + rcx*8 + 0x10], 0x10
inc qword [rsp + 0x38]
lea rax, [0x140236778]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
movabs rax, 0x6ce4b1fec0fd76fb
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
call fcn.140070b60
movabs rdi, 0xbe5e806279c3a2ed
xor rdi, qword [rax]
mov ebx, 0xa40c1e2b
xor ebx, dword [rax + 8]
movzx ebp, byte [rax + 0xc]
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x14007366a
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0xd
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov rsi, rax
xor bpl, 0x2f
mov qword [rax], rdi
mov dword [rax + 8], ebx
mov byte [rax + 0xc], bpl
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x1400736ac
lea rcx, [rsp + 0x28]
call fcn.14008a000
mov rdx, qword [rsp + 0x38]
lea r8, [rsp + 0x98]
mov rax, qword [rsp + 0x28]
lea rcx, [rdx + rdx*2]
mov qword [rax + rcx*8], rsi
mov qword [rax + rcx*8 + 8], 0xd
mov qword [rax + rcx*8 + 0x10], 0xd
inc qword [rsp + 0x38]
lea rax, [0x140241bdb]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
movabs rax, 0xae3173381aa6e250
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
call fcn.140070420
movabs rbx, 0xf133d5f09046ed03
xor rbx, qword [rax]
movzx edi, byte [rax + 0xa]
movzx ebp, word [rax + 8]
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x14007374e
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0xb
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400771c1
mov rsi, rax
mov eax, ebp
shr eax, 8
xor bpl, 0xf6
xor al, 0x96
movzx ecx, bpl
movzx eax, al
shl eax, 8
or eax, ecx
movd xmm0, eax
xor dil, 0x3f
mov qword [rsi], rbx
movd eax, xmm0
mov word [rsi + 8], ax
mov byte [rsi + 0xa], dil
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
jne 0x1400737b0
lea rcx, [rsp + 0x28]
call fcn.14008a000
mov rdx, qword [rsp + 0x38]
lea r15, [rsp + 0x1c0]
lea r12, [rsp + 0x98]
mov rax, qword [rsp + 0x28]
lea rcx, [rdx + rdx*2]
mov qword [rax + rcx*8], rsi
mov qword [rax + rcx*8 + 8], 0xb
mov qword [rax + rcx*8 + 0x10], 0xb
mov rsi, qword [rsp + 0x28]
mov rax, qword [rsp + 0x38]
inc rax
mov qword [rsp + 0x38], rax
je 0x140077053
lea rax, [rax + rax*2]
lea rax, [rsi + rax*8]
mov qword [rsp + 0x408], rax
pxor xmm6, xmm6
movdqa xmm7, xmmword [0x1401f9920]
movdqa xmm8, xmmword [0x1401f9930]
movdqa xmm9, xmmword [0x1401f9940]
movdqa xmm10, xmmword [0x1401f9950]
movdqa xmm11, xmmword [0x1401f9960]
lea r13, [0x1401f9970]
mov qword [rsp + 0x460], rsi
mov r14, qword [rsi]
mov qword [rsp + 0x420], rsi
mov rsi, qword [rsi + 0x10]
mov qword [rsp + 0x98], 1
lea rax, [rsp + 0xa0]
movdqu xmmword [rax], xmm6
test rsi, rsi
jne 0x140073d80
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x1d0], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x1c0], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x1c8], rax
mov qword [rsp + 0x40], r15
lea rax, [0x1400023b0]
mov qword [rsp + 0x48], rax
lea rax, [0x140246000]
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xa0], 2
mov qword [rsp + 0xb8], 0
lea rax, [rsp + 0x40]
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], 1
lea rcx, [rsp + 0x350]
mov rdx, r12
call fcn.140036ab0
cmp qword [rsp + 0x1c8], 0
je 0x140073928
mov r8, qword [rsp + 0x1c0]
mov rcx, qword [0x1402d9150]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov r12, qword [rsp + 0x350]
mov r15, qword [rsp + 0x358]
mov rsi, qword [rsp + 0x360]
mov qword [rsp + 0x120], 8
lea rax, [rsp + 0x128]
movdqu xmmword [rax], xmm6
mov qword [rsp + 0x98], 1
mov qword [rsp + 0xa0], 0x200000
mov qword [rsp + 0xa8], 1
mov qword [rsp + 0xb0], 0xa00000
mov qword [rsp + 0xb8], 2
mov qword [rsp + 0xc8], 2
mov qword [rsp + 0xd8], 2
mov byte [rsp + 0xf8], 3
mov byte [rsp + 0x100], 0
movabs rax, 0x202020202020202
mov qword [rsp + 0x102], rax
mov byte [rsp + 0x10a], 3
mov dword [rsp + 0x110], 0xfa
mov byte [rsp + 0x114], 0xa
lea rax, [rsp + 0xa0]
mov word [rax + 0x79], 0
mov dword [rax + 0x75], 0
mov word [rsp + 0x11b], 0x101
mov byte [rsp + 0x11d], 0
mov edi, 1
mov r8d, 1
lea rcx, [rsp + 0x120]
xor edx, edx
call fcn.14008a940
mov r14, qword [rsp + 0x120]
mov rbx, qword [rsp + 0x130]
test rsi, rsi
je 0x140073a86
js 0x1400771c1
movzx eax, byte [0x1402d9160]
mov rax, qword [0x1402d9150]
test rax, rax
jne 0x140073a6d
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400771c1
mov rcx, rax
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapAlloc
mov rdi, rax
test rax, rax
je 0x1400771c1
mov rcx, rdi
mov rdx, r12
mov r8, rsi
call sub.msvcrt.dll_memcpy
lea rax, [rbx + rbx*2]
mov qword [r14 + rax*8], rdi
mov qword [r14 + rax*8 + 8], rsi
mov qword [r14 + rax*8 + 0x10], rsi
test rbx, rbx
jne 0x1400771c1
mov qword [rsp + 0x410], r12
mov qword [rsp + 0x418], r15
mov rdx, qword [rsp + 0x120]
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x458], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x2d0], rax
mov r13, qword [rsp + 0xa8]
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x2c8], rax
mov r15, qword [rsp + 0xb8]
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x258], rax
mov rbx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x3c8], rax
movzx r8d, byte [rsp + 0xf8]
movzx eax, byte [rsp + 0x100]
mov byte [rsp + 0x95], al
movzx eax, byte [rsp + 0x101]
mov byte [rsp + 0x93], al
movss xmm14, dword [rsp + 0x104]
movzx edi, byte [rsp + 0x108]
movzx r12d, byte [rsp + 0x109]
movzx eax, byte [rsp + 0x10a]
mov byte [rsp + 0x96], al
movzx eax, byte [rsp + 0x114]
mov byte [rsp + 0x97], al
movdqu xmm13, xmmword [rsp + 0x115]
movd xmm12, dword [rsp + 0x116]
movzx r9d, byte [rsp + 0x118]
movzx r10d, byte [rsp + 0x119]
movzx eax, byte [rsp + 0x11a]
mov byte [rsp + 0x94], al
movzx r11d, byte [rsp + 0x11b]
mov byte [rsp + 0x92], r8b
and r8b, 0xfe
movzx esi, byte [rsp + 0x11d]
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x248], rax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x3c0], rax
mov rcx, qword [rsp + 0xe8]
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x3b8], rax
mov eax, dword [rsp + 0x110]
mov dword [rsp + 0x31c], eax
mov rax, qword [rsp + 0x128]
cmp r8b, 2
je 0x140073c3f
lock inc qword [rcx]
jle 0x1400771c1
mov qword [rsp + 0x178], rcx
xor r14d, r14d
test r13, r13
setne r14b
cmp r13, 2
mov qword [rsp + 0x440], r13
cmove r14, r13
xor ebp, ebp
test r15, r15
setne bpl
cmp r15, 2
mov qword [rsp + 0x448], r15
cmove rbp, r15
xor r13d, r13d
test rbx, rbx
setne r13b
cmp rbx, 2
mov qword [rsp + 0x450], rbx
cmove r13, rbx
xor r15d, r15d
mov rcx, qword [rsp + 0x248]
test rcx, rcx
setne r15b
cmp rcx, 2
cmove r15, rcx
mov rbx, qword [rdx + 0x10]
test rbx, rbx
js 0x1400771c1
mov rcx, r12
xor edx, edx
mov r8, rsi
call fcn.140089e50
add rsi, r14
jmp 0x140073dc0
mov rax, qword [rsp + 0x98]
mov byte [rax + rdx], dil
inc rdx
mov qword [rsp + 0xa8], rdx
cmp r14, rsi
je 0x140073876
movzx ecx, byte [r14]
test cl, cl
js 0x140073de0
inc r14
mov edi, ecx
lea eax, [rdi - 0x23]
cmp eax, 0x5b
jbe 0x140073e40
jmp case.default.0x140073e48
mov edi, ecx
and edi, 0x1f
movzx edx, byte [r14 + 1]
and edx, 0x3f
cmp cl, 0xdf
jbe 0x140073e23
movzx eax, byte [r14 + 2]
shl edx, 6
and eax, 0x3f
or eax, edx
cmp cl, 0xf0
jb 0x140073ea6
movzx ecx, byte [r14 + 3]
add r14, 4
and edi, 7
shl edi, 0x12
shl eax, 6
and ecx, 0x3f
or ecx, eax
or ecx, edi
jmp 0x140073dcb
add r14, 2
shl edi, 6
or edi, edx
lea eax, [rdi - 0x23]
cmp eax, 0x5b
ja case.default.0x140073e48
nop dword [rax + rax]
movsxd rax, dword [r13 + rax*4]
add rax, r13
jmp rax
mov rdx, qword [rsp + 0xa8]
cmp rdx, qword [rsp + 0xa0]
jne 0x140073e6c
mov rcx, r12
call fcn.1401b5b60
mov rdx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x98]
mov byte [rax + rdx], 0x5c
inc rdx
mov qword [rsp + 0xa8], rdx
cmp rdx, qword [rsp + 0xa0]
jne 0x140073da0
mov rcx, r12
call fcn.1401b5b60
mov rdx, qword [rsp + 0xa8]
jmp 0x140073da0
add r14, 3
shl edi, 0xc
or eax, edi
mov edi, eax
lea eax, [rdi - 0x23]
cmp eax, 0x5b
jbe 0x140073e40
cmp edi, 0x110000
je 0x140073876
cmp edi, 0x7f
ja 0x140073ee2
mov rdx, qword [rsp + 0xa8]
cmp rdx, qword [rsp + 0xa0]
jne 0x140073da0
jmp 0x140073e91
mov dword [rsp + 0x1c0], 0
mov eax, edi
cmp edi, 0x800
jae 0x140073f1a
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x1c0], al
and dil, 0x3f
or dil, 0x80
mov byte [rsp + 0x1c1], dil
mov edi, 2
jmp 0x140073f96
cmp edi, 0x10000
jae 0x140073f55
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x1c0], al
mov eax, edi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x1c1], al
and dil, 0x3f
or dil, 0x80
mov byte [rsp + 0x1c2], dil
mov edi, 3
jmp 0x140073f96
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x1c0], al
mov eax, edi
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x1c1], al
mov eax, edi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x1c2], al
and dil, 0x3f
or dil, 0x80
mov byte [rsp + 0x1c3], dil
mov edi, 4
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
sub rax, rbx
cmp rax, rdi
jb 0x140073fdd
mov rcx, qword [rsp + 0x98]
add rcx, rbx
mov rdx, r15
mov r8, rdi
call sub.msvcrt.dll_memcpy
add rbx, rdi
mov qword [rsp + 0xa8], rbx
cmp r14, rsi
jne 0x140073dc0
mov rcx, r12
mov rdx, rbx
mov r8, rdi
call fcn.140089e50
mov rbx, qword [rsp + 0xa8]
jmp 0x140073fae
cmp qword [rsp + 0x30], 0
je 0x14007706e
mov r8, qword [rsp + 0x28]
mov rcx, qword [0x1402d9150]
xor edx, edx
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x1b0], 0
je 0x14007708f
mov rcx, qword [0x1402d9150]
xor edx, edx
mov r8, qword [rsp + 0x3b0]
call sub.kernel32.dll_HeapFree
movaps xmm6, xmmword [rsp + 0x480]
movaps xmm7, xmmword [rsp + 0x490]
movaps xmm8, xmmword [rsp + 0x4a0]
movaps xmm9, xmmword [rsp + 0x4b0]
movaps xmm10, xmmword [rsp + 0x4c0]
movaps xmm11, xmmword [rsp + 0x4d0]
movaps xmm12, xmmword [rsp + 0x4e0]
movaps xmm13, xmmword [rsp + 0x4f0]
movaps xmm14, xmmword [rsp + 0x500]
add rsp, 0x518
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2