Function at 0x140018ec8
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc98
movaps xmmword [rsp + 0xc80], xmm6
mov rdx, qword [rcx + 8]
mov qword [rsp + 0x1e0], rcx
mov r8, qword [rcx + 0x10]
lea r15, [rsp + 0x1e8]
mov rcx, r15
call fcn.140054330
lea rdx, [0x1404baba8]
lea r13, [rsp + 0x200]
mov r8d, 7
mov rcx, r13
call fcn.1402434a0
movzx ecx, byte [r13 + 0x18]
cmp ecx, 2
je 0x14001ac14
mov rax, qword [rsp + 0x200]
mov r8, qword [rsp + 0x208]
cmp ecx, 3
jne 0x140019148
test r8, r8
je 0x14001ac14
mov rcx, qword [rsp + 0x210]
mov qword [rsp + 0x1b8], rax
mov qword [rsp + 0x1c0], r8
mov qword [rsp + 0x1c8], rcx
lea rax, [0x1404af094]
mov qword [rsp + 0x200], rax
mov rcx, qword [rsp + 0x200]
movabs rax, 0x77b5c687bc963496
mov qword [rsp + 0x200], rax
mov rdx, qword [rsp + 0x200]
call fcn.14020401e
xorps xmm0, xmm0
movaps xmmword [rsp + 0xa20], xmm0
mov r9b, 1
xor edx, edx
lea r10, [0x1404babd0]
movzx r8d, byte [rdx + r10]
mov rcx, rdx
or rcx, 1
movzx ebx, byte [rcx + r10]
mov rcx, rdx
or rcx, 2
movzx r11d, byte [rcx + r10]
mov rcx, rdx
or rcx, 3
movzx r14d, byte [rcx + r10]
mov rcx, rdx
or rcx, 4
movzx ecx, byte [rcx + r10]
mov rsi, rdx
or rsi, 5
movzx ebp, byte [rsi + r10]
mov rdi, rdx
or rdi, 7
mov rsi, rdx
or rsi, 6
movzx esi, byte [rsi + r10]
movzx edi, byte [rdi + r10]
shl rdi, 0x38
shl rsi, 0x30
or rsi, rdi
shl rbp, 0x28
shl rcx, 0x20
shl r14, 0x18
shl r11, 0x10
shl rbx, 8
or rbx, r8
or rbx, r11
or rbx, r14
or rbx, rcx
or rbx, rbp
or rbx, rsi
xor rbx, qword [rax + rdx]
mov qword [rsp + rdx + 0xa20], rbx
mov edx, 8
test r9b, 1
mov r9d, 0
jne 0x140018fbd
mov ecx, 0x1901a708
xor ecx, dword [rax + 0x10]
lea rdx, [rsp + 0xa20]
mov dword [rdx + 0x10], ecx
movzx eax, word [rax + 0x14]
xor eax, 0x8ef8
mov word [rdx + 0x14], ax
lea rbp, [rsp + 0x968]
mov qword [rbp], rdx
mov qword [rbp + 8], 0x16
lea rcx, [rsp + 0x1b8]
lea rax, [rsp + 0x4b0]
mov qword [rax], rcx
lea rcx, [0x1400099b0]
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rbp
lea rcx, [0x140134850]
mov qword [rax + 0x18], rcx
lea rdx, [rsp + 0x200]
mov qword [rdx], 0
lea r12, str.dest_is_out_of_bounds
mov qword [rdx + 0x10], r12
mov ecx, 2
mov qword [rdx + 0x18], rcx
mov qword [rdx + 0x20], rax
mov qword [rdx + 0x28], rcx
lea rsi, [rsp + 0x710]
mov rcx, rsi
call fcn.140053dd0
mov rbp, qword [rsi]
mov rbx, qword [rsi + 8]
mov r8, qword [rsi + 0x10]
lea rsi, [rsp + 0x200]
mov rcx, rsi
mov rdx, rbx
xor r9d, r9d
call fcn.140248470
cmp dword [rsi], 2
jne 0x140019156
mov rax, qword [rsp + 0x208]
mov qword [rsp + 0x4b8], rax
mov qword [rsp + 0x4b0], 2
jmp 0x14001917a
test rax, rax
jne 0x14001ac05
jmp 0x14001ac14
lea rax, [rsp + 0x4b0]
lea r14, [rsp + 0x200]
mov ecx, 9
mov rdi, rax
mov rsi, r14
rep movsq qword [rdi], qword [rsi]
cmp qword [rax], 2
jne 0x1400191a7
lea rcx, [rsp + 0x4b8]
call fcn.14007ddf7
test rbp, rbp
je 0x14001abf2
mov rcx, qword [0x14051f200]
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.DLL_HeapFree]
jmp 0x14001abf2
test rbp, rbp
je 0x1400191be
mov rcx, qword [0x14051f200]
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.DLL_HeapFree]
lea rax, [0x1404b02b2]
lea r13, [rsp + 0x200]
mov qword [r13], rax
mov rcx, qword [r13]
movabs rax, 0x776de445ee705936
mov qword [r13], rax
mov rdx, qword [r13]
call fcn.140202474
movabs rcx, 0x7f4799a057464221
xor rcx, qword [rax]
mov qword [rsp + 0x968], rcx
mov al, byte [rax + 8]
xor al, 0xb9
mov byte [rsp + 0x970], al
lea rax, [rsp + 0x968]
mov qword [rsp + 0xa20], rax
mov qword [rsp + 0xa28], 9
mov qword [rsp + 0x4b0], r15
lea rax, [0x1400099b0]
mov qword [rsp + 0x4b8], rax
lea rax, [rsp + 0xa20]
mov qword [rsp + 0x4c0], rax
lea rax, [0x140134850]
mov qword [rsp + 0x4c8], rax
mov qword [r13], 0
mov qword [r13 + 0x10], r12
mov eax, 2
mov qword [r13 + 0x18], rax
lea rcx, [rsp + 0x4b0]
mov qword [r13 + 0x20], rcx
mov qword [r13 + 0x28], rax
lea rsi, [rsp + 0x710]
mov rcx, rsi
mov rdx, r13
call fcn.140053dd0
mov rcx, rsi
call fcn.1402007cb
mov qword [r13], rax
test rax, rax
je 0x1400192b5
lea rcx, [rsp + 0x200]
call fcn.14007ddf7
lea rax, [0x1404b3304]
mov qword [rsp + 0x200], rax
mov rcx, qword [rsp + 0x200]
movabs rax, 0x4a2bed758892c2d9
mov qword [rsp + 0x200], rax
mov rdx, qword [rsp + 0x200]
call fcn.1402047fa
xorps xmm0, xmm0
movaps xmmword [rsp + 0xa20], xmm0
mov r9b, 1
xor edx, edx
lea r10, [0x1404babe6]
movzx r8d, byte [rdx + r10]
mov rcx, rdx
or rcx, 1
movzx ebx, byte [rcx + r10]
mov rcx, rdx
or rcx, 2
movzx r11d, byte [rcx + r10]
mov rcx, rdx
or rcx, 3
movzx r14d, byte [rcx + r10]
mov rcx, rdx
or rcx, 4
movzx ecx, byte [rcx + r10]
mov rsi, rdx
or rsi, 5
movzx ebp, byte [rsi + r10]
mov rdi, rdx
or rdi, 7
mov rsi, rdx
or rsi, 6
movzx esi, byte [rsi + r10]
movzx edi, byte [rdi + r10]
shl rdi, 0x38
shl rsi, 0x30
or rsi, rdi
shl rbp, 0x28
shl rcx, 0x20
shl r14, 0x18
shl r11, 0x10
shl rbx, 8
or rbx, r8
or rbx, r11
or rbx, r14
or rbx, rcx
or rbx, rbp
or rbx, rsi
xor rbx, qword [rax + rdx]
mov qword [rsp + rdx + 0xa20], rbx
mov edx, 8
xor r15d, r15d
test r9b, 1
mov r9d, 0
jne 0x140019302
mov ecx, 0x6a3abcec
xor ecx, dword [rax + 0x10]
mov dword [rsp + 0xa30], ecx
movzx ecx, byte [rax + 0x16]
movzx eax, word [rax + 0x14]
xor eax, 0x65df
mov word [rsp + 0xa34], ax
xor cl, 0x43
mov byte [rsp + 0xa36], cl
lea r12, [rsp + 0x968]
lea rax, [rsp + 0xa20]
mov qword [r12], rax
mov qword [r12 + 8], 0x17
lea rbx, [rsp + 0x4b0]
lea rax, [rsp + 0x1b8]
mov qword [rbx], rax
lea rax, [0x1400099b0]
mov qword [rbx + 8], rax
lea rax, [rsp + 0x968]
mov qword [rbx + 0x10], rax
lea rax, [0x140134850]
mov qword [rbx + 0x18], rax
lea rbp, [rsp + 0x200]
mov qword [rbp], r15
lea rax, str.dest_is_out_of_bounds
mov qword [rbp + 0x10], rax
mov eax, 2
mov qword [rbp + 0x18], rax
lea rcx, [rsp + 0x4b0]
mov qword [rbp + 0x20], rcx
mov qword [rbp + 0x28], rax
lea r14, [rsp + 0x710]
mov rcx, r14
mov rdx, r13
call fcn.140053dd0
mov rax, qword [rsp + 0x710]
mov qword [rsp + 0x80], rax
mov rdx, qword [rsp + 0x718]
mov r8, qword [rsp + 0x720]
mov rcx, rbp
mov qword [rsp + 0xa8], rdx
call fcn.14025fcc0
mov qword [rbp + 0x20], r15
mov qword [rbp + 0x30], 0xa
mov qword [rbp + 0x38], r15
mov dword [rbp + 0x48], pe_nt_image_headers64
mov qword [rbp + 0x40], 3
mov ecx, 0xa
mov rdi, rbx
mov rsi, rbp
rep movsq qword [rdi], qword [rsi]
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movups xmm2, xmmword [rbx + 0x20]
movups xmm3, xmmword [rbx + 0x30]
movaps xmmword [rbp + 0x20], xmm2
movaps xmmword [rbp + 0x30], xmm3
movups xmm2, xmmword [rbx + 0x40]
movaps xmmword [rbp + 0x40], xmm2
movaps xmmword [rbp], xmm0
movaps xmmword [rbp + 0x10], xmm1
lea rbp, [rsp + 0x4b0]
xorps xmm0, xmm0
movups xmmword [rsp + 0x718], xmm0
lea rdx, [rsp + 0x130]
lea rbx, [rsp + 0x200]
mov ecx, 0xa
mov rdi, rdx
mov rsi, rbx
rep movsq qword [rdi], qword [rsi]
mov rax, qword [rsp + 0x720]
mov qword [rsp + 0x4a0], rax
movups xmm1, xmmword [rsp + 0x710]
movaps xmmword [rsp + 0x490], xmm1
mov ecx, 0xa
mov rdi, r12
mov rsi, rdx
rep movsq qword [rdi], qword [rsi]
mov qword [r12 + 0x50], r15
movaps xmm1, xmmword [rsp + 0x490]
movups xmmword [r12 + 0x58], xmm1
mov rax, qword [rsp + 0x4a0]
mov qword [r12 + 0x68], rax
mov qword [r12 + 0x70], r15
mov eax, 8
mov qword [r12 + 0x78], rax
movups xmmword [r12 + 0x80], xmm0
mov qword [r12 + 0x90], rax
movups xmmword [r12 + 0x98], xmm0
mov qword [r12 + 0xa8], rax
mov qword [r12 + 0xb0], r15
lea r12, [rsp + 0x968]
lea rcx, [rbx + rax]
mov qword [rsp + 0x1d8], rcx
add rax, r14
mov qword [rsp + 0x50], rax
mov rbx, qword [sym.imp.KERNEL32.DLL_HeapFree]
mov rcx, r13
mov rdx, r12
call fcn.14027920d
mov rax, qword [rsp + 0x230]
cmp rax, 2
jne 0x140019608
mov ecx, 9
mov rdi, rbp
lea rsi, [rsp + 0x238]
rep movsq qword [rdi], qword [rsi]
mov rcx, rbp
call fcn.1400067b7
jmp 0x1400195d2
cmp eax, 3
je 0x14001a1bc
mov rax, qword [rsp + 0x200]
mov qword [rsp + 0x58], rax
mov rsi, qword [rsp + 0x208]
mov rdi, qword [rsp + 0x210]
mov rcx, rsi
mov rdx, rdi
call fcn.14024d7f0
test rax, rax
cmove rax, rsi
cmove rdx, rdi
mov rcx, rax
call fcn.14025fc30
test rax, rax
je 0x14001b8df
cmp rdx, 0x10
jne 0x1400198cf
lea rax, [0x1404b33dc]
mov qword [rsp + 0x200], rax
mov rcx, qword [rsp + 0x200]
movabs rax, 0x4e5299710bc80780
mov qword [rsp + 0x200], rax
mov rdx, qword [rsp + 0x200]
call fcn.140203c9b
mov rcx, qword [rax]
movabs rdx, 0xd12010f91dfeeb9f
xor rcx, rdx
mov qword [rsp + 0xe0], rcx
mov ecx, dword [rax + 8]
mov edx, 0xb4d475a6
xor ecx, edx
mov dword [rsp + 0xe8], ecx
movzx eax, word [rax + 0xc]
xor eax, 0xba56
mov word [rsp + 0xec], ax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0xa20], rax
mov qword [rsp + 0xa28], 0xe
mov rcx, rsi
mov rdx, rdi
call fcn.14024d7f0
test rax, rax
cmove rax, rsi
cmove rdx, rdi
mov rcx, rax
call fcn.14025fc30
test rax, rax
je 0x14001b92f
mov qword [rsp + 0x710], rax
mov qword [rsp + 0x718], rdx
lea rax, [rsp + 0x1e8]
mov qword [rsp + 0x4b0], rax
lea rax, [0x1400099b0]
mov qword [rsp + 0x4b8], rax
lea rbx, [rsp + 0xa20]
mov qword [rsp + 0x4c0], rbx
lea rax, [0x140134850]
mov qword [rsp + 0x4c8], rax
mov qword [rsp + 0x4d0], r14
mov qword [rsp + 0x4d8], rax
mov qword [rsp + 0x200], r15
lea rax, str.dest_is_out_of_bounds
mov qword [rsp + 0x210], rax
mov eax, 3
mov qword [rsp + 0x218], rax
mov qword [rsp + 0x220], rbp
mov qword [rsp + 0x228], rax
lea rcx, [rsp + 0x468]
mov rdx, r13
call fcn.140053dd0
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x40], 8
mov qword [rsp + 0x48], r15
mov rcx, r13
mov rdx, rsi
mov r8, rdi
call fcn.14025fcc0
lea rcx, [rsp + 0x38]
xor edx, edx
call fcn.14013ca35
mov rax, qword [rsp + 0x40]
mov rbx, rsi
mov rsi, qword [rsp + 0x48]
mov rcx, rsi
shl rcx, 5
movups xmm0, xmmword [rsp + 0x200]
movups xmm1, xmmword [rsp + 0x210]
movups xmmword [rax + rcx + 0x10], xmm1
movups xmmword [rax + rcx], xmm0
inc rsi
mov qword [rsp + 0x48], rsi
mov rdx, qword [rsp + 0x470]
mov r8, qword [rsp + 0x478]
lea rcx, [rsp + 0x110]
call fcn.14025fcc0
lea rcx, [rsp + 0xa20]
mov qword [rsp + 0x180], rbx
mov rdx, rbx
mov r8, rdi
call fcn.14025fcc0
mov rdi, qword [rsp + 0xa28]
mov r8, qword [rsp + 0xa30]
mov rcx, rbp
mov rdx, rdi
call fcn.14024dcf0
movups xmm0, xmmword [rsp + 0x4b0]
movups xmm1, xmmword [rsp + 0x4c0]
movups xmm2, xmmword [rsp + 0x4d0]
movups xmm3, xmmword [rsp + 0x4e0]
movaps xmmword [rsp + 0x230], xmm3
movaps xmmword [rsp + 0x220], xmm2
movaps xmmword [rsp + 0x210], xmm1
movaps xmmword [rsp + 0x200], xmm0
mov rbp, 0xffffffffffffffff
xor ebx, ebx
mov rcx, r14
mov rdx, r13
call fcn.140240850
cmp byte [rsp + 0x720], 0xa
je 0x1400198e0
inc rbx
inc rbp
jmp 0x1400198b2
cmp qword [rsp + 0x58], 0
jne 0x14001a0ec
jmp 0x1400195d2
cmp qword [rsp + 0xa20], 0
je 0x140019902
mov rcx, qword [0x14051f200]
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.DLL_HeapFree]
mov rsi, qword [rsp + 0x48]
test rsi, rsi
je 0x140019bbe
dec rsi
mov qword [rsp + 0x48], rsi
mov rax, qword [rsp + 0x40]
mov rcx, rsi
shl rcx, 5
mov dl, byte [rax + rcx + 0x18]
cmp dl, 2
je 0x140019bc0
mov byte [rsp + 0x37], dl
lea rdi, [rax + rcx]
mov rdx, qword [rax + rcx]
mov qword [rsp + 0x190], rdx
mov rdx, qword [rax + rcx + 8]
mov r8, qword [rax + rcx + 0x10]
mov eax, dword [rdi + 0x19]
mov ecx, dword [rdi + 0x1c]
mov dword [rsp + 0xdb], ecx
mov dword [rsp + 0xd8], eax
mov rcx, r14
mov qword [rsp + 0x188], rdx
mov qword [rsp + 0x1d0], r8
call fcn.14024dcf0
mov qword [rsp + 0x88], r15
mov qword [rsp + 0x90], 1
mov qword [rsp + 0x98], r15
mov byte [rsp + 0xa0], 1
movups xmm0, xmmword [rsp + 0x710]
movups xmm1, xmmword [rsp + 0x720]
movups xmm2, xmmword [rsp + 0x730]
movups xmm3, xmmword [rsp + 0x740]
movaps xmmword [rsp + 0x230], xmm3
movaps xmmword [rsp + 0x220], xmm2
movaps xmmword [rsp + 0x210], xmm1
movaps xmmword [rsp + 0x200], xmm0
mov qword [rsp + 0x240], rbx
test rbx, rbx
lea r14, [rsp + 0x88]
je 0x140019a3e
cmp rbx, 1
je 0x140019a17
mov rsi, rbp
lea rcx, [rsp + 0x4b0]
mov rdx, r13
call fcn.140240850
cmp byte [rsp + 0x4c0], 0xa
je 0x140019a31
dec rsi
jne 0x1400199f8
lea rcx, [rsp + 0xa20]
mov rdx, r13
call fcn.140240850
cmp byte [rsp + 0xa30], 0xa
jne 0x140019a3e
mov r14d, 1
xor edi, edi
jmp 0x140019b15
movaps xmm0, xmmword [rsp + 0x200]
movaps xmm1, xmmword [rsp + 0x210]
movaps xmm2, xmmword [rsp + 0x220]
movaps xmm3, xmmword [rsp + 0x230]
movaps xmmword [rsp + 0x4e0], xmm3
movaps xmmword [rsp + 0x4d0], xmm2
movaps xmmword [rsp + 0x4c0], xmm1
movaps xmmword [rsp + 0x4b0], xmm0
lea rcx, [rsp + 0xa20]
lea rdx, [rsp + 0x4b0]
call fcn.140240850
mov dl, byte [rsp + 0xa30]
cmp dl, 0xa
je case.default.0x140019ad2
mov rax, qword [rsp + 0xa20]
mov rcx, qword [rsp + 0xa28]
sub dl, 5
movzx edx, dl
cmovb edx, r15d
movzx r8d, dl
lea rdx, [0x14001b97c]
movsxd rdi, dword [rdx + r8*4]
add rdi, rdx
lea rdx, [0x1404c0dc0]
jmp rdi
mov r8, rcx
mov rdx, rax
jmp case.0x140019ad2.1
mov r8d, 1
lea rdx, [0x1404ec1c2]
jmp case.0x140019ad2.1
mov r8d, 2
lea rdx, [0x1404ec1c0]
mov rcx, r14
call fcn.140246680
jmp 0x140019a7e
mov r14, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x98]
lea rcx, [rsp + 0x4b0]
mov rdx, r14
mov r8, rdi
call fcn.14024dcf0
movups xmm0, xmmword [rsp + 0x4b0]
movups xmm1, xmmword [rsp + 0x4c0]
movups xmm2, xmmword [rsp + 0x4d0]
movups xmm3, xmmword [rsp + 0x4e0]
movaps xmmword [rsp + 0x230], xmm3
movaps xmmword [rsp + 0x220], xmm2
movaps xmmword [rsp + 0x210], xmm1
movaps xmmword [rsp + 0x200], xmm0
xor esi, esi
lea rcx, [rsp + 0x710]
mov rdx, r13
call fcn.140240850
cmp byte [rsp + 0x720], 0xa
je 0x140019b89
dec rsi
jmp 0x140019b6a
test rsi, rsi
je 0x140019c20
mov rdx, qword [rsp + 0x118]
mov r8, qword [rsp + 0x120]
mov qword [rsp + 0x20], rdi
lea rcx, [rsp + 0x60]
mov r9, r14
call fcn.14024dc10
mov rsi, qword [rsp + 0x70]
jmp 0x140019c62
xor esi, esi
cmp qword [rsp + 0x110], 0
mov rbx, qword [sym.imp.KERNEL32.DLL_HeapFree]
je 0x140019bea
mov r8, qword [rsp + 0x118]
mov rcx, qword [0x14051f200]
xor edx, edx
call rbx
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x40]
mov rcx, rdi
mov rdx, rsi
call fcn.1400ca86d
cmp qword [rsp + 0x38], 0
lea rbp, [rsp + 0x4b0]
je 0x140019c18
mov rcx, qword [0x14051f200]
xor edx, edx
mov r8, rdi
call rbx
xor r14d, r14d
jmp 0x14001a09d
mov rdi, qword [rsp + 0x118]
mov rsi, qword [rsp + 0x120]
mov rcx, rsi
xor edx, edx
call fcn.140056949
mov rcx, rdx
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rdx
mov rdx, rdi
mov r8, rsi
call fcn.1403abad0
mov qword [rsp + 0x70], rsi
mov al, byte [rsp + 0x128]
mov byte [rsp + 0x78], al
mov rdi, qword [rsp + 0x68]
mov rcx, r13
mov rdx, rdi
mov r8, rsi
call fcn.1402786f4
cmp dword [rsp + 0x200], 2
jne 0x140019ca2
mov rcx, qword [rsp + 0x1d8]
call fcn.14007ddf7
mov cl, 1
mov rdx, rdi
mov r8, rsi
call fcn.140247450
test rax, rax
jne 0x14001a1a3
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0x4b0], rax
mov rax, qword [rsp + 0x188]
mov qword [rsp + 0x4b8], rax
mov rax, qword [rsp + 0x1d0]
mov qword [rsp + 0x4c0], rax
mov al, byte [rsp + 0x37]
mov byte [rsp + 0x4c8], al
mov eax, dword [rsp + 0xd8]
mov ecx, dword [rsp + 0xdb]
lea rdx, [rsp + 0x4b0]
mov dword [rdx + 0x1c], ecx
mov dword [rdx + 0x19], eax
mov rcx, r13
lea rdx, [rsp + 0x4b0]
call fcn.140200ba4
mov esi, dword [rsp + 0x210]
mov r14, qword [rsp + 0x200]
cmp esi, 2
je 0x14001a18f
mov rdi, qword [rsp + 0x208]
mov r8d, 0x254
lea r12, [rsp + 0xa20]
mov rcx, r12
lea rdx, [rsp + 0x214]
call fcn.1403abad0
mov qword [rsp + 0x200], r14
mov qword [rsp + 0x208], rdi
mov dword [rsp + 0x210], esi
mov r8d, 0x254
lea rcx, [rsp + 0x214]
mov rdx, r12
lea r12, [rsp + 0x968]
call fcn.1403abad0
lea r14, [rsp + 0x710]
lea rcx, [rsp + 0x4b0]
mov rdx, r13
call fcn.1402461a0
cmp qword [rsp + 0x4b0], 0
je 0x140019f9a
mov r14, qword [rsp + 0x4b8]
mov rsi, qword [rsp + 0x708]
test rsi, rsi
je 0x140019fe3
mov r8d, 0x248
mov rcx, qword [rsp + 0x50]
lea rdx, [rsp + 0x4c0]
call fcn.1403abad0
mov qword [rsp + 0x710], r14
mov qword [rsp + 0x960], rsi
mov eax, r14d
shr eax, 0xa
mov cl, byte [rsp + 0x737]
and cl, 0x20
shr cl, 5
test al, cl
jne 0x140019e66
and r14d, 0x10
je 0x140019e66
lea rcx, [rsp + 0xe0]
lea r14, [rsp + 0x710]
mov rdx, r14
call fcn.1402463f0
mov rdx, qword [rsp + 0x48]
cmp rdx, qword [rsp + 0x38]
jne 0x140019e34
lea rcx, [rsp + 0x38]
call fcn.14013ca35
mov rdx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x40]
mov rcx, rdx
shl rcx, 5
movups xmm0, xmmword [rsp + 0xe0]
movups xmm1, xmmword [rsp + 0xf0]
movups xmmword [rax + rcx + 0x10], xmm1
movups xmmword [rax + rcx], xmm0
inc rdx
mov qword [rsp + 0x48], rdx
jmp 0x140019f76
lea rcx, [rsp + 0xb0]
lea r14, [rsp + 0x710]
mov rdx, r14
call fcn.1402463f0
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xc0]
call fcn.14024d7f0
test rax, rax
je 0x140019f54
mov rsi, rax
mov rdi, rdx
lea rcx, [rsp + 0x198]
mov rdx, r14
call fcn.1402463f0
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
mov qword [rsp + 0x20], rdi
lea rcx, [rsp + 0xe0]
mov r9, rsi
call fcn.14024dc10
mov rdx, qword [rsp + 0x1a0]
mov r8, qword [rsp + 0x1a8]
mov rsi, qword [rsp + 0xe8]
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x480]
mov r9, rsi
call fcn.14025fa40
cmp qword [rsp + 0x480], 0
jne 0x14001a0ff
cmp qword [rsp + 0xe0], 0
je 0x140019f32
mov rcx, qword [0x14051f200]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.DLL_HeapFree]
cmp qword [rsp + 0x198], 0
je 0x140019f54
mov r8, qword [rsp + 0x1a0]
mov rcx, qword [0x14051f200]
xor edx, edx
call qword [sym.imp.KERNEL32.DLL_HeapFree]
cmp qword [rsp + 0xb0], 0
je 0x140019f76
mov r8, qword [rsp + 0xb8]
mov rcx, qword [0x14051f200]
xor edx, edx
call qword [sym.imp.KERNEL32.DLL_HeapFree]
mov rax, qword [rsp + 0x960]
lock dec qword [rax]
jne 0x140019d84
mov rcx, qword [rsp + 0x960]
call fcn.140278f3d
jmp 0x140019d84
mov rcx, r13
call fcn.140005f57
cmp qword [rsp + 0x60], 0
je 0x140019fbe
mov r8, qword [rsp + 0x68]
mov rcx, qword [0x14051f200]
xor edx, edx
call qword [sym.imp.KERNEL32.DLL_HeapFree]
cmp qword [rsp + 0x88], 0
je 0x1400198fd
mov r8, qword [rsp + 0x90]
mov rcx, qword [0x14051f200]
xor edx, edx
jmp 0x1400198f7
mov rbx, qword [sym.imp.KERNEL32.DLL_HeapFree]
lea rbp, [rsp + 0x4b0]
mov rcx, r13
call fcn.140005f57
mov sil, 1
cmp qword [rsp + 0x60], 0
je 0x14001a015
mov r8, qword [rsp + 0x68]
mov rcx, qword [0x14051f200]
xor edx, edx
call rbx
cmp qword [rsp + 0x88], 0
je 0x14001a033
mov r8, qword [rsp + 0x90]
mov rcx, qword [0x14051f200]
xor edx, edx
call rbx
cmp qword [rsp + 0x190], 0
sete al
or sil, al
jne 0x14001a057
mov rcx, qword [0x14051f200]
xor edx, edx
mov r8, qword [rsp + 0x188]
call rbx
cmp qword [rsp + 0x110], 0
je 0x14001a075
mov r8, qword [rsp + 0x118]
mov rcx, qword [0x14051f200]
xor edx, edx
call rbx
mov rsi, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov rcx, rsi
call fcn.1400ca86d
cmp qword [rsp + 0x38], 0
je 0x14001a09d
mov rcx, qword [0x14051f200]
xor edx, edx
mov r8, rsi
call rbx
mov rsi, qword [rsp + 0x180]
cmp qword [rsp + 0x468], 0
je 0x14001a0c3
mov r8, qword [rsp + 0x470]
mov rcx, qword [0x14051f200]
xor edx, edx
call rbx
mov qword [rsp + 0x200], r14
test r14, r14
je 0x14001a0d8
mov rcx, r13
call fcn.14007ddf7
cmp qword [rsp + 0x58], 0
lea r14, [rsp + 0x710]
je 0x1400195d2
mov rcx, qword [0x14051f200]
xor edx, edx
mov r8, rsi
call rbx
jmp 0x1400195d2
mov r14, qword [rsp + 0x488]
cmp qword [rsp + 0xe0], 0
mov rbx, qword [sym.imp.KERNEL32.DLL_HeapFree]
je 0x14001a127
mov rcx, qword [0x14051f200]
xor edx, edx
mov r8, rsi
call rbx
cmp qword [rsp + 0x198], 0
lea rbp, [rsp + 0x4b0]
je 0x14001a14d
mov r8, qword [rsp + 0x1a0]
mov rcx, qword [0x14051f200]
xor edx, edx
call rbx
cmp qword [rsp + 0xb0], 0
je 0x14001a16b
mov r8, qword [rsp + 0xb8]
mov rcx, qword [0x14051f200]
xor edx, edx
call rbx
mov rax, qword [rsp + 0x960]
lock dec qword [rax]
jne 0x140019ff2
mov rcx, qword [rsp + 0x960]
call fcn.140278f3d
jmp 0x140019ff2
mov rbx, qword [sym.imp.KERNEL32.DLL_HeapFree]
lea rbp, [rsp + 0x4b0]
jmp 0x140019ffa
mov r14, rax
xor esi, esi
mov rbx, qword [sym.imp.KERNEL32.DLL_HeapFree]
lea rbp, [rsp + 0x4b0]
jmp 0x140019ffd
lea r15, [rsp + 0x968]
mov rcx, r15
call fcn.140005f87
cmp qword [rsp + 0x80], 0
je 0x14001a1ee
mov rcx, qword [0x14051f200]
xor edx, edx
mov r8, qword [rsp + 0xa8]
call qword [sym.imp.KERNEL32.DLL_HeapFree]
lea rax, [0x1404adf52]
mov qword [rsp + 0x200], rax
lea rdx, [rsp + 0x200]
mov rcx, qword [rsp + 0x200]
movabs rax, 0xe3b3f1af4b3e4d8b
mov qword [rsp + 0x200], rax
mov rdx, qword [rsp + 0x200]
call fcn.140203997
xorps xmm0, xmm0
movaps xmmword [rsp + 0xa20], xmm0
mov r9b, 1
xor edi, edi
lea r10, [0x1404bac78]
movzx r8d, byte [rdi + r10]
mov rcx, rdi
or rcx, 1
movzx ebx, byte [rcx + r10]
mov rcx, rdi
or rcx, 2
movzx r11d, byte [rcx + r10]
mov rcx, rdi
or rcx, 3
movzx r14d, byte [rcx + r10]
mov rcx, rdi
or rcx, 4
movzx ecx, byte [rcx + r10]
mov rsi, rdi
or rsi, 5
movzx ebp, byte [rsi + r10]
mov rsi, rdi
or rsi, 6
mov rdx, rdi
or rdx, 7
movzx esi, byte [rsi + r10]
movzx edx, byte [rdx + r10]
shl rdx, 0x38
shl rsi, 0x30
or rsi, rdx
shl rbp, 0x28
shl rcx, 0x20
shl r14, 0x18
shl r11, 0x10
shl rbx, 8
or rbx, r8
or rbx, r11
or rbx, r14
or rbx, rcx
or rbx, rbp
or rbx, rsi
xor rbx, qword [rax + rdi]
mov qword [rsp + rdi + 0xa20], rbx
mov edi, 8
test r9b, 1
mov r9d, 0
jne 0x14001a243
lea rax, [rsp + 0xa20]
mov qword [rsp + 0x968], rax
mov qword [rsp + 0x970], 0x10
lea rbx, [rsp + 0x4b0]
lea rax, [rsp + 0x1b8]
mov qword [rbx], rax
lea rax, [0x1400099b0]
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], r15
lea rax, [0x140134850]
mov qword [rbx + 0x18], rax
xor r14d, r14d
lea r12, [rsp + 0x200]
mov qword [r12], r14
lea rax, str.dest_is_out_of_bounds
mov qword [r12 + 0x10], rax
mov eax, 2
mov qword [r12 + 0x18], rax
lea r13, [rsp + 0x4b0]
mov qword [r12 + 0x20], r13
mov qword [r12 + 0x28], rax
lea r15, [rsp + 0x710]
mov rcx, r15
mov rdx, r12
call fcn.140053dd0
mov rax, qword [rsp + 0x710]
mov qword [rsp + 0x50], rax
mov rdx, qword [rsp + 0x718]
mov r8, qword [rsp + 0x720]
lea rbp, [rsp + 0x200]
mov rcx, rbp
mov qword [rsp + 0x80], rdx
call fcn.14025fcc0
mov qword [rbp + 0x20], r14
mov qword [rbp + 0x30], 0xa
mov qword [rbp + 0x38], r14
mov dword [rbp + 0x48], pe_nt_image_headers64
mov qword [rbp + 0x40], 3
mov ecx, 0xa
mov rdi, rbx
mov rsi, rbp
rep movsq qword [rdi], qword [rsi]
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movups xmm2, xmmword [rbx + 0x20]
movups xmm3, xmmword [rbx + 0x30]
movaps xmmword [rbp + 0x20], xmm2
movaps xmmword [rbp + 0x30], xmm3
movups xmm2, xmmword [rbx + 0x40]
mov rbx, r13
movaps xmmword [rbp + 0x40], xmm2
movaps xmmword [rbp], xmm0
movaps xmmword [rbp + 0x10], xmm1
xorps xmm0, xmm0
movups xmmword [rsp + 0x718], xmm0
lea rax, [rsp + 0xa20]
lea rsi, [rsp + 0x200]
mov ecx, 0xa
mov rdi, rax
rep movsq qword [rdi], qword [rsi]
mov rcx, qword [rsp + 0x720]
mov qword [rsp + 0xc0], rcx
movups xmm1, xmmword [rsp + 0x710]
movaps xmmword [rsp + 0xb0], xmm1
lea rdx, [rsp + 0x200]
mov ecx, 0xa
mov rdi, rdx
mov rsi, rax
rep movsq qword [rdi], qword [rsi]
mov qword [rdx + 0x50], r14
movaps xmm1, xmmword [rsp + 0xb0]
movups xmmword [rdx + 0x58], xmm1
mov rax, qword [rsp + 0xc0]
mov qword [rdx + 0x68], rax
mov qword [rdx + 0x70], r14
mov ecx, 8
mov qword [rdx + 0x78], rcx
movups xmmword [rdx + 0x80], xmm0
mov qword [rdx + 0x90], rcx
movups xmmword [rdx + 0x98], xmm0
mov qword [rdx + 0xa8], rcx
mov qword [rdx + 0xb0], r14
mov rbp, r15
lea r13, [rsp + 0x4e8]
lea r15, [rsp + 0x4e8]
lea rax, [rcx + rbp]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x110]
add rcx, rax
mov qword [rsp + 0xa8], rcx
lea r14, [rsp + 0x88]
mov rcx, rbx
mov rdx, r12
call fcn.14027920d
mov rax, qword [rsp + 0x4e0]
cmp rax, 2
jne 0x14001a51d
mov ecx, 9
mov rdi, rbp
mov rsi, r13
rep movsq qword [rdi], qword [rsi]
mov rcx, rbp
call fcn.1400067b7
jmp 0x14001a4ec
cmp eax, 3
je 0x14001abbe
movups xmm0, xmmword [rsp + 0x4b0]
movups xmm1, xmmword [rsp + 0x4c0]
movups xmm2, xmmword [rsp + 0x4d0]
movaps xmmword [rsp + 0x100], xmm2
movaps xmmword [rsp + 0xf0], xmm1
movaps xmmword [rsp + 0xe0], xmm0
mov ecx, 9
lea rdx, [rsp + 0x968]
mov rdi, rdx
mov rsi, r13
rep movsq qword [rdi], qword [rsi]
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
movaps xmm2, xmmword [rsp + 0x100]
movaps xmmword [rsp + 0x4d0], xmm2
movaps xmmword [rsp + 0x4c0], xmm1
movaps xmmword [rsp + 0x4b0], xmm0
mov qword [rsp + 0x4e0], rax
mov ecx, 9
mov rdi, r15
mov rsi, rdx
rep movsq qword [rdi], qword [rsi]
mov rcx, rbp
mov rdx, rbx
call fcn.1402789db
cmp qword [rsp + 0x710], 0
je 0x14001ab4e
mov rcx, qword [rsp + 0x58]
call fcn.1400067b7
mov r15, qword [rsp + 0x4b8]
mov rdi, qword [rsp + 0x4c0]
mov rcx, r15
mov rdx, rdi
call fcn.14024d7f0
test rax, rax
cmove rax, r15
cmove rdx, rdi
mov rcx, rax
call fcn.14025fc30
test rax, rax
je 0x14001b8ef
test rdx, rdx
je 0x14001a7a8
cmp byte [rdx + rax - 1], 0x73
jne 0x14001a7a8
mov rcx, r15
mov rdx, rdi
call fcn.14024d7f0
test rax, rax
cmove rax, r15
cmove rdx, rdi
mov rcx, rax
call fcn.14025fc30
test rax, rax
je 0x14001b94f
cmp rdx, 0x11
jne 0x14001a7a8
lea rax, [0x1404ae5d8]
mov qword [rsp + 0x710], rax
mov rcx, qword [rsp + 0x710]
movabs rax, 0x12f78b92fd50c4d1
mov qword [rsp + 0x710], rax
mov rdx, qword [rsp + 0x710]
call fcn.140204241
mov rax, qword [rax]
movabs rcx, 0xa4929ef02b10be91
xor rax, rcx
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], 8
mov rcx, r15
mov rdx, rdi
call fcn.140278a92
mov rcx, rax
call fcn.14025fc30
test rax, rax
je 0x14001b95f
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rdx
lea rax, [rsp + 0x1e8]
mov qword [rsp + 0x130], rax
lea rax, [0x1400099b0]
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], r14
lea rax, [0x140134850]
mov qword [rsp + 0x148], rax
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x150], rcx
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x710], 0
lea rax, str.dest_is_out_of_bounds
mov qword [rsp + 0x720], rax
mov ecx, 3
mov qword [rsp + 0x728], rcx
lea rax, [rsp + 0x130]
mov qword [rsp + 0x730], rax
mov qword [rsp + 0x738], rcx
lea rsi, [rsp + 0x198]
mov rcx, rsi
mov rdx, rbp
call fcn.140053dd0
lea rcx, [rsp + 0x110]
mov rdx, r15
mov r8, rdi
mov r9, rsi
call fcn.140200910
cmp qword [rsp + 0x110], 0
je 0x14001a7a8
mov rcx, qword [rsp + 0xa8]
call fcn.14007ddf7
mov rcx, r15
mov rdx, rdi
call fcn.14024d7f0
test rax, rax
cmove rax, r15
cmove rdx, rdi
mov rcx, rax
call fcn.14025fc30
test rax, rax
je 0x14001b8ff
mov rbx, rax
mov r14, rdx
lea rax, [0x1404b128e]
mov qword [rsp + 0x710], rax
lea rax, [rsp + 0x710]
mov rcx, qword [rsp + 0x710]
movabs rdx, 0x62581a944259fe5f
mov qword [rsp + 0x710], rdx
mov rdx, qword [rsp + 0x710]
call fcn.140201fe1
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 + 0x136], dl
shl rdx, 0x30
shl rax, 0x20
or rax, rdx
xor rcx, 0x324c1114
mov dword [rsp + 0x130], ecx
shr rax, 0x20
mov word [rsp + 0x134], ax
cmp r14, 6
ja 0x14001a86c
lea rbp, [rsp + 0x710]
lea r14, [rsp + 0x88]
jmp 0x14001a897
mov eax, dword [rsp + 0x130]
xor eax, dword [rbx]
mov ecx, dword [rsp + 0x133]
xor ecx, dword [rbx + 3]
or ecx, eax
lea rbp, [rsp + 0x710]
lea r14, [rsp + 0x88]
je 0x14001a9b4
mov rcx, r15
mov rdx, rdi
call fcn.14024d7f0
test rax, rax
cmove rax, r15
cmove rdx, rdi
mov rcx, rax
call fcn.14025fc30
test rax, rax
je 0x14001b90f
mov rbx, rax
mov rsi, rdx
lea rax, [0x1404ae4e5]
mov qword [rsp + 0x710], rax
mov rcx, qword [rsp + 0x710]
movabs rax, 0xb4a89f28a74d7e00
mov qword [rsp + 0x710], rax
mov rdx, qword [rsp + 0x710]
call fcn.140202b3a
mov rax, qword [rax]
movabs rcx, 0x9d27e8addff0e872
xor rax, rcx
mov qword [rsp + 0x130], rax
cmp rsi, 7
jbe 0x14001a929
mov rax, qword [rsp + 0x130]
cmp rax, qword [rbx]
je 0x14001a9b4
mov rcx, r15
mov rdx, rdi
call fcn.140278a92
mov rcx, rax
call fcn.14025fc30
test rax, rax
je 0x14001b91f
mov rbx, rax
mov rsi, rdx
lea rax, [0x1404ae9c4]
mov qword [rsp + 0x710], rax
mov rcx, qword [rsp + 0x710]
movabs rax, 0x9c48d3efb5581586
mov qword [rsp + 0x710], rax
mov rdx, qword [rsp + 0x710]
call fcn.1402022b1
mov rax, qword [rax]
movabs rcx, 0x6663a55797fad51b
xor rax, rcx
mov qword [rsp + 0x130], rax
cmp rsi, 7
jbe 0x14001ab15
mov rax, qword [rsp + 0x130]
cmp rax, qword [rbx]
jne 0x14001ab15
lea rax, [0x1404b4b62]
mov qword [rsp + 0x710], rax
mov rcx, qword [rsp + 0x710]
movabs rax, 0xddb5ca0268778f7f
mov qword [rsp + 0x710], rax
mov rdx, qword [rsp + 0x710]
call fcn.140202010
mov rax, qword [rax]
movabs rcx, 0x90b7ed36fb7b5bf4
xor rax, rcx
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], 8
mov rcx, r15
mov rdx, rdi
call fcn.14024d7f0
test rax, rax
cmove rax, r15
cmove rdx, rdi
mov rcx, rax
call fcn.14025fc30
test rax, rax
je 0x14001b93f
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rdx
lea rax, [rsp + 0x1e8]
mov qword [rsp + 0x130], rax
lea rax, [0x1400099b0]
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], r14
lea rax, [0x140134850]
mov qword [rsp + 0x148], rax
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x150], rcx
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x710], 0
lea rax, str.dest_is_out_of_bounds
mov qword [rsp + 0x720], rax
mov ecx, 3
mov qword [rsp + 0x728], rcx
lea rax, [rsp + 0x130]
mov qword [rsp + 0x730], rax
mov qword [rsp + 0x738], rcx
lea rsi, [rsp + 0x198]
mov rcx, rsi
mov rdx, rbp
call fcn.140053dd0
lea rcx, [rsp + 0x110]
mov rdx, r15
mov r8, rdi
mov r9, rsi
call fcn.140200910
cmp qword [rsp + 0x110], 0
je 0x14001ab15
mov rcx, qword [rsp + 0xa8]
call fcn.14007ddf7
inc qword [0x14051f118]
cmp qword [rsp + 0x4b0], 0
je 0x14001ab39
mov rcx, qword [0x14051f200]
xor edx, edx
mov r8, r15
call qword [sym.imp.KERNEL32.DLL_HeapFree]
lea rbx, [rsp + 0x4b0]
lea r15, [rsp + 0x4e8]
jmp 0x14001a4ec
mov rcx, qword [rsp + 0x740]
xor edx, edx
call fcn.14027db2d
mov r8, rdx
cmp rax, 0x5fffff
jbe 0x14001aba1
mov rcx, qword [0x14051f200]
xor edx, edx
mov rsi, qword [sym.imp.KERNEL32.DLL_HeapFree]
call rsi
cmp qword [rsp + 0x4b0], 0
je 0x14001a4ec
mov r8, qword [rsp + 0x4b8]
mov rcx, qword [0x14051f200]
xor edx, edx
call rsi
jmp 0x14001a4ec
test rax, rax
je 0x14001a5d6
mov rcx, qword [0x14051f200]
xor edx, edx
call qword [sym.imp.KERNEL32.DLL_HeapFree]
jmp 0x14001a5d6
lea rcx, [rsp + 0x200]
call fcn.140005f87
cmp qword [rsp + 0x50], 0
je 0x14001abea
mov rcx, qword [0x14051f200]
xor edx, edx
mov r8, qword [rsp + 0x80]
call qword [sym.imp.KERNEL32.DLL_HeapFree]
lea r13, [rsp + 0x200]
cmp qword [rsp + 0x1b8], 0
je 0x14001ac14
mov r8, qword [rsp + 0x1c0]
mov rcx, qword [0x14051f200]
xor edx, edx
call qword [sym.imp.KERNEL32.DLL_HeapFree]
cmp qword [rsp + 0x1e8], 0
je 0x14001ac36
mov r8, qword [rsp + 0x1f0]
mov rcx, qword [0x14051f200]
xor edx, edx
call qword [sym.imp.KERNEL32.DLL_HeapFree]
lea rcx, [0x14025f150]
call fcn.1400677c8
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], rdx
xorps xmm6, xmm6
movaps xmmword [rsp + 0x130], xmm6
mov qword [rsp + 0x140], 0
lea rax, [0x1404c6610]
mov qword [rsp + 0x148], rax
lea rax, [0x1403b321e]
mov qword [rsp + 0x200], rax
mov rcx, qword [rsp + 0x200]
movabs rax, 0xf7efc9bc33f5932
mov qword [rsp + 0x200], rax
mov rdx, qword [rsp + 0x200]
call fcn.1402017b9
movzx ebx, byte [rax + 2]
movzx edi, word [rax]
xor edi, 0xc86a
xor bl, 0x39
xor esi, esi
mov ecx, 3
xor edx, edx
call fcn.14027db2d
mov r14, rax
mov r15, rdx
mov byte [rdx + 2], bl
mov word [rdx], di
lea rax, [0x1403b6a40]
mov qword [rsp + 0x200], rax
mov rcx, qword [rsp + 0x200]
movabs rax, 0xf6cecb18920f3294
mov qword [rsp + 0x200], rax
mov rdx, qword [rsp + 0x200]
call fcn.1402021d2
movaps xmmword [rsp + 0xa20], xmm6
mov r9b, 1
lea r10, [0x1403be9b0]
movzx r8d, byte [rsi + r10]
mov rcx, rsi
or rcx, 1
movzx ebp, byte [rcx + r10]
mov rcx, rsi
or rcx, 2
movzx r11d, byte [rcx + r10]
mov rcx, rsi
or rcx, 3
movzx r12d, byte [rcx + r10]
mov rcx, rsi
or rcx, 4
movzx ecx, byte [rcx + r10]
mov rdx, rsi
or rdx, 5
movzx edx, byte [rdx + r10]
mov rdi, rsi
or rdi, 6
mov rbx, rsi
or rbx, 7
movzx edi, byte [rdi + r10]
movzx ebx, byte [rbx + r10]
shl rbx, 0x38
shl rdi, 0x30
or rdi, rbx
shl rdx, 0x28
shl rcx, 0x20
shl r12, 0x18
shl r11, 0x10
shl rbp, 8
or rbp, r8
or rbp, r11
or rbp, r12
or rbp, rcx
or rbp, rdx
or rbp, rdi
xor rbp, qword [rax + rsi]
mov qword [rsp + rsi + 0xa20], rbp
mov esi, 8
test r9b, 1
mov r9d, 0
jne 0x14001ad20
movzx ecx, byte [rax + 0x12]
movzx eax, word [rax + 0x10]
xor eax, 0x1b40
mov word [rsp + 0xa30], ax
xor cl, 0x9a
mov byte [rsp + 0xa32], cl
mov ecx, 0x13
xor edx, edx
call fcn.14027db2d
movaps xmm0, xmmword [rsp + 0xa20]
movups xmmword [rdx], xmm0
mov ecx, dword [rsp + 0xa2f]
mov dword [rdx + 0xf], ecx
lea r8, [rsp + 0x4b0]
mov qword [r8], r14
mov qword [r8 + 8], r15
mov qword [r8 + 0x10], 3
lea r15, [rsp + 0x200]
mov qword [r15], rax
mov qword [r15 + 8], rdx
mov qword [r15 + 0x10], 0x13
lea rsi, [rsp + 0x710]
lea rdx, [rsp + 0x130]
mov rcx, rsi
mov r9, r15
call fcn.14021c38a
mov r8, qword [rsi + 8]
test r8, r8
je 0x14001ae77
cmp qword [rsp + 0x710], 0
je 0x14001ae77
mov rcx, qword [0x14051f200]
xor edx, edx
call qword [sym.imp.KERNEL32.DLL_HeapFree]
lea rax, [0x1403be72b]
mov qword [rsp + 0x200], rax
mov rcx, qword [rsp + 0x200]
movabs rax, 0xd895db1fec7ffb2c
mov qword [rsp + 0x200], rax
mov rdx, qword [rsp + 0x200]
call fcn.1402030eb
mov ecx, dword [rax]
mov bl, byte [rax + 4]
xor bl, 0x22
mov ebp, 0xa8a90742
xor rbp, rcx
mov ecx, 5
xor edx, edx
call fcn.14027db2d
mov rsi, rax
mov rdi, rdx
mov byte [rdx + 4], bl
mov dword [rdx], ebp
lea rax, [0x1403b7452]
mov qword [rsp + 0x200], rax
mov rcx, qword [rsp + 0x200]
movabs rax, 0x52fe1308fc1f132a
mov qword [rsp + 0x200], rax
mov rdx, qword [rsp + 0x200]
call fcn.140202a8f
xorps xmm0, xmm0
movaps xmmword [rsp + 0x200], xmm0
movaps xmmword [rsp + 0x210], xmm0
movaps xmmword [rsp + 0x220], xmm0
mov rcx, 0xfffffffffffffff8
lea rdx, [0x1403be9c3]
mov rbp, qword [rcx + rdx + 8]
xor rbp, qword [rax + rcx + 8]
mov qword [rsp + rcx + 0x208], rbp
add rcx, 8
cmp rcx, 0x28
jb 0x14001af33
mov ecx, 0xd3d8010b
xor ecx, dword [rax + 0x30]
mov dword [rsp + 0x230], ecx
mov ecx, 0x34
xor edx, edx
call fcn.14027db2d
movaps xmm0, xmmword [rsp + 0x200]
movaps xmm1, xmmword [rsp + 0x210]
movaps xmm2, xmmword [rsp + 0x220]
movups xmmword [rdx], xmm0
movups xmmword [rdx + 0x10], xmm1
movups xmmword [rdx + 0x20], xmm2
mov ecx, dword [rsp + 0x230]
mov dword [rdx + 0x30], ecx
lea r8, [rsp + 0x710]
mov qword [r8], rsi
mov qword [r8 + 8], rdi
mov qword [r8 + 0x10], 5
lea r9, [rsp + 0x4b0]
mov qword [r9], rax
mov qword [r9 + 8], rdx
mov qword [r9 + 0x10], 0x34
lea rsi, [rsp + 0xa20]
lea rdx, [rsp + 0x130]
mov rcx, rsi
call fcn.14021c38a
mov r8, qword [rsi + 8]
test r8, r8
je 0x14001b000
cmp qword [rsp + 0xa20], 0
je 0x14001b000
mov rcx, qword [0x14051f200]
xor edx, edx
call qword [sym.imp.KERNEL32.DLL_HeapFree]
lea rax, [0x1403afef7]
mov qword [rsp + 0x200], rax
mov rcx, qword [rsp + 0x200]
movabs rax, 0x6a2d33192eb12f5
mov qword [rsp + 0x200], rax
mov rdx, qword [rsp + 0x200]
call fcn.140201f22
mov ecx, dword [rax]
movzx edx, byte [rax + 6]
movzx ebx, word [rax + 4]
xor ebx, 0x3ff3
xor dl, 0xc8
movzx ebp, dl
mov rax, rbp
shl rax, 0x30
shl rbx, 0x20
or rbx, rax
mov esi, 0xeb445def
xor rsi, rcx
mov ecx, 7
xor edx, edx
call fcn.14027db2d
mov r14, rax
mov rdi, rdx
mov byte [rdx + 6], bpl
mov dword [rdx], esi
shr rbx, 0x20
mov word [rdx + 4], bx
lea rax, [0x1403b09dd]
mov qword [rsp + 0x200], rax
mov rcx, qword [rsp + 0x200]
movabs rax, 0xb9ee0e73eb3ab005
mov qword [rsp + 0x200], rax
mov rdx, qword [rsp + 0x200]
call fcn.140201333
xorps xmm0, xmm0
movaps xmmword [rsp + 0x200], xmm0
movaps xmmword [rsp + 0x210], xmm0
mov qword [rsp + 0x220], 0
mov rcx, 0xfffffffffffffff8
lea rdx, [0x1403be9f7]
mov rbp, qword [rcx + rdx + 8]
xor rbp, qword [rax + rcx + 8]
mov qword [rsp + rcx + 0x208], rbp
add rcx, 8
cmp rcx, 0x20
jb 0x14001b0e5
mov ecx, 0x28
xor edx, edx
call fcn.14027db2d
movaps xmm0, xmmword [rsp + 0x200]
movaps xmm1, xmmword [rsp + 0x210]
movups xmmword [rdx], xmm0
movups xmmword [rdx + 0x10], xmm1
mov rcx, qword [rsp + 0x220]
mov qword [rdx + 0x20], rcx
lea r8, [rsp + 0x710]
mov qword [r8], r14
mov qword [r8 + 8], rdi
mov qword [r8 + 0x10], 7
lea r13, [rsp + 0x4b0]
mov qword [r13], rax
mov qword [r13 + 8], rdx
mov qword [r13 + 0x10], 0x28
lea rsi, [rsp + 0xa20]
lea rdx, [rsp + 0x130]
mov rcx, rsi
mov r9, r13
call fcn.14021c38a
mov r8, qword [rsi + 8]
test r8, r8
je 0x14001b19d
cmp qword [rsp + 0xa20], 0
je 0x14001b19d
mov rcx, qword [0x14051f200]
xor edx, edx
call qword [sym.imp.KERNEL32.DLL_HeapFree]
mov rdi, qword [rsp + 0x130]
mov r8, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
lea rcx, [rdi + 1]
movdqa xmm0, xmmword [rbx]
test rdi, rdi
je 0x14001b1e2
mov edx, 0x30
mov rax, rcx
mul rdx
lea r9, [rdi + rax]
add r9, 0x11
mov rdi, rbx
sub rdi, rax
mov eax, 0x10
jmp 0x14001b1e4
xor eax, eax
lea rsi, [rbx + 0x10]
pmovmskb ebp, xmm0
not ebp
add rcx, rbx
lea rdx, [rsp + 0x968]
mov qword [rdx], rsi
mov qword [rdx + 8], rcx
mov qword [rdx + 0x10], rbx
mov word [rdx + 0x18], bp
mov qword [rdx + 0x20], r8
mov qword [rdx + 0x28], rdi
mov qword [rdx + 0x30], r9
mov qword [rdx + 0x38], rax
xorps xmm6, xmm6
lea rcx, [rsp + 0x968]
call fcn.14020a100
test rax, rax
je 0x14001b84e
mov rcx, qword [rax - 0x28]
test rcx, rcx
je 0x14001b84e
mov rdx, qword [rax - 0x30]
mov rbp, qword [rax - 0x20]
mov rbx, qword [rax - 0x18]
mov qword [rsp + 0x58], rbx
mov rsi, qword [rax - 0x10]
mov r12, qword [rax - 8]
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rbp
lea rax, [0x1403b940f]
mov qword [rsp + 0x200], rax
mov rcx, qword [rsp + 0x200]
movabs rax, 0x95048472448fa64c
mov qword [rsp + 0x200], rax
mov rdx, qword [rsp + 0x200]
call fcn.140203706
mov rcx, qword [rax]
movabs rdx, 0x81a7d1556bc2b104
xor rcx, rdx
mov qword [rsp + 0xa20], rcx
mov al, byte [rax + 8]
xor al, 0xf3
mov byte [rsp + 0xa28], al
mov r8d, 7
mov rcx, r13
lea rdx, [0x1404baba8]
call fcn.1402434a0
cmp byte [rsp + 0x4c8], 3
jne 0x14001b898
mov r14, qword [rsp + 0x4b0]
mov rbx, qword [rsp + 0x4b8]
mov rbp, qword [rsp + 0x4c0]
xor eax, eax
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], 1
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0x20], 9
mov rcx, r13
mov qword [rsp + 0x50], rsi
mov rdx, rsi
mov r8, r12
lea r9, [rsp + 0xa20]
call fcn.140061d70
mov ecx, 0xd
mov rdi, r15
mov rsi, r13
rep movsq qword [rdi], qword [rsi]
xor esi, esi
lea rcx, [rsp + 0x710]
mov rdx, r15
call fcn.14000a0a0
cmp qword [rsp + 0x710], 0
je 0x14001b3a7
mov r8, qword [rsp + 0x718]
mov rdi, qword [rsp + 0x720]
mov rax, qword [rsp + 0x50]
lea rdx, [rax + rsi]
sub r8, rsi
lea rsi, [rsp + 0xb0]
mov rcx, rsi
call fcn.140057f93
mov rcx, rsi
mov rdx, rbx
mov r8, rbp
call fcn.140057f93
mov rsi, rdi
jmp 0x14001b34d
mov rax, qword [rsp + 0x50]
lea rdx, [rax + rsi]
sub r12, rsi
lea rcx, [rsp + 0xb0]
mov r8, r12
call fcn.140057f93
test r14, r14
mov r12, qword [sym.imp.KERNEL32.DLL_HeapFree]
je 0x14001b3de
mov rcx, qword [0x14051f200]
xor edx, edx
mov r8, rbx
call r12
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x4b0], rax
lea rax, [0x1400099b0]
mov qword [rsp + 0x4b8], rax
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x4c0], rcx
mov qword [rsp + 0x4c8], rax
mov qword [rsp + 0x200], 0
lea rax, str.dest_is_out_of_bounds
mov qword [rsp + 0x210], rax
mov eax, 2
mov qword [rsp + 0x218], rax
mov qword [rsp + 0x220], r13
mov qword [rsp + 0x228], rax
lea r14, [rsp + 0x710]
mov rcx, r14
mov rdx, r15
call fcn.140053dd0
mov rsi, qword [rsp + 0x718]
mov r8, qword [rsp + 0x720]
mov rdi, qword [rsp + 0x710]
lea rcx, [rsp + 0xe0]
mov rdx, rsi
call fcn.14025fcc0
test rdi, rdi
je 0x14001b499
mov rcx, qword [0x14051f200]
xor edx, edx
mov r8, rsi
call r12
mov rdi, qword [rsp + 0xe8]
mov rbx, qword [rsp + 0xf0]
mov rcx, rbx
xor edx, edx
call fcn.140056949
mov rbp, rax
mov rsi, rdx
mov rcx, rdx
mov rdx, rdi
mov r8, rbx
call fcn.1403abad0
xor ecx, ecx
mov rdx, rsi
mov r8, rbx
call fcn.140247450
mov rdi, rax
test rbp, rbp
je 0x14001b4eb
mov rcx, qword [0x14051f200]
xor edx, edx
mov r8, rsi
call r12
mov qword [rsp + 0x200], rdi
test rdi, rdi
je 0x14001b500
mov rcx, r15
call fcn.14007ddf7
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x720], rax
movups xmm0, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0x710], xmm0
mov rcx, r15
mov rdx, r14
call fcn.14021c324
mov rax, qword [rsp + 0x238]
cmp rax, 2
mov ecx, 1
cmovb rax, rcx
mov qword [rsp + 0x240], rax
mov ecx, 0xa
mov rdi, r13
mov rsi, r15
rep movsq qword [rdi], qword [rsi]
lea rax, [rsp + 0x4e8]
movups xmm0, xmmword [rax - 0x18]
movups xmm1, xmmword [rax - 8]
movups xmm2, xmmword [rax + 8]
lea rax, [rsp + 0xa40]
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
movups xmm0, xmmword [rsp + 0x4b0]
movups xmm1, xmmword [rsp + 0x4c0]
movaps xmmword [rsp + 0xa30], xmm1
movaps xmmword [rsp + 0xa20], xmm0
lea rax, [rsp + 0x1a0]
movups xmmword [rax], xmm6
mov ecx, 0xa
mov rdi, r15
lea rsi, [rsp + 0xa20]
rep movsq qword [rdi], qword [rsi]
mov edx, 0
mov qword [rsp + 0x250], rdx
mov rax, qword [rsp + 0x1a8]
lea rcx, [rsp + 0x258]
mov qword [rcx + 0x10], rax
movdqu xmm0, xmmword [rsp + 0x198]
movdqu xmmword [rcx], xmm0
mov qword [rsp + 0x270], rdx
mov eax, 8
mov qword [rsp + 0x278], rax
movups xmmword [rcx + 0x28], xmm6
mov qword [rsp + 0x290], rax
movups xmmword [rcx + 0x40], xmm6
mov qword [rsp + 0x2a8], rax
mov qword [rsp + 0x2b0], rdx
mov rcx, r14
mov rdx, r15
call fcn.14027920d
cmp dword [rsp + 0x740], 3
je 0x14001b7e9
mov ecx, 0x10
mov rdi, r13
mov rsi, r14
rep movsq qword [rdi], qword [rsi]
cmp dword [rsp + 0x4e0], 2
jne 0x14001b65e
lea rcx, [rsp + 0x4e8]
call fcn.1400067b7
jmp 0x14001b61e
mov rax, qword [rsp + 0x710]
mov qword [rsp + 0x80], rax
mov rsi, qword [rsp + 0x718]
mov rdi, qword [rsp + 0x720]
mov r12, qword [rsp + 0xe8]
mov rbp, qword [rsp + 0xf0]
mov rcx, rsi
mov rdx, rdi
call fcn.14024d7f0
mov r8, rdx
test rax, rax
cmove rax, rsi
cmove r8, rdi
mov rcx, r13
mov rdx, rax
call fcn.14025ab90
cmp qword [rsp + 0x4b0], 0
mov r14, qword [rsp + 0x4c0]
mov r13, qword [rsp + 0x4b8]
cmovne r13, r14
cmovne r14, qword [rsp + 0x4c8]
mov rcx, r14
xor edx, edx
call fcn.14027db2d
mov r15, rax
mov rbx, rdx
mov rcx, rdx
mov rdx, r13
mov r8, r14
call fcn.1403abad0
mov qword [rsp + 0x20], r14
lea r14, [rsp + 0x710]
mov rcx, r14
mov rdx, r12
mov r12, qword [sym.imp.KERNEL32.DLL_HeapFree]
mov r8, rbp
mov r9, rbx
call fcn.14024dc10
test r15, r15
je 0x14001b72f
mov rcx, qword [0x14051f200]
xor edx, edx
mov r8, rbx
call r12
mov rbx, qword [rsp + 0x718]
mov rax, qword [rsp + 0x720]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x88]
mov rdx, rsi
mov r8, rdi
mov r9, rbx
call fcn.14025fa40
cmp qword [rsp + 0x710], 0
je 0x14001b774
mov rcx, qword [0x14051f200]
xor edx, edx
mov r8, rbx
call r12
cmp qword [rsp + 0x88], 0
lea r15, [rsp + 0x200]
lea r13, [rsp + 0x4b0]
je 0x14001b79c
lea rcx, [rsp + 0x90]
call fcn.14007ddf7
cmp qword [rsp + 0x4b0], 0
je 0x14001b7c6
cmp qword [rsp + 0x4b8], 0
je 0x14001b7c6
mov r8, qword [rsp + 0x4c0]
mov rcx, qword [0x14051f200]
xor edx, edx
call r12
cmp qword [rsp + 0x80], 0
je 0x14001b61e
mov rcx, qword [0x14051f200]
xor edx, edx
mov r8, rsi
call r12
jmp 0x14001b61e
mov rcx, r15
call fcn.140005f87
cmp qword [rsp + 0xe0], 0
je 0x14001b810
mov r8, qword [rsp + 0xe8]
mov rcx, qword [0x14051f200]
xor edx, edx
call r12
cmp qword [rsp + 0x60], 0
mov rsi, qword [rsp + 0x50]
je 0x14001b82e
mov r8, qword [rsp + 0x68]
mov rcx, qword [0x14051f200]
xor edx, edx
call r12
cmp qword [rsp + 0x58], 0
je 0x14001b21b
mov rcx, qword [0x14051f200]
xor edx, edx
mov r8, rsi
call r12
jmp 0x14001b21b
lea rcx, [rsp + 0x968]
call fcn.14021c6f7
mov rax, qword [rsp + 0x1e0]
cmp qword [rax], 0
je 0x14001b87c
mov r8, qword [rax + 8]
mov rcx, qword [0x14051f200]
xor edx, edx
call qword [sym.imp.KERNEL32.DLL_HeapFree]
movaps xmm6, xmmword [rsp + 0xc80]
add rsp, 0xc98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movups xmm0, xmmword [rsp + 0x4b0]
movups xmm1, xmmword [rsp + 0x4c0]
lea r8, [rsp + 0x200]
movaps xmmword [r8 + 0x10], xmm1
movaps xmmword [r8], xmm0
lea rax, [0x1403bea38]
mov qword [rsp + 0x20], rax
lea rcx, [0x1404ef56b]
lea r9, fcn.140006040
mov edx, 0x2b
call fcn.1403afcb0
ud2
lea rcx, str.called__Option::unwrap____on_a__None__valuecalled__Result::unwrap____on_an__Err__value
lea r8, [0x1404bac18]
jmp 0x14001b96d
lea rcx, str.called__Option::unwrap____on_a__None__valuecalled__Result::unwrap____on_an__Err__value
lea r8, [0x1404bac88]
jmp 0x14001b96d
lea rcx, str.called__Option::unwrap____on_a__None__valuecalled__Result::unwrap____on_an__Err__value
lea r8, [0x1404bacd8]
jmp 0x14001b96d
lea rcx, str.called__Option::unwrap____on_a__None__valuecalled__Result::unwrap____on_an__Err__value
lea r8, [0x1404bacf0]
jmp 0x14001b96d
lea rcx, str.called__Option::unwrap____on_a__None__valuecalled__Result::unwrap____on_an__Err__value
lea r8, [0x1404bad08]
jmp 0x14001b96d
lea rcx, str.called__Option::unwrap____on_a__None__valuecalled__Result::unwrap____on_an__Err__value
lea r8, [0x1404bac60]
jmp 0x14001b96d
lea rcx, str.called__Option::unwrap____on_a__None__valuecalled__Result::unwrap____on_an__Err__value
lea r8, [0x1404bad20]
jmp 0x14001b96d
lea rcx, str.called__Option::unwrap____on_a__None__valuecalled__Result::unwrap____on_an__Err__value
lea r8, [0x1404baca8]
jmp 0x14001b96d
lea rcx, str.called__Option::unwrap____on_a__None__valuecalled__Result::unwrap____on_an__Err__value
lea r8, [0x1404bacc0]
mov edx, 0x2b
call fcn.1403af950
ud2