Function at 0x180036810
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1c0]
sub rsp, 0x2d0
mov rax, qword [0x1800791a8]
xor rax, rsp
mov qword [rbp + 0x1b0], rax
mov rax, qword [rbp + 0x220]
mov r11, r9
mov r10, qword [rbp + 0x228]
mov r14d, dword [rbp - 0x70]
mov esi, dword [rbp - 0x70]
mov ebx, dword [rbp - 0x70]
mov qword [rbp + 0x20], r8
lea r8d, [rcx + 0xb]
mov qword [rbp - 0x18], r9
mov r9, rdx
mov qword [rbp - 0x10], rdx
mov edx, ecx
mov dword [rbp - 0x54], ecx
mov qword [rbp + 0x18], rax
mov qword [rbp - 0x20], r10
mov dword [rbp - 0x80], ecx
mov dword [rbp - 0x78], r8d
mov qword [rbp], r14
cmp ecx, r8d
jae 0x180036c7a
mov rax, qword [rbp - 0x28]
lea edi, [rcx - 0xf5]
movsxd r12, dword [rbp - 0x48]
mov r15, qword [rbp + 0x30]
mov r13, qword [rbp + 0x30]
mov qword [rbp - 0x40], rax
mov rax, qword [rbp - 0x28]
mov qword [rbp - 0x38], rax
mov rax, qword [rbp - 0x28]
mov qword [rbp - 0x60], rax
mov dword [rbp - 0x68], edi
nop dword [rax]
cmp edi, 0x17
ja case.0x1800368e1.7
lea rcx, [0x180000000]
mov ecx, dword [rcx + rdi*4 + 0x37334]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
test r10, r10
je 0x180036c66
mov rax, qword [r10]
cmp qword [r11], rax
ja 0x1800368fd
cmp qword [r9], rax
jbe case.0x1800368e1.7
mov eax, 6
jmp 0x180036a37
mov r8d, 0x6b
mov dword [rbp - 0x68], r14d
lea rdx, [rbp - 0x68]
xor ecx, ecx
call fcn.180056ff0
test eax, eax
je 0x180036c31
mov eax, 7
jmp 0x180036a37
mov ecx, 0x100
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov ecx, 0x80
mov qword [rbp - 0x40], rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rbp - 0x38], rax
jmp 0x180036c31
test r10, r10
jne case.0x1800368e1.7
mov dword [rbp - 0x68], r10d
lea rax, str.minps
lea r9, [rbp - 0x68]
jmp 0x180036c18
mov eax, dword [r11]
lea r9, [rbp - 0x70]
mov dword [rbp - 0x70], eax
lea rdx, [rbp + 0x80]
lea rax, [rbp - 0x68]
mov dword [rbp - 0x30], 1
mov qword [rsp + 0x28], rax
mov r8, r10
lea rax, [rbp - 0x30]
mov dword [rbp - 0x68], 1
mov ecx, 0x122
mov qword [rsp + 0x20], rax
call fcn.180029510
mov ebx, eax
test eax, eax
jne 0x180036a37
mov eax, dword [rbp + 0x90]
lea r9, [rbp + 0x130]
mov dword [rbp - 0x70], eax
xor r8d, r8d
lea rax, [rbp - 0x70]
mov qword [rsp + 0x28], 0
xor edx, edx
mov qword [rsp + 0x20], rax
mov ecx, 0xb3
call fcn.18003a430
mov r14, rax
mov qword [rbp], rax
jmp 0x180036c31
test r10, r10
je 0x180036c66
test r11, r11
je 0x180036c5c
mov r15, 0xffffffffffffffff
nop dword [rax]
inc r15
cmp byte [r11 + r15], 0
jne 0x180036a10
inc r15
jmp case.0x1800368e1.7
mov edi, 0x94
mov eax, edi
sub eax, 0x94
je 0x180036a61
cmp eax, 0x77
jne 0x180036a9b
mov eax, esi
mov rcx, qword [rbp + 0x1b0]
xor rcx, rsp
call fcn.180068d70
mov rbx, qword [rsp + 0x310]
add rsp, 0x2d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rdx, qword [rbp - 0x18]
mov r8, r15
mov rcx, rax
mov qword [rbp - 0x28], rax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov rdx, qword [rbp - 0x20]
lea r9, [rbp - 0x28]
mov rcx, qword [rbp - 0x10]
add rdx, 8
mov r8d, 0x53
call fcn.180039490
mov esi, eax
add edi, 0x77
cmp edi, 0x182
jb 0x180036a27
mov r10, qword [rbp - 0x20]
mov r11, qword [rbp - 0x18]
mov r9, qword [rbp - 0x10]
mov edi, 0x22
cmp edi, 0x22
je 0x180036ac8
cmp edi, 0x39
jne 0x180036af0
xor eax, eax
jmp 0x180036a37
mov rdx, qword [r11]
xor r8d, r8d
shl rdx, 5
mov ecx, 0x130
add rdx, qword [r10 + 0x18]
mov qword [rsp + 0x20], r9
xor r9d, r9d
call fcn.180067b80
mov r10, qword [rbp - 0x20]
inc qword [r10 + 8]
mov r11, qword [rbp - 0x18]
add edi, 0x17
mov r9, qword [rbp - 0x10]
cmp edi, 0x50
jb 0x180036ab7
mov edi, dword [rbp - 0x68]
mov ecx, 0x100
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov edx, dword [rbp - 0x80]
mov r9, rax
mov r8d, dword [rbp - 0x78]
mov qword [rbp - 0x60], rax
jmp 0x180036c3c
mov rax, qword [rbp + 0x20]
test rax, rax
jne 0x180036b5a
xor edx, edx
mov dword [rbp - 0x70], eax
lea rax, str.LD2i16_POST
lea r9, [rbp - 0x70]
mov qword [rsp + 0x20], rax
lea rcx, [0x18006d014]
lea r8d, [rdx + 0x33]
call fcn.18002d470
mov edx, dword [rbp - 0x80]
mov r8d, dword [rbp - 0x78]
mov rax, qword [rbp + 0x20]
cmp dword [rax], 1
jne 0x180036c70
mov ecx, 0x11
mov eax, ecx
sub eax, 0x11
je 0x180036bb6
sub eax, 0x4c
je 0x180036ba8
sub eax, 0x4c
je 0x180036b8d
cmp eax, 0x4c
jne 0x180036bc0
imul rax, r12, 0x38
mov dword [rax + r13 + 0x14], 0
jmp 0x180036bc0
imul rax, r12, 0x38
lea r9, [rbp + 0x130]
mov qword [rax + r13 + 8], r9
mov dword [rax + r13 + 0x10], 0x20
jmp 0x180036bc0
imul rax, r12, 0x38
mov dword [rax + r13], 7
jmp 0x180036bc0
xor r12d, r12d
lea r13, [rbp + 0x80]
add ecx, 0x4c
cmp ecx, 0x141
jb 0x180036b68
jmp case.0x1800368e1.7
test r9, r9
jne 0x180036bff
xor edx, edx
mov dword [rbp - 0x70], r9d
lea rax, str.Write_CD_RW
lea r9, [rbp - 0x70]
mov qword [rsp + 0x20], rax
lea rcx, [0x18006d014]
lea r8d, [rdx + 0x33]
call fcn.18002d470
mov edx, dword [rbp - 0x80]
mov r8d, dword [rbp - 0x78]
cmp qword [rbp + 0x18], 0
jne case.0x1800368e1.7
mov dword [rbp - 0x70], 0
lea rax, str.LeftFootIndex3
lea r9, [rbp - 0x70]
mov r8d, 0x33
mov qword [rsp + 0x20], rax
xor edx, edx
lea rcx, [0x18006d014]
call fcn.18002d470
mov edx, dword [rbp - 0x80]
mov r8d, dword [rbp - 0x78]
mov r9, qword [rbp - 0x60]
mov r10, qword [rbp - 0x20]
inc edx
mov r11, qword [rbp - 0x18]
inc edi
mov dword [rbp - 0x80], edx
mov dword [rbp - 0x68], edi
cmp edx, r8d
jae 0x180036c94
mov r9, qword [rbp - 0x10]
jmp 0x1800368c0
mov eax, 0xe
jmp 0x180036a37
mov eax, 1
jmp 0x180036a37
mov eax, 0xf
jmp 0x180036a37
mov r12, qword [rbp - 0x28]
mov r15, qword [rbp - 0x28]
mov r9, qword [rbp - 0x28]
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x38], r15
mov qword [rbp - 0x60], r9
jmp 0x180036c9f
mov r12, qword [rbp - 0x40]
mov r15, qword [rbp - 0x38]
mov ecx, dword [rbp - 0x54]
lea eax, [rcx - 0xb]
mov dword [rbp - 0x48], eax
cmp ecx, eax
jbe case.0x180036cf6.235
movsxd rdx, dword [rbp - 0x48]
movsxd r8, dword [rbp - 0x48]
mov edi, dword [rbp - 0x78]
mov r13d, dword [rbp - 0x48]
mov eax, dword [rbp - 0x54]
mov qword [rbp + 0x28], rdx
mov qword [rbp + 0x38], r8
nop word [rax + rax]
add eax, 0xffffff15
cmp eax, 0xa
ja case.default.0x180036cf6
lea rcx, [0x180000000]
mov ecx, dword [rcx + rax*4 + 0x37394]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
cmp dword [rbp + 0x100], 0
mov dword [rbp - 0x58], 0
jbe 0x180036d2f
mov rdx, qword [rbp - 0x10]
nop dword [rax]
mov ecx, dword [rbp - 0x58]
movzx eax, byte [rcx + r15]
xor al, byte [rcx + r12]
mov byte [rcx + rdx], al
mov eax, dword [rbp - 0x58]
inc eax
mov dword [rbp - 0x58], eax
cmp eax, dword [rbp + 0x100]
jb 0x180036d10
mov rcx, qword [rbp + 0x18]
xor ebx, ebx
mov eax, dword [rbp - 0x58]
mov dword [rcx], eax
jmp case.default.0x180036cf6
mov esi, ebx
jmp case.default.0x180036cf6
mov edx, 0x49
lea rcx, [rbp + 0x48]
call fcn.180007e00
jmp case.default.0x180036cf6
mov r12d, dword [rbp - 0x58]
mov r15d, 0x80
mov dword [rbp - 0x80], r14d
mov ebx, 0x97
nop dword [rax]
cmp ebx, 0x8d2a
ja 0x180036e6a
je 0x180036ffd
mov eax, ebx
sub eax, 0x41
je 0x180036f90
sub eax, 0x31
je 0x180036f7c
sub eax, 0x25
je 0x180036e31
sub eax, 0x4637
je 0x180036e0f
cmp eax, 0x16fb
jne 0x180036f7c
cmp qword [rbp - 0x40], 0
jne 0x180036de1
xor edx, edx
mov dword [rbp - 0x70], 0
lea rax, str.XML_Doc_Tag
lea r9, [rbp - 0x70]
mov qword [rsp + 0x20], rax
lea rcx, [0x18006d014]
lea r8d, [rdx + 0x33]
call fcn.18002d470
mov eax, dword [rbp - 0x80]
lea rdx, [rbp - 0x30]
mov r8d, 0x6b
mov dword [rbp - 0x30], eax
xor ecx, ecx
call fcn.180056ff0
mov r13d, eax
test eax, eax
je 0x180036f7c
mov edi, eax
mov dword [rbp - 0x78], eax
mov ebx, eax
jmp 0x180036fff
xor r9d, r9d
mov dword [rsp + 0x20], 0x2d
lea r8, [rbp - 0x80]
xor edx, edx
xor ecx, ecx
call fcn.180049030
mov edi, eax
mov dword [rbp - 0x78], eax
jmp 0x180036f7c
cmp qword [rbp - 0x40], 0
jne 0x180036f7c
xor edx, edx
mov dword [rbp - 0x68], 0
lea rax, str.o__j0jj
lea r9, [rbp - 0x68]
mov qword [rsp + 0x20], rax
lea rcx, [0x18006d014]
lea r8d, [rdx + 0x33]
call fcn.18002d470
jmp 0x180036f7c
cmp ebx, 0xbafb
je 0x180036f4e
cmp ebx, 0x1182d
je 0x180036e9b
cmp ebx, 0x1755f
je 0x180036f19
cmp ebx, 0x1d291
je 0x180036ffd
jmp 0x180036f7c
movsxd rax, dword [rbp - 0x80]
lea rdx, [0x180000000]
mov rcx, qword [rbp - 8]
shl rax, 7
call qword [rax + rdx + 0x7a938]
mov r13d, eax
test eax, eax
jne 0x180036f19
movsxd rax, dword [rbp - 0x80]
lea r9, [0x180000000]
mov rdx, qword [rbp - 0x40]
mov r8d, r12d
mov rcx, qword [rbp - 8]
shl rax, 7
call qword [rax + r9 + 0x7a940]
mov r13d, eax
test eax, eax
jne 0x180036f19
movsxd rax, dword [rbp - 0x80]
lea r15, [0x180000000]
mov rdx, qword [rbp - 0x40]
mov rcx, qword [rbp - 8]
shl rax, 7
call qword [rax + r15 + 0x7a948]
mov r13d, eax
movsxd rax, dword [rbp - 0x80]
shl rax, 7
mov r15d, dword [rax + r15 + 0x7a8ec]
jmp 0x180036f7c
mov r8, qword [rbp - 8]
lea rdx, [rbp - 0x50]
mov r9d, 0x99
mov qword [rbp - 0x50], 8
xor ecx, ecx
mov ebx, 0x1755f
call fcn.180015650
mov rcx, qword [rbp - 8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov edi, r13d
mov dword [rbp - 0x78], r13d
jmp 0x180036f7c
movsxd rax, dword [rbp - 0x80]
lea rcx, [0x180000000]
shl rax, 7
cmp r15d, dword [rax + rcx + 0x7a8ec]
jb 0x180036fe5
mov ecx, 8
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rbp - 8], rax
cmp rax, 0
je 0x180036fde
add ebx, 0x5d32
cmp ebx, 0x3a3f4
jbe 0x180036d70
jmp 0x180036ffd
xor eax, eax
xor r9d, r9d
mov qword [rsp + 0x28], rax
xor r8d, r8d
xor ecx, ecx
mov qword [rsp + 0x20], rax
lea edx, [rax + 0x72]
call fcn.1800064a0
xor r8d, r8d
lea rdx, [rbp - 0x80]
test al, al
jne 0x180036fc9
mov ecx, 0x86
call fcn.18003df30
mov byte [rbp - 0x78], al
mov edi, dword [rbp - 0x78]
jmp 0x180036ffd
mov r9d, 0x9e
xor ecx, ecx
call fcn.18001aec0
mov byte [rbp - 0x78], al
mov edi, dword [rbp - 0x78]
jmp 0x180036ffd
mov edi, 0xd
jmp 0x180036ffa
movsxd rax, dword [rbp - 0x80]
mov edi, 6
shl rax, 7
mov r15d, dword [rax + rcx + 0x7a8ec]
mov dword [rbp - 0x78], edi
mov ebx, edi
mov r12, qword [rbp - 0x40]
test ebx, ebx
jne 0x1800372a7
cmp dword [rbp + 0x100], r15d
mov r15, qword [rbp - 0x38]
jbe case.default.0x180036cf6
mov ebx, 7
jmp case.0x180036cf6.238
mov rcx, r9
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
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]
jmp case.default.0x180036cf6
mov rcx, qword [rbp + 0x18]
mov eax, dword [rbp + 0x100]
cmp dword [rcx], eax
jae case.default.0x180036cf6
mov dword [rcx], eax
mov ebx, 6
jmp case.0x180036cf6.238
test r9, r9
je 0x180037073
test r12, r12
je 0x180037073
test r15, r15
jne 0x1800370e4
mov r15d, 0x7a
nop dword [rax]
cmp r15d, 0x7a
je 0x180037095
cmp r15d, 0x11b
je case.0x180036cf6.235
jmp 0x1800370cc
test r9, r9
je 0x1800370a3
mov rcx, r9
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test r12, r12
je 0x1800370b1
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [rbp - 0x38]
test rax, rax
je 0x1800370c3
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r9, qword [rbp - 0x60]
mov esi, 0xd
add r15d, 0xa1
cmp r15d, 0x1bc
jb 0x180037080
mov rdx, qword [rbp + 0x28]
mov r15, qword [rbp - 0x38]
mov r14, qword [rbp + 0x40]
mov ecx, 0x66
nop dword [rax]
cmp ecx, 0x66
je 0x180037134
cmp ecx, 0xef
je 0x180037114
cmp ecx, 0x178
jne 0x180037139
imul rax, rdx, 0x38
mov qword [rax + r14 + 0x10], 0x100
jmp 0x180037139
imul rax, rdx, 0x38
lea r14, [rbp + 0x80]
mov dword [rbp + rax + 0x80], 5
mov qword [rbp + rax + 0x88], r9
jmp 0x180037139
mov edx, 1
add ecx, 0x89
cmp ecx, 0x201
jb 0x1800370f0
mov qword [rbp + 0x40], r14
mov r14, qword [rbp]
mov qword [rbp + 0x28], rdx
jmp case.default.0x180036cf6
mov r14, qword [rbp + 0x30]
mov ecx, 0x4f
mov eax, ecx
sub eax, 0x4e
je 0x18003718b
cmp eax, 1
jne 0x180037198
lea r8d, [rax + 1]
mov dword [rbp + 0xf0], 5
lea r14, [rbp + 0x80]
mov qword [rbp + 0xf8], r15
jmp 0x180037198
imul rax, r8, 0x38
mov qword [rax + r14 + 0x10], 0x80
dec ecx
cmp ecx, 0x4d
ja 0x180037161
mov qword [rbp + 0x30], r14
mov r14, qword [rbp]
mov qword [rbp + 0x38], r8
jmp case.default.0x180036cf6
mov eax, dword [r11]
lea r9, [rbp - 0x50]
mov dword [rbp - 0x50], eax
lea rdx, [rbp + 0x80]
lea rax, [rbp + 8]
mov dword [rbp + 0x10], 1
mov qword [rsp + 0x28], rax
mov r8, r10
lea rax, [rbp + 0x10]
mov dword [rbp + 8], 3
mov ecx, 0x122
mov qword [rsp + 0x20], rax
call fcn.180029510
mov ebx, eax
test eax, eax
jne case.0x180036cf6.238
mov eax, dword [rbp + 0xc8]
lea r8, [rbp - 0x50]
mov rdx, qword [rbp + 0xc0]
lea rcx, [rbp + 0x48]
xor r9d, r9d
mov dword [rbp - 0x50], eax
mov dword [rsp + 0x20], 0xfb
call fcn.180028e10
mov ebx, eax
test eax, eax
jne case.0x180036cf6.238
mov r8, qword [rbp + 0x20]
lea rax, [rbp - 0x58]
mov qword [rsp + 0x80], r12
xor ecx, ecx
mov qword [rsp + 0x78], rcx
xor r9d, r9d
mov qword [rsp + 0x70], rcx
xor edx, edx
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x60], rax
lea rax, [rbp + 0x48]
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], rcx
mov dword [rsp + 0x38], 0xe0
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rcx
mov dword [rbp - 0x58], 0x100
call fcn.18002a990
mov rbx, rax
test eax, eax
je case.default.0x180036cf6
mov edx, 0x49
lea rcx, [rbp + 0x48]
call fcn.180007e00
jmp case.0x180036cf6.238
mov r15, qword [rbp - 0x38]
mov r8, qword [rbp - 0x60]
lea rdx, [rbp - 0x50]
mov r9d, 0x99
mov dword [rbp - 0x54], 0xee
xor ecx, ecx
mov qword [rbp - 0x50], 0x100
call fcn.180015650
mov r9d, 0x99
mov qword [rbp - 0x50], 0x100
mov r8, r12
lea rdx, [rbp - 0x50]
xor ecx, ecx
call fcn.180015650
mov r9d, 0x99
mov qword [rbp - 0x50], 0x80
mov r8, r15
lea rdx, [rbp - 0x50]
xor ecx, ecx
call fcn.180015650
mov eax, dword [rbp - 0x54]
dec eax
mov dword [rbp - 0x54], eax
cmp eax, dword [rbp - 0x48]
jbe case.0x180036cf6.235
mov rdx, qword [rbp + 0x28]
mov r8, qword [rbp + 0x38]
mov r10, qword [rbp - 0x20]
mov r9, qword [rbp - 0x60]
mov r11, qword [rbp - 0x18]
jmp 0x180036cd0