Function at 0x1800de1c0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x38]
sub rsp, 0x138
lea ebx, [rdx + 0xc]
mov r15, r9
mov dword [rsp + 0x40], ebx
cmp edx, ebx
mov ebx, dword [rbp + 0x88]
mov r14, r8
mov eax, edx
mov r10, rcx
jae case.0x1800de71c.5
mov edi, dword [rbp + 0x88]
lea rdx, [0x180000000]
mov esi, dword [rbp + 0x88]
mov r12, qword [rbp - 0x48]
mov r13, qword [rbp - 0x48]
mov ecx, dword [rsp + 0x40]
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], rsi
nop dword [rax]
nop dword [rax + rax]
add eax, 0xffffff59
cmp eax, 0x11
ja case.default.0x1800de258
mov ecx, dword [rdx + rax*4 + 0xdebe0]
add rcx, rdx
jmp rcx
mov eax, dword [rbp - 0x80]
lea r8, [rsp + 0x68]
mov dword [rsp + 0x68], eax
lea rdx, [rsp + 0x50]
mov eax, dword [rbp - 0x68]
mov ecx, 0xa9
mov dword [rsp + 0x50], eax
call fcn.18011d9e0
mov rdx, qword [rbp - 8]
lea rcx, [rbp]
mov r8d, 0xcc
call fcn.180154900
jmp 0x1800debab
mov r9d, 0x2f
xor r8d, r8d
xor edx, edx
mov rcx, r15
call fcn.1800aa6a0
cmp al, 6
jne 0x1800de644
mov rcx, qword [rbp + 0x80]
mov r9d, 0x2f
xor r8d, r8d
xor edx, edx
call fcn.1800aa6a0
cmp al, 6
jne 0x1800de644
mov eax, 0xa5
mov dword [rsp + 0x50], eax
nop word [rax + rax]
cmp eax, 0x279
ja 0x1800de5ae
je 0x1800de586
cmp eax, 0xa5
je 0x1800de389
cmp eax, 0x141
je 0x1800de356
cmp eax, 0x1dd
jne 0x1800de630
mov r10, qword [rbp - 0x60]
xor edx, edx
mov r8, qword [r10]
cmp qword [r8 + 0x10], rdx
jbe 0x1800de348
mov rdi, qword [rbp - 0x58]
mov rax, qword [r12]
movzx ecx, byte [rax + rdx + 0x18]
xor cl, byte [r8 + rdx + 0x18]
mov byte [rdi + rdx + 0x18], cl
inc rdx
mov r8, qword [r10]
cmp rdx, qword [r8 + 0x10]
jb 0x1800de321
mov rdi, qword [rsp + 0x70]
mov eax, dword [rsp + 0x50]
mov rcx, qword [rbp - 0x58]
mov byte [rcx + rdx + 0x18], 0
jmp 0x1800de630
mov rax, qword [rbp - 0x60]
lea r8, [rsp + 0x68]
mov dword [rsp + 0x68], 0
lea rdx, [rbp - 0x40]
mov rax, qword [rax]
mov rcx, qword [rax + 0x10]
mov qword [rbp - 0x40], rcx
mov ecx, 0x31
call fcn.1800d7700
mov qword [rbp - 0x58], rax
jmp 0x1800de62c
mov r9, qword [rbp + 0x80]
mov r8, qword [rbp + 0x98]
mov rax, qword [r9]
mov rcx, qword [r8]
mov rax, qword [rax + 0x10]
cmp qword [rcx + 0x10], rax
jb 0x1800de57a
mov edx, 0xd6
mov dword [rsp + 0x68], edx
mov eax, edx
sub eax, 0xd6
je 0x1800de3cf
cmp eax, 1
jne 0x1800de563
mov qword [rbp - 0x60], r9
jmp 0x1800de563
mov rax, qword [r8]
mov rcx, qword [rax + 0x10]
mov rax, qword [r9]
cmp rcx, qword [rax + 0x10]
jne 0x1800de560
cmp rcx, 1
jne 0x1800de560
mov r15d, 0xcc
nop dword [rax]
nop word [rax + rax]
mov eax, r15d
sub eax, 0xca
je case.0x1800de71c.5
sub eax, 1
je 0x1800de54a
cmp eax, 1
jne 0x1800de54c
mov rcx, qword [r9]
lea r10, [0x180000000]
mov rax, qword [r8]
movzx ecx, byte [rcx + 0x18]
xor cl, byte [rax + 0x18]
movzx edx, cl
mov byte [rsp + 0x58], dl
cmp qword [r10 + rdx*8 + 0x1d5008], 0
je 0x1800de49e
mov rsi, qword [rbp - 0x38]
mov ecx, 0xf3
nop
mov eax, ecx
sub eax, 0xf3
je 0x1800de482
sub eax, 0x77
je 0x1800de478
sub eax, 0x77
je 0x1800de472
cmp eax, 0x77
jne 0x1800de485
mov dword [r13 + 8], 6
jmp 0x1800de485
mov qword [r13], rsi
jmp 0x1800de485
mov rsi, qword [r10 + rdx*8 + 0x1d5008]
jmp 0x1800de485
mov r13, r14
add ecx, 0x77
cmp ecx, 0x2cf
jb 0x1800de450
mov qword [rbp - 0x38], rsi
mov rsi, qword [rsp + 0x78]
jmp 0x1800de54c
mov rsi, qword [rbp - 0x30]
mov r14d, 0x97
mov r12, qword [rbp + 0x90]
mov rdi, qword [rbp - 0x50]
cmp r14d, 0x97
je 0x1800de4dc
cmp r14d, 0x157
je 0x1800de4d7
cmp r14d, 0x217
jne 0x1800de511
mov dword [rsi + 8], 0x1406
jmp 0x1800de511
mov qword [rsi], rdi
jmp 0x1800de511
lea rax, [rsp + 0x60]
mov dword [rsp + 0x60], 0
lea r9, [rbp - 0x50]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x58]
mov qword [rbp - 0x50], 1
xor edx, edx
mov ecx, 0xfb
mov rsi, r12
call fcn.180138cc0
mov rdi, rax
add r14d, 0xc0
cmp r14d, 0x2d7
jb 0x1800de4b3
mov r14, qword [rbp + 0x90]
mov r8, qword [rbp + 0x98]
mov r9, qword [rbp + 0x80]
mov qword [rbp - 0x50], rdi
mov rdi, qword [rsp + 0x70]
mov qword [rbp - 0x30], rsi
mov rsi, qword [rsp + 0x78]
jmp 0x1800de54c
xor ebx, ebx
dec r15d
cmp r15d, 0xc9
ja 0x1800de400
mov edx, dword [rsp + 0x68]
mov r12, r8
inc edx
mov dword [rsp + 0x68], edx
cmp edx, 0xd8
jb 0x1800de3b4
jmp 0x1800de625
mov r12, r9
mov qword [rbp - 0x60], r8
jmp 0x1800de625
cmp r14, r15
jne 0x1800de630
mov rax, qword [r14]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov edx, 0x92
xor ecx, ecx
call fcn.18013b2b0
jmp 0x1800de62c
cmp eax, 0x315
je 0x1800de5d6
cmp eax, 0x3b1
jne 0x1800de630
mov eax, ebx
add rsp, 0x138
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rsi, qword [rbp - 0x20]
mov ecx, 0xe4
mov rdi, qword [rbp - 0x28]
mov r15, qword [rbp - 0x58]
mov eax, ecx
sub eax, 0xe4
je 0x1800de601
cmp eax, 1
jne 0x1800de607
mov qword [rsi], rdi
mov dword [rsi + 8], 0x1406
jmp 0x1800de607
mov rsi, r14
mov rdi, r15
inc ecx
cmp ecx, 0xe6
jb 0x1800de5e7
mov qword [rbp - 0x28], rdi
xor ebx, ebx
mov rdi, qword [rsp + 0x70]
mov qword [rbp - 0x20], rsi
mov rsi, qword [rsp + 0x78]
mov r15, qword [rbp + 0x98]
mov eax, dword [rsp + 0x50]
add eax, 0x9c
mov dword [rsp + 0x50], eax
cmp eax, 0x44d
jb 0x1800de2e0
mov r9d, 0x2f
xor r8d, r8d
xor edx, edx
mov rcx, r15
call fcn.1800aa6a0
cmp al, 4
je 0x1800de841
mov r15d, 0x4a
cmp r15d, 0x4a
je 0x1800de6b1
cmp r15d, 0x316e
jne 0x1800de81a
mov r9, qword [rbp + 0x98]
xor eax, eax
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov dword [rsp + 0x30], 0x9d
xor edx, edx
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.180057310
mov rdi, rax
mov qword [rsp + 0x70], rax
jmp 0x1800de81a
mov rcx, qword [rbp + 0x98]
mov r9d, 0x2f
xor r8d, r8d
xor edx, edx
call fcn.1800aa6a0
cmp al, 8
jne 0x1800de7cc
mov r9, qword [rbp + 0x98]
cmp r9, r14
jne 0x1800de7cc
mov rax, qword [r9]
mov rcx, qword [rax + 0x18]
cmp qword [rcx + 0x48], 0
je 0x1800de7cc
cmp qword [rcx + 0x50], 0
je 0x1800de7cc
xor r14d, r14d
cmp r14d, 5
ja case.default.0x1800de71c
lea rdx, [0x180000000]
mov ecx, dword [rdx + r14*4 + 0xdec28]
add rcx, rdx
jmp rcx
mov ebx, dword [rbp - 0x70]
jmp case.default.0x1800de71c
mov r9, qword [rbp - 0x78]
mov edx, 0xb3
mov rcx, qword [rbp + 0x80]
mov r8, r9
call fcn.1800de1c0
mov dword [rbp - 0x70], eax
jmp 0x1800de7ae
mov rcx, qword [rbp - 0x78]
test byte [rcx + 9], 4
je case.default.0x1800de71c
mov r9, rcx
mov qword [rsp + 0x28], 0
xor ecx, ecx
mov qword [rsp + 0x20], 0
xor r8d, r8d
mov edx, 0xb5
call fcn.180050770
jmp 0x1800de7ae
mov rax, qword [r9]
lea rdx, [rbp + 0x18]
mov rcx, r9
mov r8, qword [rax + 0x18]
call qword [r8 + 0x48]
mov qword [rbp - 0x78], rax
jmp 0x1800de7ae
mov rax, qword [r9]
mov rcx, r9
mov rdx, qword [rbp - 0x78]
mov r8, qword [rax + 0x18]
call qword [r8 + 0x50]
mov rcx, qword [rbp - 0x78]
xor r8d, r8d
mov edx, 0xa4
call fcn.1800394a0
mov r9, qword [rbp + 0x98]
inc r14d
lea eax, [r14 + 0x114]
cmp eax, 0x11a
jb 0x1800de700
jmp 0x1800de81a
mov rcx, qword [rbp + 0x98]
mov r9d, 0x2f
xor r8d, r8d
xor edx, edx
call fcn.1800aa6a0
cmp al, 8
jne 0x1800de81a
mov rdx, qword [rbp + 0x98]
mov rax, qword [rdx]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0xd0]
test rax, rax
je 0x1800de81a
mov r9, qword [rbp + 0x80]
mov r8, rdx
mov rdx, r14
mov cl, 0xb
call rax
test eax, eax
je 0x1800de920
mov r14, qword [rbp + 0x90]
add r15d, 0x3124
cmp r15d, 0x6248
jbe 0x1800de665
mov r15, qword [rbp + 0x98]
jmp 0x1800debab
mov edi, dword [r15]
mov qword [rsp + 0x70], rdi
jmp 0x1800debab
mov r9d, 0x2f
xor r8d, r8d
xor edx, edx
mov rcx, r10
call fcn.1800aa6a0
mov r10, qword [rbp + 0x80]
lea rdx, [0x180000000]
mov ecx, dword [rsp + 0x40]
cmp al, 0xa
jne case.default.0x1800de258
mov r10, qword [r10]
add r10, 8
mov qword [rbp + 0x80], r10
jmp case.default.0x1800de258
mov r10, qword [rbp - 0x18]
mov ecx, 0xbf
mov eax, ecx
sub eax, 0xbe
je 0x1800de8b1
cmp eax, 1
jne 0x1800de8b9
mov eax, esi
mov r10, r14
xor eax, edi
mov dword [r14], eax
jmp 0x1800de8b9
mov dword [r10 + 8], 4
dec ecx
cmp ecx, 0xbd
ja 0x1800de897
mov qword [rbp - 0x18], r10
xor ebx, ebx
mov r10, qword [rbp + 0x80]
jmp case.0x1800de258.173
mov r9d, 0x2f
xor r8d, r8d
xor edx, edx
mov rcx, r15
call fcn.1800aa6a0
cmp al, 4
jne 0x1800de982
mov rcx, qword [rbp + 0x80]
mov r9d, 0x2f
xor r8d, r8d
xor edx, edx
call fcn.1800aa6a0
cmp al, 4
jne 0x1800de982
mov edx, 0xc
cmp edx, 0xc
je 0x1800de927
cmp edx, 0x8c
jne 0x1800de977
nop dword [rax]
xor eax, eax
jmp 0x1800de5c2
mov rdi, qword [rbp + 0x80]
mov ecx, 0x9a
mov rsi, qword [rbp - 0x10]
cmp ecx, 0x9a
je 0x1800de950
cmp ecx, 0x140
jne 0x1800de95b
mov dword [rsi + 8], 4
jmp 0x1800de95b
mov eax, dword [rdi]
mov rsi, r14
xor eax, dword [r15]
mov dword [r14], eax
add ecx, 0xa6
cmp ecx, 0x1e6
jb 0x1800de937
mov rdi, qword [rsp + 0x70]
mov qword [rbp - 0x10], rsi
mov rsi, qword [rsp + 0x78]
sub edx, 0xffffff80
cmp edx, 0x10c
jb 0x1800de910
mov r9d, 0x2f
xor r8d, r8d
xor edx, edx
mov rcx, r15
call fcn.1800aa6a0
mov r10, qword [rbp + 0x80]
lea rdx, [0x180000000]
mov ecx, dword [rsp + 0x40]
cmp al, 0xa
jne case.default.0x1800de258
mov r15, qword [r15]
add r15, 8
mov qword [rbp + 0x98], r15
jmp case.default.0x1800de258
mov eax, dword [rbp - 0x6c]
lea rcx, [rsp + 0x60]
mov dword [rsp + 0x60], eax
xor r9d, r9d
lea rax, [rsp + 0x48]
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
xor r8d, r8d
lea rax, [rbp]
mov byte [rsp + 0x48], 0x2c
mov edx, 0xcb
mov qword [rsp + 0x20], rax
call fcn.18008d830
mov eax, dword [rbp - 0x80]
lea rdx, [rsp + 0x60]
mov r8d, 0x124
mov dword [rsp + 0x60], eax
xor ecx, ecx
call fcn.1800596f0
jmp 0x1800debab
mov r9d, 0x2f
xor r8d, r8d
xor edx, edx
mov rcx, r10
call fcn.1800aa6a0
cmp al, 4
je 0x1800deab3
mov rsi, qword [rbp + 0x80]
mov r9d, 0x2f
mov rcx, rsi
xor r8d, r8d
xor edx, edx
call fcn.1800aa6a0
cmp al, 8
jne 0x1800dea7a
mov rax, qword [rsi]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0xd0]
test rax, rax
je 0x1800dea7a
mov r9, rsi
mov r8, r15
mov rdx, r14
mov cl, 0xb
call rax
test eax, eax
je 0x1800de920
xor eax, eax
mov r9, rsi
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov dword [rsp + 0x30], 0x9d
xor edx, edx
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.180057310
mov r10, qword [rbp + 0x80]
mov rsi, rax
mov qword [rsp + 0x78], rax
jmp 0x1800deac2
mov r10, qword [rbp + 0x80]
mov esi, dword [r10]
mov qword [rsp + 0x78], rsi
cmp r15, r14
jne 0x1800debb2
xor r9d, r9d
mov dword [rsp + 0x20], 0xce
xor r8d, r8d
xor edx, edx
mov rcx, r14
call fcn.18013b910
jmp 0x1800debab
mov r9d, 0xce
mov byte [rsp + 0x48], 0
lea r8, [rsp + 0x48]
mov qword [rsp + 0x20], 0
xor edx, edx
xor ecx, ecx
call fcn.180052a50
mov rcx, qword [0x1801d4e90]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x28], 0xdd
xor edx, edx
mov qword [rsp + 0x20], 0
call fcn.180142f90
mov dword [rbp - 0x6c], eax
jmp 0x1800debab
mov r9, qword [rbp - 0x48]
xor r8d, r8d
mov qword [rsp + 0x28], 0
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], 0x148
call fcn.1800ac660
mov rcx, qword [0x1801d4e90]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x28], 0xdd
xor edx, edx
mov qword [rsp + 0x20], 0
call fcn.180142f90
mov dword [rbp - 0x80], eax
jmp 0x1800debab
mov rax, qword [r14 + 8]
mov qword [rbp - 8], rax
jmp case.0x1800de258.173
mov rax, qword [r14 + 0x10]
lea rcx, [rsp + 0x60]
mov edx, 0xb7
mov qword [rbp - 0x48], rax
mov dword [rsp + 0x60], 0
call fcn.1800e9590
mov dword [rbp - 0x68], eax
mov r10, qword [rbp + 0x80]
lea rdx, [0x180000000]
mov ecx, dword [rsp + 0x40]
mov eax, dword [rbp + 0x88]
inc eax
mov dword [rbp + 0x88], eax
cmp eax, ecx
jae case.0x1800de71c.5
mov r14, qword [rbp + 0x90]
jmp 0x1800de240