Function at 0x18000ebdf
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x128
lea rbp, [rsp + 0x80]
mov r9, rdx
mov qword [rbp - 0x48], rcx
xorps xmm0, xmm0
movaps xmmword [rbp + 0x50], xmm0
movaps xmmword [rbp + 0x40], xmm0
movaps xmmword [rbp + 0x30], xmm0
movaps xmmword [rbp + 0x20], xmm0
movaps xmmword [rbp + 0x10], xmm0
movaps xmmword [rbp], xmm0
movaps xmmword [rbp - 0x10], xmm0
mov qword [rbp + 0x60], 0
cmp dword [0x1800e5500], 9
mov eax, dword [0x1800e5504]
setg cl
lea ebx, [rax + 1]
imul ebx, eax
and bl, cl
mov byte [rbp + 0x9f], bl
xor eax, eax
lea rcx, [0x1800529e0]
movsxd rbx, dword [rax + rcx]
xor dword [rbp + rbx*4 - 0x10], 0x1e27
add rax, 4
cmp rax, 0x74
jne 0x18000ec4f
mov eax, 0x98e
xor ecx, ecx
mov qword [rbp - 0x18], rcx
lea rbx, [0x180052a60]
lea rsi, [0x180052c20]
lea r14, [0x180052c00]
lea r12, [0x180052b40]
lea r11, [0x180052c2c]
lea r13, [0x180052ad0]
lea r10, [0x180052ba0]
lea rdi, [0x180052c18]
lea rcx, [0x180052c08]
lea r15, [0x180052bf8]
mov edx, 0
mov qword [rbp - 0x38], rdx
mov edx, 0
mov qword [rbp - 0x30], rdx
xor edx, edx
mov qword [rbp - 0x28], rdx
xor edx, edx
mov qword [rbp + 0x80], rdx
xor edx, edx
mov qword [rbp - 0x78], rdx
xor edx, edx
mov qword [rbp - 0x70], rdx
xor edx, edx
mov qword [rbp - 0x68], rdx
xor edx, edx
mov qword [rbp - 0x60], rdx
xor edx, edx
mov qword [rbp - 0x58], rdx
xor edx, edx
mov qword [rbp - 0x50], rdx
xor edx, edx
mov qword [rbp - 0x40], rdx
xor edx, edx
mov qword [rbp - 0x20], rdx
cmp eax, 0x420a
jg 0x18000eda6
cmp eax, 0x2d80
jg 0x18000edea
cmp eax, 0x1add
jg 0x18000ef08
cmp eax, 0x91a
jg 0x18000f0bf
cmp eax, 0x348
je 0x18000f27c
cmp eax, 0x363
jne 0x18000ed07
mov rax, qword [rbp + 0xa0]
mov eax, dword [rax]
cdqe
mov rcx, qword [rbp + 0x78]
cmp qword [rcx], rax
mov eax, 0xc5820903
mov ecx, 0x3be7951c
cmova eax, ecx
mov rcx, qword [rbp + 0x90]
mov dword [rcx], eax
mov eax, dword [0x1800e5508]
mov ecx, 1
sub ecx, eax
imul ecx, eax
test cl, 1
mov eax, 0x3e66
mov ecx, 0x2388
cmove eax, ecx
cmp dword [0x1800e550c], 0xa
cmovl eax, ecx
lea rcx, [0x180052c08]
xor eax, dword [rbp + 0x14]
jmp 0x18000ed07
cmp eax, 0x5c3a
jg 0x18000ee6f
cmp eax, 0x489a
jle 0x18000ef57
cmp eax, 0x5067
jg 0x18000f136
cmp eax, 0x489b
je 0x18000f3bc
cmp eax, 0x4b40
jne 0x18000ed07
mov eax, dword [rbp + 0x64]
mov ecx, 0x6d65
jmp 0x18000f697
cmp eax, 0x3028
jle 0x18000eff0
cmp eax, 0x3148
jg 0x18000f1aa
cmp eax, 0x3029
je 0x18000f415
cmp eax, 0x30a8
jne 0x18000ed07
cmp dword [0x1800e5510], 0xa
mov eax, dword [0x1800e5514]
setl cl
lea ebx, [rax + 1]
imul ebx, eax
test bl, 1
sete al
or al, cl
cmp byte [rbp - 0x70], 0
jne 0x18000ee52
xor ecx, ecx
movsxd rbx, dword [rcx + r14]
xor dword [rbp + rbx*4 - 0x10], 0x28d2
add rcx, 4
cmp rcx, 8
jne 0x18000ee3c
test al, al
mov eax, 0x16b4
mov ecx, 0x4a93
cmovne eax, ecx
xor eax, dword [rbp + 0x10]
mov cl, 1
mov qword [rbp - 0x70], rcx
jmp 0x18000f863
cmp eax, 0x72db
jle 0x18000f02a
cmp eax, 0x7986
jg 0x18000f1cd
cmp eax, 0x72dc
je 0x18000f465
cmp eax, 0x735d
jne 0x18000ed07
cmp dword [0x1800e5518], 0xa
mov eax, dword [0x1800e551c]
mov r15, rcx
setl cl
lea ebx, [rax + 1]
imul ebx, eax
test bl, 1
sete al
or al, cl
cmp byte [rbp - 0x68], 0
jne 0x18000eeda
xor ecx, ecx
movsxd rbx, dword [rcx + r15]
xor dword [rbp + rbx*4 - 0x10], 0x16dd
add rcx, 4
cmp rcx, 8
jne 0x18000eec4
test al, al
mov eax, 0x6471
mov ecx, 0x532e
cmovne eax, ecx
xor eax, dword [rbp + 0x18]
mov cl, 1
mov qword [rbp - 0x68], rcx
lea rbx, [0x180052a60]
mov rcx, r15
lea r15, [0x180052bf8]
jmp 0x18000ed07
cmp eax, 0x1d99
jg 0x18000f23c
cmp eax, 0x1ade
je 0x18000f51e
cmp eax, 0x1c08
jne 0x18000ed07
mov rax, qword [rbp + 0xa0]
mov eax, dword [rax]
inc eax
mov rcx, qword [rbp + 0xa0]
mov dword [rcx], eax
mov rax, qword [rbp + 0x90]
mov dword [rax], 0xc2c4880
mov eax, dword [rbp + 0x5c]
mov ecx, 0x49a1
jmp 0x18000f697
cmp eax, 0x420b
je 0x18000f567
cmp eax, 0x42aa
je 0x18000f5cc
cmp eax, 0x45df
jne 0x18000ed07
mov rax, qword [rbp + 0x70]
mov rax, qword [rax]
mov rcx, qword [rbp + 0xa0]
mov ecx, dword [rcx]
movsxd rcx, ecx
mov al, byte [rax + rcx]
mov rcx, qword [rbp + 0x88]
mov rcx, qword [rcx]
mov rbx, qword [rbp + 0xa0]
mov ebx, dword [rbx]
movsxd rbx, ebx
mov byte [rcx + rbx], al
lea rbx, [0x180052a60]
mov rax, qword [rbp + 0x90]
mov dword [rax], 0x9311abea
mov eax, dword [0x1800e5520]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x7daf
mov ecx, 0xf2c
cmove eax, ecx
cmp dword [0x1800e5524], 0xa
cmovl eax, ecx
lea rcx, [0x180052c08]
xor eax, dword [rbp + 0x24]
jmp 0x18000ed07
cmp eax, 0x2d81
je 0x18000f625
cmp eax, 0x2fb4
je 0x18000f80b
cmp eax, 0x2ff7
jne 0x18000ed07
mov rax, qword [rbp + 0x90]
mov eax, dword [rax]
mov dword [rbp + 0x6c], eax
mov eax, dword [rbp + 0x48]
mov ecx, 0x779
jmp 0x18000f697
cmp eax, 0x5c3b
je 0x18000f7ac
cmp eax, 0x5f44
je 0x18000f643
cmp eax, 0x6e3f
jne 0x18000ed07
mov rdx, r8
cmp dword [0x1800e5528], 0xa
mov eax, dword [0x1800e552c]
setl cl
lea ebx, [rax + 1]
imul ebx, eax
test bl, 1
sete al
or al, cl
cmp byte [rbp - 0x60], 0
lea r8, [0x180052c10]
jne 0x18000f091
xor ecx, ecx
movsxd rbx, dword [rcx + r8]
xor dword [rbp + rbx*4 - 0x10], 0x476
add rcx, 4
cmp rcx, 8
jne 0x18000f07b
test al, al
mov eax, 0x79d9
mov ecx, 0xc2f
cmovne eax, ecx
xor eax, dword [rbp + 0x20]
mov cl, 1
mov qword [rbp - 0x60], rcx
lea rbx, [0x180052a60]
lea rcx, [0x180052c08]
mov r8, rdx
jmp 0x18000ed07
cmp eax, 0x91b
je 0x18000f681
cmp eax, 0x98e
jne 0x18000ed07
mov rdx, r9
lea rdi, [0x180052970]
mov al, byte [rbp + 0x9f]
cmp byte [rbp - 0x18], 0
jne 0x18000f101
xor ecx, ecx
movsxd r9, dword [rcx + rdi]
xor byte [rbp + r9*4 - 0x10], 0x26
add rcx, 4
cmp rcx, 0x70
jne 0x18000f0ed
test al, 1
mov eax, 0x1d6f
mov ecx, 0x6cfb
cmovne eax, ecx
xor eax, dword [rbp - 0x10]
mov cl, 1
mov qword [rbp - 0x18], rcx
mov r9, rdx
lea rbx, [0x180052a60]
lea rdi, [0x180052c18]
lea rcx, [0x180052c08]
jmp 0x18000ed07
cmp eax, 0x5068
je 0x18000f6a5
cmp eax, 0x52f5
jne 0x18000ed07
mov eax, dword [rbp + 0x6c]
cmp byte [rbp + 0x80], 0
jne 0x18000f170
xor ecx, ecx
movsxd rbx, dword [rcx + r10]
xor dword [rbp + rbx*4 - 0x10], 0x2e15
add rcx, 4
cmp rcx, 0x58
jne 0x18000f15a
cmp eax, 0xc6408803
jle 0x18000f786
cmp eax, 0xc6408804
je 0x18000f802
cmp eax, 0xc2c4880
je 0x18000f876
mov cl, 1
mov qword [rbp + 0x80], rcx
cmp eax, 0x3be7951c
je 0x18000f04b
jmp 0x18000f7ac
cmp eax, 0x3149
je 0x18000f6fb
cmp eax, 0x34c1
jne 0x18000ed07
mov eax, dword [rbp + 0x4c]
mov ecx, 0x5814
jmp 0x18000f697
cmp eax, 0x7987
je 0x18000f730
cmp eax, 0x7b6d
jne 0x18000ed07
cmp dword [0x1800e5530], 0xa
mov eax, dword [0x1800e5534]
setl cl
lea ebx, [rax + 1]
imul ebx, eax
test bl, 1
sete al
or al, cl
cmp byte [rbp - 0x58], 0
jne 0x18000f21f
xor ecx, ecx
movsxd rbx, dword [rcx + rdi]
xor dword [rbp + rbx*4 - 0x10], 0x5039
add rcx, 4
cmp rcx, 8
jne 0x18000f209
test al, al
mov eax, 0x55f8
mov ecx, 0x1998
cmovne eax, ecx
xor eax, dword [rbp + 0x28]
mov cl, 1
mov qword [rbp - 0x58], rcx
jmp 0x18000f863
cmp eax, 0x1dcd
jne 0x18000f892
mov eax, dword [0x1800e5538]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x3be8
mov ecx, 0x3833
cmove eax, ecx
cmp dword [0x1800e553c], 0xa
cmovl eax, ecx
lea rcx, [0x180052c08]
xor eax, dword [rbp + 0x40]
jmp 0x18000ed07
mov r13, r11
mov r11, r12
mov r12, r14
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x78], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x70], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x88], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xa0], rax
mov rax, qword [rbp + 0x78]
mov rcx, r8
mov qword [rax], r8
mov rax, qword [rbp + 0x70]
mov rcx, qword [rbp - 0x48]
mov rdi, r9
mov qword [rax], r9
mov rax, qword [rbp + 0x88]
mov qword [rax], rcx
mov rax, qword [rbp + 0xa0]
mov rax, qword [rbp + 0xa0]
mov dword [rax], 0
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x90], rax
mov rax, qword [rbp + 0x90]
mov dword [rax], 0xc2c4880
cmp dword [0x1800e5540], 0xa
mov eax, dword [0x1800e5544]
setl cl
mov r9, rbx
lea ebx, [rax + 1]
imul ebx, eax
test bl, 1
sete al
or al, cl
cmp byte [rbp - 0x38], 0
jne 0x18000f374
xor ecx, ecx
movsxd rbx, dword [rcx + r9]
xor dword [rbp + rbx*4 - 0x10], 0x52f6
add rcx, 4
cmp rcx, 0x68
jne 0x18000f35e
test al, al
mov eax, 0x6cdd
mov ecx, 0x569a
cmovne eax, ecx
xor eax, dword [rbp - 8]
mov cl, 1
mov qword [rbp - 0x38], rcx
mov rbx, r9
mov r9, rdi
mov r14, r12
mov r12, r11
mov r11, r13
lea r13, [0x180052ad0]
lea rdi, [0x180052c18]
lea rcx, [0x180052c08]
lea r15, [0x180052bf8]
jmp 0x18000ed07
cmp dword [0x1800e5548], 0xa
mov eax, dword [0x1800e554c]
setl cl
lea ebx, [rax + 1]
imul ebx, eax
test bl, 1
sete al
or al, cl
cmp byte [rbp - 0x30], 0
jne 0x18000f3f8
xor ecx, ecx
movsxd rbx, dword [rcx + r13]
xor dword [rbp + rbx*4 - 0x10], 0x985
add rcx, 4
cmp rcx, 0x64
jne 0x18000f3e2
test al, al
mov eax, 0x6300
mov ecx, 0xefc
cmovne eax, ecx
xor eax, dword [rbp - 4]
mov cl, 1
mov qword [rbp - 0x30], rcx
jmp 0x18000f863
mov rax, qword [rbp + 0x70]
mov rax, qword [rax]
mov rcx, qword [rbp + 0xa0]
mov ecx, dword [rcx]
movsxd rcx, ecx
mov al, byte [rax + rcx]
mov rcx, qword [rbp + 0x88]
mov rcx, qword [rcx]
mov rbx, qword [rbp + 0xa0]
mov ebx, dword [rbx]
movsxd rbx, ebx
mov byte [rcx + rbx], al
lea rbx, [0x180052a60]
mov rax, qword [rbp + 0x90]
mov dword [rax], 0x9311abea
mov eax, dword [rbp + 0x58]
mov ecx, 0x859
jmp 0x18000f697
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x78], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x70], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x88], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xa0], rax
mov rax, qword [rbp + 0x78]
mov qword [rax], r8
mov rax, qword [rbp + 0x70]
mov qword [rax], r9
mov rax, qword [rbp + 0x88]
mov rdx, qword [rbp - 0x48]
mov qword [rax], rdx
mov rax, qword [rbp + 0xa0]
mov rax, qword [rbp + 0xa0]
mov dword [rax], 0
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x90], rax
mov rax, qword [rbp + 0x90]
mov dword [rax], 0xc2c4880
mov eax, dword [rbp + 0x44]
mov edx, 0x1d49
xor eax, edx
jmp 0x18000ed07
mov rax, qword [rbp + 0xa0]
mov rax, qword [rbp + 0x90]
mov dword [rax], 0xc6408804
mov eax, dword [0x1800e5550]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x72ac
mov ecx, 0x1d87
cmove eax, ecx
cmp dword [0x1800e5554], 0xa
cmovl eax, ecx
lea rcx, [0x180052c08]
xor eax, dword [rbp + 0x1c]
jmp 0x18000ed07
mov rax, qword [rbp + 0x90]
mov eax, dword [rax]
mov dword [rbp + 0x6c], eax
cmp dword [0x1800e5558], 0xa
mov eax, dword [0x1800e555c]
setl cl
lea ebx, [rax + 1]
imul ebx, eax
test bl, 1
sete al
or al, cl
cmp byte [rbp - 0x28], 0
jne 0x18000f5af
xor ecx, ecx
movsxd rbx, dword [rcx + r12]
xor dword [rbp + rbx*4 - 0x10], 0x2297
add rcx, 4
cmp rcx, 0x5c
jne 0x18000f599
test al, al
mov eax, 0x6a85
mov ecx, 0x1787
cmovne eax, ecx
xor eax, dword [rbp]
mov cl, 1
mov qword [rbp - 0x28], rcx
jmp 0x18000f863
cmp dword [0x1800e5560], 0xa
mov eax, dword [0x1800e5564]
setl cl
lea ebx, [rax + 1]
imul ebx, eax
test bl, 1
sete al
or al, cl
cmp byte [rbp - 0x20], 0
jne 0x18000f608
xor ecx, ecx
movsxd rbx, dword [rcx + r11]
xor dword [rbp + rbx*4 - 0x10], 0x3958
add rcx, 4
cmp rcx, 8
jne 0x18000f5f2
test al, al
mov eax, 0x2b0
mov ecx, 0x543d
cmovne eax, ecx
xor eax, dword [rbp + 0x3c]
mov cl, 1
mov qword [rbp - 0x20], rcx
jmp 0x18000f863
mov rax, qword [rbp + 0xa0]
mov rax, qword [rbp + 0x90]
mov dword [rax], 0xc6408804
mov eax, dword [rbp + 0x54]
mov ecx, 0x45f3
jmp 0x18000f697
mov rax, qword [rbp + 0xa0]
mov eax, dword [rax]
cdqe
mov rcx, qword [rbp + 0x78]
cmp qword [rcx], rax
mov eax, 0xc5820903
mov ecx, 0x3be7951c
cmova eax, ecx
mov rcx, qword [rbp + 0x90]
mov dword [rcx], eax
lea rcx, [0x180052c08]
mov eax, dword [rbp + 0x50]
mov edx, 0x6241
xor eax, edx
jmp 0x18000ed07
mov rax, qword [rbp + 0x88]
mov rax, qword [rax]
mov qword [rbp - 0x80], rax
mov eax, dword [rbp + 0x60]
mov ecx, 0x1286
xor eax, ecx
lea rcx, [0x180052c08]
jmp 0x18000ed07
mov rax, qword [rbp + 0xa0]
mov eax, dword [rax]
inc eax
mov rcx, qword [rbp + 0xa0]
mov dword [rcx], eax
mov rax, qword [rbp + 0x90]
mov dword [rax], 0xc2c4880
mov eax, dword [0x1800e5568]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x5c1
mov ecx, 0x5b63
cmove eax, ecx
cmp dword [0x1800e556c], 0xa
cmovl eax, ecx
lea rcx, [0x180052c08]
xor eax, dword [rbp + 0x2c]
jmp 0x18000ed07
mov eax, dword [0x1800e5570]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x5d9c
mov ecx, 0x2bf7
cmove eax, ecx
cmp dword [0x1800e5574], 0xa
cmovl eax, ecx
lea rcx, [0x180052c08]
xor eax, dword [rbp + 0xc]
jmp 0x18000ed07
mov rax, qword [rbp + 0x88]
mov rax, qword [rax]
mov qword [rbp - 0x80], rax
cmp dword [0x1800e5578], 0xa
mov eax, dword [0x1800e557c]
setl cl
lea ebx, [rax + 1]
imul ebx, eax
test bl, 1
sete al
or al, cl
cmp byte [rbp - 0x40], 0
jne 0x18000f769
xor dword [rbp + 0x38], 0x66ad
test al, al
mov eax, 0x621a
mov ecx, 0x769b
cmovne eax, ecx
xor eax, dword [rbp + 0x34]
mov cl, 1
mov qword [rbp - 0x40], rcx
jmp 0x18000f863
cmp eax, 0x9311abea
lea rcx, [0x180052c08]
je 0x18000f884
mov dl, 1
mov qword [rbp + 0x80], rdx
cmp eax, 0xc5820903
je 0x18000ee9b
cmp dword [0x1800e5580], 0xa
mov eax, dword [0x1800e5584]
setl cl
lea ebx, [rax + 1]
imul ebx, eax
test bl, 1
sete al
or al, cl
cmp byte [rbp - 0x78], 0
jne 0x18000f7e8
xor ecx, ecx
movsxd rbx, dword [rcx + r15]
xor dword [rbp + rbx*4 - 0x10], 0x20ad
add rcx, 4
cmp rcx, 8
jne 0x18000f7d2
test al, al
mov eax, 0x7d31
mov ecx, 0x78b9
cmovne eax, ecx
xor eax, dword [rbp + 8]
mov cl, 1
mov qword [rbp - 0x78], rcx
jmp 0x18000f863
mov al, 1
mov qword [rbp + 0x80], rax
mov eax, dword [0x1800e5588]
cmp dword [0x1800e558c], 0xa
setl cl
lea ebx, [rax + rax]
not ebx
add ebx, eax
imul ebx, eax
test bl, 1
sete al
or al, cl
cmp byte [rbp - 0x50], 0
jne 0x18000f84b
xor ecx, ecx
movsxd rbx, dword [rcx + rsi]
xor dword [rbp + rbx*4 - 0x10], 0x22f1
add rcx, 4
cmp rcx, 0xc
jne 0x18000f835
test al, al
mov eax, 0x40eb
mov ecx, 0x3077
cmovne eax, ecx
xor eax, dword [rbp + 0x30]
mov cl, 1
mov qword [rbp - 0x50], rcx
lea rbx, [0x180052a60]
lea rcx, [0x180052c08]
jmp 0x18000ed07
mov al, 1
mov qword [rbp + 0x80], rax
jmp 0x18000ee16
mov al, 1
mov qword [rbp + 0x80], rax
jmp 0x18000f1e3
cmp eax, 0x1d9a
jne 0x18000ed07
mov rax, qword [rbp - 0x80]
lea rsp, [rbp + 0xa8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret