Function at 0x180051a30
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0xf8
mov edi, dword [rbp + 0x57]
lea eax, [rdx + 0xaf5]
mov dword [rbp - 0x55], eax
mov rsi, r8
mov r13d, edx
mov r8, rcx
cmp edx, eax
ja 0x180051dd8
mov r12d, dword [rbp + 0x57]
mov r15, qword [rbp - 0x71]
mov ebx, dword [rbp + 0x57]
mov r14, qword [rbp + 0x77]
mov r10, qword [rbp + 0x7f]
lea r11, [0x1800a2830]
cmp r13d, 0xc9c
ja 0x180051f38
je 0x180051e84
cmp r13d, 0xb89
ja 0x180051c98
je 0x180051c86
mov eax, r13d
sub eax, 0xa76
je 0x180051c30
sub eax, 0x37
je 0x180051bf4
sub eax, 0x37
je 0x180051b60
sub eax, 0x37
je 0x180051b3a
cmp eax, 0x37
jne 0x1800520c1
mov eax, dword [r9]
mov r8d, 0x1bf0
mov rdx, qword [rbp + 0x6f]
lea r9, [rbp + 0x57]
mov dword [rbp + 0x57], eax
lea rax, [rbp - 0x39]
mov qword [rsp + 0x20], rax
mov rax, qword [rbp + 0x87]
mov rcx, qword [rax + 8]
call fcn.18000abc0
mov ebx, eax
test eax, eax
jne 0x180051dda
mov ecx, 0x100
call fcn.180064534
mov ecx, 0x100
mov qword [rbp - 0x79], rax
call fcn.180064534
mov qword [rbp - 0x71], rax
jmp 0x1800520c1
mov rax, qword [rbp + 0x8f]
movsxd rax, dword [rax]
shl rax, 7
mov eax, dword [rax + r11 + 0xc]
cmp dword [r8], eax
jbe 0x1800520c1
mov eax, 0xb
jmp 0x180051dda
mov eax, dword [r9]
lea r8, [rbp + 0x57]
mov dword [rsp + 0x58], 0x3604
xor r9d, r9d
mov qword [rsp + 0x50], 0
xor edx, edx
mov qword [rsp + 0x48], 0
xor ecx, ecx
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov dword [rbp + 0x57], eax
call fcn.18004fec0
test eax, eax
jne 0x180051dda
mov rax, qword [rbp + 0x8f]
lea rdx, [rbp + 0x57]
xor r9d, r9d
mov r8d, 0x4743
xor ecx, ecx
mov eax, dword [rax]
mov dword [rbp + 0x57], eax
call fcn.180036dd0
mov ebx, eax
test eax, eax
jne 0x180051dda
jmp 0x1800520c1
test r10, r10
jne 0x180051c19
lea r9, str.Rating:
mov dword [rbp + 0x57], r10d
lea r8, [0x180082820]
mov edx, 0x5836
lea rcx, [rbp + 0x57]
call fcn.18000e4c0
cmp qword [rbp + 0x87], 0
jne 0x1800520c1
lea r9, str.key___NULL
jmp 0x180051c65
test r14, r14
jne 0x180051c55
lea r9, str.Hajdu_Nora
mov dword [rbp + 0x57], r14d
lea r8, [0x180082820]
mov edx, 0x5836
lea rcx, [rbp + 0x57]
call fcn.18000e4c0
test rsi, rsi
jne 0x1800520c1
lea r9, str.Rail_Trails
lea r8, [0x180082820]
mov dword [rbp + 0x57], 0
mov edx, 0x5836
lea rcx, [rbp + 0x57]
call fcn.18000e4c0
jmp 0x1800520c1
mov ecx, 0x80
call fcn.180064534
mov r15, rax
jmp 0x1800520c1
mov eax, r13d
sub eax, 0xbc0
je 0x180051d9d
sub eax, 0x37
je 0x180051d48
sub eax, 0x37
je 0x180051ce8
cmp eax, 0x37
jne 0x1800520c1
xor r12d, r12d
cmp dword [r8], r12d
jbe 0x1800520c1
nop dword [rax]
movzx eax, byte [r12 + r14]
lea rcx, [r12 + r15]
xor byte [rcx], al
inc r12d
cmp r12d, dword [r8]
jb 0x180051cd0
jmp 0x1800520c1
lea r9, [rbp - 0x39]
xor r8d, r8d
mov edx, 0x20a9
xor ecx, ecx
call fcn.18001fa50
mov rax, qword [rbp + 0x8f]
lea r8, [rbp + 0x57]
mov r9, r15
mov dword [rbp + 0x57], 0x80
lea rdx, [rbp - 0x61]
mov dword [rsp + 0x70], r12d
lea rcx, [rsp + 0x70]
mov eax, dword [rax]
mov dword [rbp - 0x61], eax
mov rax, qword [rbp - 0x71]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x2ff3
call fcn.1800374a0
mov ebx, eax
test eax, eax
jne 0x180051efd
jmp 0x1800520c1
mov rax, qword [rbp + 0x87]
lea r9, [rbp + 0x57]
mov rcx, qword [rbp - 0x71]
lea r8, [rbp - 0x39]
mov edx, 0x752b
mov qword [rsp + 0x20], rax
mov dword [rbp + 0x57], 0x100
call fcn.18003ac20
mov rbx, rax
test eax, eax
je 0x180051d94
lea r9, [rbp - 0x39]
xor r8d, r8d
mov edx, 0x20a9
xor ecx, ecx
call fcn.18001fa50
mov r12d, dword [rbp + 0x57]
jmp 0x180051efd
mov r12d, dword [rbp + 0x57]
jmp 0x1800520c1
mov rcx, qword [rbp - 0x79]
mov rsi, qword [rbp - 0x71]
test rcx, rcx
je 0x180051db8
test rsi, rsi
je 0x180051db8
test r15, r15
jne 0x180051e38
mov ebx, 0x104e
nop dword [rax]
mov eax, ebx
sub eax, 0x104e
je 0x180051e1f
sub eax, 0x11
je 0x180051e15
sub eax, 0x11
je 0x180051dee
cmp eax, 0x11
jne 0x180051e2d
mov eax, edi
add rsp, 0xf8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
test r15, r15
je 0x180051dfb
mov rcx, r15
call fcn.18006452c
lea r9, [rbp - 0x39]
xor r8d, r8d
mov edx, 0x20a9
xor ecx, ecx
call fcn.18001fa50
mov edi, 0xd
jmp 0x180051e29
test rsi, rsi
je 0x180051e2d
mov rcx, rsi
jmp 0x180051e24
test rcx, rcx
je 0x180051e2d
call fcn.18006452c
mov rcx, qword [rbp - 0x79]
add ebx, 0x11
cmp ebx, 0x1081
jbe 0x180051dc0
lea rax, [rbp - 0x39]
mov dword [rbp - 0x69], 0x100
mov rdx, rcx
mov qword [rsp + 0x20], rax
lea rcx, [rbp - 0x69]
mov dword [rbp + 0x57], 0
mov r9d, 0x2506
lea r8, [rbp + 0x57]
call fcn.18002fb10
mov ebx, eax
test eax, eax
je 0x1800520c1
lea r9, [rbp - 0x39]
xor r8d, r8d
mov edx, 0x20a9
xor ecx, ecx
call fcn.18001fa50
jmp 0x180051efd
mov rax, qword [rbp + 0x8f]
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x58], 0
movsxd rdx, dword [rax]
mov eax, dword [r8]
mov r8d, 7
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x48], eax
mov rax, qword [rbp - 0x79]
shl rdx, 7
mov dword [rsp + 0x40], 5
mov qword [rsp + 0x38], rax
mov eax, dword [rbp - 0x69]
mov r9d, dword [rdx + r11 + 0x54]
lea rcx, [rdx + 0x14]
add rcx, r11
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], 5
mov rdx, r10
mov qword [rsp + 0x20], rcx
mov rcx, rsi
call fcn.18002db50
mov ebx, eax
mov rax, qword [rbp - 0x79]
mov r13d, 0xc9c
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x70], 0x100
mov r9d, 0x7077
lea rcx, [rsp + 0x70]
xor r8d, r8d
xor edx, edx
call fcn.18001dad0
jmp 0x1800520c1
cmp r13d, 0x2a91
ja 0x180052015
je 0x180051fdf
mov eax, r13d
sub eax, 0xcd3
je 0x180051f93
sub eax, 0x37
je 0x180051f7d
sub eax, 0x37
je 0x180051f6f
cmp eax, 0x37
jne 0x1800520c1
mov eax, ebx
jmp 0x180051dda
mov rcx, qword [rbp - 0x79]
call fcn.18006452c
jmp 0x1800520c1
mov rcx, r15
call fcn.18006452c
mov rcx, qword [rbp - 0x71]
call fcn.18006452c
jmp 0x1800520c1
mov rax, qword [rbp - 0x71]
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x28], 0
mov r9d, 0x7077
xor r8d, r8d
mov qword [rsp + 0x20], rax
xor edx, edx
mov qword [rsp + 0x70], 0x100
call fcn.18001dad0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x70], 0x80
jmp 0x180051f1e
xor r9d, r9d
lea r8, [rbp - 0x51]
mov edx, 0x1d44
xor ecx, ecx
call fcn.1800129b0
test eax, eax
jne 0x180051dda
xor r9d, r9d
xor r8d, r8d
mov edx, 0x7ae9
mov rcx, r14
call fcn.18001e640
mov dword [rbp - 0x59], eax
jmp 0x1800520c1
mov eax, r13d
sub eax, 0x2ac8
je 0x1800520e0
sub eax, 0x37
je 0x18005205b
sub eax, 0x37
je 0x18005203b
cmp eax, 0x37
je 0x180051dd8
jmp 0x1800520c1
mov rax, qword [rbp - 0x41]
lea r9, [rbp - 0x51]
xor edx, edx
mov ecx, dword [rax]
mov dword [r8], ecx
xor ecx, ecx
mov r8d, 0x5623
call fcn.1800490b0
xor edi, edi
jmp 0x1800520c1
mov r8, qword [rbp + 0x77]
lea rdx, [rbp - 0x51]
mov r9d, 0x368f
lea rcx, [rbp - 0x51]
call fcn.18002aff0
mov r14d, eax
test eax, eax
je 0x1800520bd
mov esi, 0x5e1e
nop
mov ecx, esi
sub ecx, 0x5e1e
je 0x18005209f
sub ecx, 0xf
je 0x18005209a
cmp ecx, 0xf
je 0x180051dd8
jmp 0x1800520b2
mov edi, r14d
jmp 0x1800520b2
lea r9, [rbp - 0x51]
xor edx, edx
xor ecx, ecx
mov r8d, 0x5623
call fcn.1800490b0
add esi, 0xf
cmp esi, 0x5e3c
jbe 0x180052080
mov r14, qword [rbp + 0x77]
add r13d, 0x37
cmp r13d, dword [rbp - 0x55]
ja 0x180051dd8
mov r8, qword [rbp + 0x4f]
mov r9, qword [rbp + 0x67]
mov rsi, qword [rbp + 0x5f]
jmp 0x180051a83
mov eax, dword [rbp - 0x59]
lea r8, [rbp - 0x51]
mov dword [rbp + 0x57], eax
xor r9d, r9d
lea rax, [rbp + 0x57]
mov edx, 0x1ef2
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.18001fd60
mov esi, eax
test eax, eax
je 0x1800520c1
mov ecx, 0x634f
cmp ecx, ecx
je 0x18005211e
add ecx, 0x62
cmp ecx, 0x634f
jbe 0x18005210f
jmp 0x1800520c1
lea r9, [rbp - 0x51]
xor edx, edx
xor ecx, ecx
mov r8d, 0x5623
call fcn.1800490b0
mov eax, esi
jmp 0x180051dda