Function at 0x1800293b0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1b0]
sub rsp, 0x2b0
mov rax, qword [0x18006e218]
xor rax, rsp
mov qword [rbp + 0x1a0], rax
mov dword [rsp + 0x70], r9d
mov qword [rbp - 0x70], r8
mov qword [rbp - 0x60], rdx
mov r10, rcx
mov qword [rsp + 0x68], rcx
mov r8, qword [rbp + 0x210]
mov qword [rbp - 0x80], r8
mov rdx, qword [rbp + 0x218]
mov qword [rsp + 0x60], rdx
movdqa xmm0, xmmword [0x180067550]
movdqa xmmword [rbp - 0x10], xmm0
mov byte [rbp - 0x20], 0
movdqa xmm1, xmm0
movdqa xmmword [rbp + 0x10], xmm0
mov byte [rbp], 0
movdqa xmmword [rbp + 0x30], xmm0
mov byte [rbp + 0x20], 0
movdqa xmmword [rbp + 0x50], xmm0
mov byte [rbp + 0x40], 0
mov ebx, r9d
mov dword [rsp + 0x50], ebx
lea edi, [r9 + 0xb]
mov dword [rsp + 0x40], edi
lea rcx, [0x180000000]
mov r14d, 7
mov esi, dword [rsp + 0x48]
mov r11d, dword [rsp + 0x38]
mov dword [rsp + 0x58], r11d
cmp r9d, edi
mov edi, dword [rsp + 0x38]
jae 0x180029920
movsxd r15, dword [rsp + 0x38]
lea r13d, [r9 - 0x41]
mov rcx, qword [rbp - 0x70]
mov qword [rsp + 0x30], rcx
mov r12, qword [rbp - 0x68]
mov eax, dword [rsp + 0x40]
lea r9, [0x18006f950]
cmp r13d, 0x24
ja case.default.0x1800294b9
lea r11, [0x180000000]
movzx eax, byte [r11 + r13 + 0x29d18]
mov ecx, dword [r11 + rax*4 + 0x29ce8]
add rcx, r11
jmp rcx
cmp qword [r10 + 0x1a], 0
je 0x180029874
lea r8, [r10 + 0xa]
mov dword [rsp + 0x20], 0x1c
xor r9d, r9d
lea rdx, [rbp - 0x20]
xor ecx, ecx
call fcn.18003f100
mov rcx, qword [rsp + 0x68]
movzx eax, word [rcx + 8]
mov word [rsp + 0x50], ax
mov r9d, 0x5e
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x20]
mov rcx, qword [rsp + 0x60]
call fcn.18001d280
mov byte [rsp + 0x48], al
mov esi, dword [rsp + 0x48]
jmp 0x1800296ec
mov eax, dword [rbp + 0x80]
mov dword [rsp + 0x58], eax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor edx, edx
mov r8d, 0xdb
lea rcx, [rbp + 0x120]
call fcn.180030ab0
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x50], eax
xor r8d, r8d
lea edx, [r8 + 0x68]
lea rcx, [rsp + 0x50]
call fcn.1800401b0
test eax, eax
jne 0x180029889
mov ecx, 0x100
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r9, rax
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x40]
mov r10, qword [rsp + 0x68]
mov r8, qword [rbp - 0x80]
mov rdx, qword [rsp + 0x60]
jmp 0x180029703
mov rdi, qword [rbp - 0x70]
test rdi, rdi
jne 0x1800295be
mov dword [rsp + 0x50], edi
lea r9, [0x180062423]
lea r8, [rsp + 0x50]
mov edx, 0xa8
lea rcx, str.vcBd_tc
call fcn.1800175c0
mov r10, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x60]
cmp dword [rdi], 1
jne 0x180029883
mov ecx, 0x7c
nop dword [rax]
mov eax, ecx
sub eax, 0x7c
je 0x18002960f
sub eax, 1
je 0x1800295f0
cmp eax, 1
jne 0x180029616
imul rax, r15, 0x38
mov dword [rax + r12 + 0x14], 0
jmp 0x180029616
imul rax, r15, 0x38
mov dword [rax + r12], r14d
lea r8, [rbp + 0x120]
mov qword [rax + r12 + 8], r8
mov dword [rax + r12 + 0x10], 0x20
jmp 0x180029616
xor r15d, r15d
lea r12, [rbp + 0x70]
inc ecx
cmp ecx, 0x7f
jb 0x1800295d0
mov dword [rsp + 0x38], 1
mov dword [rsp + 0x50], 1
mov eax, dword [rdx]
mov dword [rsp + 0x78], eax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r10
lea r9, [rbp + 0x70]
mov r8d, 0xa9
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x38]
call fcn.180056a80
mov edi, eax
test eax, eax
jne 0x1800298e7
jmp 0x1800296ec
test r10, r10
jne 0x180029695
mov dword [rsp + 0x38], r10d
lea r9, [0x180062423]
lea r8, [rsp + 0x38]
mov edx, 0xa8
lea rcx, str.Informacja
call fcn.1800175c0
mov r8, qword [rbp - 0x80]
cmp qword [rbp - 0x60], 0
jne 0x1800296c5
mov dword [rsp + 0x38], 0
lea r9, [0x180062423]
lea r8, [rsp + 0x38]
mov edx, 0xa8
lea rcx, str.BC_TARGET_5
call fcn.1800175c0
mov r8, qword [rbp - 0x80]
test r8, r8
jne 0x1800296f0
mov dword [rsp + 0x38], r8d
lea r9, [0x180062423]
lea r8, [rsp + 0x38]
mov edx, 0xa8
lea rcx, str.GrabValidEdges
call fcn.1800175c0
mov r8, qword [rbp - 0x80]
mov r10, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x60]
mov eax, dword [rsp + 0x40]
mov r9, qword [rsp + 0x30]
inc ebx
mov dword [rsp + 0x50], ebx
inc r13d
cmp ebx, eax
jb 0x18002948d
mov r11d, dword [rsp + 0x58]
lea rcx, [0x180000000]
mov ebx, dword [rsp + 0x70]
lea eax, [rbx - 0xb]
mov dword [rsp + 0x48], eax
cmp ebx, eax
jbe case.0x18002976d.55
movsxd rdx, dword [rsp + 0x38]
mov qword [rsp + 0x50], rdx
movsxd r13, dword [rsp + 0x38]
mov r15, qword [rbp - 0x68]
mov r12, qword [rbp - 0x68]
nop word [rax + rax]
lea eax, [rbx - 0x37]
cmp eax, 0xa
ja case.default.0x18002976d
mov ecx, dword [rcx + rax*4 + 0x29d40]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov esi, 0xffffffff
mov dword [rsp + 0x48], esi
jmp case.0x1800294b9.3
xor ebx, ebx
nop dword [rax]
mov ecx, ebx
shl rcx, 7
add rcx, r9
mov r8d, 0x80
mov rdx, r10
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1800298e9
inc ebx
cmp ebx, 0x20
mov r10, qword [rsp + 0x68]
lea r9, [0x18006f950]
jl 0x180029780
xor ebx, ebx
lea rdx, [0x18006f950]
mov rax, rdx
lea rcx, [0x180070950]
cmp qword [rax], 0
je 0x18002988e
inc ebx
sub rax, 0xffffffffffffff80
cmp rax, rcx
jl 0x1800297c5
mov ebx, dword [rsp + 0x50]
mov r8, qword [rbp - 0x80]
jmp 0x1800296f5
test r10, r10
jne case.0x1800294b9.3
mov dword [rsp + 0x38], r10d
lea r9, [0x180062423]
lea r8, [rsp + 0x38]
mov edx, 0xa8
lea rcx, str.cd_to_parent
jmp 0x1800296e7
dec dword [r10 + 0xc]
jmp case.0x1800294b9.3
mov ecx, dword [r10 + 0xc]
movsxd rax, dword [rdx]
cmp eax, ecx
jge case.0x18002976d.55
lea edx, [rax + 1]
cmp edx, ecx
jge 0x1800296f5
movsxd rcx, edx
lea r8, [rax*8]
lea r9, [rcx*8]
nop dword [rax + rax]
mov rcx, qword [r10]
mov rax, qword [rcx + r9]
mov qword [rcx + r8], rax
lea r8, [r8 + 8]
inc edx
lea r9, [r9 + 8]
cmp edx, dword [r10 + 0xc]
jl 0x180029850
mov r8, qword [rbp - 0x80]
jmp 0x1800296f5
mov byte [rsp + 0x48], 0
mov r14d, dword [rsp + 0x48]
mov edi, r14d
jmp 0x1800298e7
mov r14d, 0xf
mov edi, r14d
jmp 0x1800298e7
movsxd rax, ebx
shl rax, 7
movups xmm0, xmmword [r10]
movups xmmword [rax + rdx], xmm0
movups xmm1, xmmword [r10 + 0x10]
movups xmmword [rax + rdx + 0x10], xmm1
movups xmm0, xmmword [r10 + 0x20]
movups xmmword [rax + rdx + 0x20], xmm0
movups xmm1, xmmword [r10 + 0x30]
movups xmmword [rax + rdx + 0x30], xmm1
movups xmm0, xmmword [r10 + 0x40]
movups xmmword [rax + rdx + 0x40], xmm0
movups xmm1, xmmword [r10 + 0x50]
movups xmmword [rax + rdx + 0x50], xmm1
movups xmm0, xmmword [r10 + 0x60]
movups xmmword [rax + rdx + 0x60], xmm0
movups xmm1, xmmword [r10 + 0x70]
movups xmmword [rax + rdx + 0x70], xmm1
jmp 0x1800298e9
mov edi, esi
mov ebx, edi
mov esi, ebx
lea rcx, [rbp - 0x20]
call fcn.180004ec0
mov eax, esi
mov rcx, qword [rbp + 0x1a0]
xor rcx, rsp
call fcn.18005b930
mov rbx, qword [rsp + 0x308]
add rsp, 0x2b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r9, qword [rbp - 0x70]
mov qword [rsp + 0x30], r9
jmp 0x180029720
mov ecx, 0x112
mov eax, ecx
sub eax, 0x111
je 0x18002995f
cmp eax, 1
jne 0x180029970
lea edx, [rax + 1]
lea rax, [rbp + 0x70]
mov qword [rbp - 0x68], rax
mov dword [rbp + 0xe0], 5
mov qword [rbp + 0xe8], r15
jmp 0x180029970
imul rax, rdx, 0x38
mov r8, qword [rbp - 0x68]
mov qword [rax + r8 + 0x10], 0x80
dec ecx
cmp ecx, 0x110
ja 0x180029933
mov qword [rsp + 0x50], rdx
mov dword [rsp + 0x70], 1
mov dword [rsp + 0x38], 3
mov rax, qword [rsp + 0x60]
mov eax, dword [rax]
mov dword [rsp + 0x78], eax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r10
lea r9, [rbp + 0x70]
mov r8d, 0xa9
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x70]
call fcn.180056a80
mov edi, eax
test eax, eax
jne 0x180029c67
mov eax, dword [rbp + 0xb8]
mov dword [rsp + 0x38], eax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x20], rax
mov r9, qword [rbp + 0xb0]
lea r8, [rsp + 0x38]
xor edx, edx
mov ecx, 0xcc
call fcn.1800312d0
mov rdi, rax
test eax, eax
jne 0x180029c67
mov r9, qword [rsp + 0x30]
dec ebx
mov dword [rsp + 0x70], ebx
cmp ebx, dword [rsp + 0x48]
jbe case.0x18002976d.55
mov rdx, qword [rsp + 0x50]
mov r10, qword [rsp + 0x68]
mov r8, qword [rbp - 0x80]
mov r11d, dword [rsp + 0x58]
lea rcx, [0x180000000]
jmp 0x180029750
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov esi, edi
jmp 0x180029a02
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x38], r11d
lea rax, [rsp + 0x38]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x6a
mov r9, r12
lea r8, [rbp - 0x78]
mov rdx, r12
lea rcx, [rsp + 0x78]
call fcn.18004ec40
mov edi, eax
test eax, eax
jne 0x180029c67
mov eax, dword [rbp + 0xf0]
cmp eax, dword [rbp - 0x78]
jbe 0x180029aa6
mov edi, r14d
mov r9, qword [rsp + 0x30]
mov ebx, 0x3b
jmp case.default.0x18002976d
mov r8, qword [rbp - 0x80]
cmp dword [r8], eax
jae 0x180029ac4
mov dword [r8], eax
mov edi, 6
mov r9, qword [rsp + 0x30]
lea ebx, [rdi + 0x35]
jmp case.default.0x18002976d
mov dword [rsp + 0x4c], 0
test eax, eax
je 0x180029a02
mov rdx, qword [rbp - 0x60]
nop dword [rax + rax]
mov ecx, dword [rsp + 0x4c]
movzx eax, byte [rcx + r12]
xor al, byte [rcx + r15]
mov byte [rcx + rdx], al
mov eax, dword [rsp + 0x4c]
inc eax
mov dword [rsp + 0x4c], eax
cmp eax, dword [rbp + 0xf0]
jb 0x180029ae0
jmp 0x180029a02
mov qword [rsp + 0x38], 0x100
mov r8d, 0x87
lea rdx, [rsp + 0x38]
mov rcx, r9
call fcn.1800208b0
jmp 0x180029a02
mov eax, dword [rsp + 0x4c]
mov dword [r8], eax
xor edi, edi
lea ebx, [rdi + 0x3b]
jmp case.default.0x18002976d
mov ecx, 0x100
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r12, rax
mov ecx, 0x80
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r15, rax
mov r9, qword [rsp + 0x30]
test r9, r9
je 0x180029b6d
test r12, r12
je 0x180029b6d
test rax, rax
jne case.default.0x18002976d
mov ebx, 0x10d
mov eax, ebx
sub eax, 0x10d
je 0x180029baf
sub eax, 1
je 0x180029b97
sub eax, 1
je 0x180029b90
cmp eax, 1
je case.0x18002976d.55
jmp 0x180029bbd
mov esi, 0xd
jmp 0x180029bbd
test r12, r12
je 0x180029ba5
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test r15, r15
je 0x180029bbd
mov rcx, r15
jmp 0x180029bb7
test r9, r9
je 0x180029bbd
mov rcx, r9
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
inc ebx
cmp ebx, 0x111
mov r9, qword [rsp + 0x30]
jb 0x180029b72
mov ebx, dword [rsp + 0x70]
jmp case.default.0x18002976d
mov qword [rsp + 0x38], 0x100
mov r8d, 0x87
lea rdx, [rsp + 0x38]
mov rcx, r12
call fcn.1800208b0
mov qword [rsp + 0x38], 0x80
mov r8d, 0x87
lea rdx, [rsp + 0x38]
mov rcx, r15
call fcn.1800208b0
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x180029a02
mov dword [rsp + 0x4c], 0x100
lea rax, [rbp - 0x58]
mov qword [rsp + 0x20], rax
mov r9, qword [rbp - 0x70]
mov r8d, 0x29
lea rdx, [rsp + 0x4c]
mov rcx, r12
call fcn.180059460
mov edi, eax
mov qword [rsp + 0x20], 0
mov r9d, 0x13
lea r8, [rbp - 0x58]
xor edx, edx
xor ecx, ecx
test eax, eax
je 0x180029c76
call fcn.18003cc30
mov r9, qword [rsp + 0x30]
mov ebx, 0x3b
jmp case.default.0x18002976d
call fcn.18003cc30
jmp 0x180029a02
mov ecx, 0x30
cmp ecx, 0x30
je 0x180029cbf
cmp ecx, 0x47
je 0x180029ca8
cmp ecx, 0x5e
jne 0x180029cce
imul rax, r13, 0x38
mov rdx, qword [rsp + 0x40]
mov qword [rax + rdx + 0x10], 0x100
jmp 0x180029cce
imul rax, r13, 0x38
mov rdx, qword [rsp + 0x40]
mov dword [rax + rdx], 5
mov qword [rax + rdx + 8], r9
jmp 0x180029cce
mov r13d, 1
lea rax, [rbp + 0x70]
mov qword [rsp + 0x40], rax
add ecx, 0x17
cmp ecx, 0x75
jb 0x180029c85
jmp case.default.0x18002976d
mov dword [rbp - 0x78], 0x80
jmp case.default.0x18002976d