Function at 0x18002b9c0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
mov qword [rbp], 0xfffffffffffffffe
mov rsi, rcx
lea rdi, [rcx + 0x50]
mov qword [rcx + 0x60], 0
cmp qword [rcx + 0x68], 0x10
mov rax, rdi
jb 0x18002b9fa
mov rax, qword [rsi + 0x50]
mov byte [rax], 0
mov rdx, qword [rsi + 0x38]
cmp rdx, qword [rsi + 0x40]
je 0x18002ba0b
mov qword [rsi + 0x40], rdx
movzx eax, byte [rsi + 0x14]
mov byte [rbp - 1], al
cmp rdx, qword [rsi + 0x48]
je 0x18002ba20
mov byte [rdx], al
inc qword [rsi + 0x40]
jmp 0x18002ba2d
lea rcx, [rsi + 0x38]
lea r8, [rbp - 1]
call fcn.18002c3c0
mov r9d, dword [rsi + 0x14]
lea eax, [r9 - 0x31]
cmp eax, 9
jae 0x18002ba7e
mov rax, qword [rsi + 0x60]
mov rcx, qword [rsi + 0x68]
cmp rax, rcx
jae 0x18002ba67
lea rdx, [rax + 1]
mov qword [rsi + 0x60], rdx
mov rdx, rdi
cmp rcx, 0x10
jb 0x18002ba5c
mov rdx, qword [rsi + 0x50]
mov byte [rdx + rax], r9b
mov byte [rdx + rax + 1], 0
jmp 0x18002ba74
mov edx, 1
mov rcx, rdi
call fcn.18001b410
mov ebx, 5
jmp 0x18002bb6d
cmp r9d, 0x30
je 0x18002bab4
cmp r9d, 0x2d
jne 0x18002baf5
mov rax, qword [rsi + 0x60]
mov rcx, qword [rsi + 0x68]
cmp rax, rcx
jae 0x18002bae5
lea rdx, [rax + 1]
mov qword [rsi + 0x60], rdx
mov rdx, rdi
cmp rcx, 0x10
jb 0x18002baac
mov rdx, qword [rsi + 0x50]
mov word [rdx + rax], 0x2d
jmp 0x18002baf5
mov rax, qword [rsi + 0x60]
mov rcx, qword [rsi + 0x68]
cmp rax, rcx
jae 0x18002c040
lea rdx, [rax + 1]
mov qword [rsi + 0x60], rdx
mov rdx, rdi
cmp rcx, 0x10
jb 0x18002bada
mov rdx, qword [rsi + 0x50]
mov word [rdx + rax], 0x30
jmp 0x18002c050
mov edx, 1
mov rcx, rdi
mov r9b, 0x2d
call fcn.18001b410
mov rcx, rsi
call fcn.18002c280
lea ecx, [rax - 0x31]
cmp ecx, 9
jae 0x18002c20b
movzx r9d, byte [rsi + 0x14]
mov rax, qword [rsi + 0x60]
mov rcx, qword [rsi + 0x68]
cmp rax, rcx
jae 0x18002bb40
lea rdx, [rax + 1]
mov qword [rsi + 0x60], rdx
mov rdx, rdi
cmp rcx, 0x10
jb 0x18002bb30
mov rdx, qword [rsi + 0x50]
mov byte [rdx + rax], r9b
mov byte [rdx + rax + 1], 0
mov ebx, 6
jmp 0x18002bb6d
mov edx, 1
mov rcx, rdi
call fcn.18001b410
mov ebx, 6
jmp 0x18002bb6d
mov edx, 1
mov rcx, rdi
call fcn.18001b410
mov rcx, rsi
call fcn.18002c280
lea ecx, [rax - 0x30]
cmp ecx, 0xa
jae 0x18002bbaf
movzx r9d, byte [rsi + 0x14]
mov rax, qword [rsi + 0x60]
mov rcx, qword [rsi + 0x68]
cmp rax, rcx
jae 0x18002bb60
lea rdx, [rax + 1]
mov qword [rsi + 0x60], rdx
mov rdx, rdi
cmp rcx, 0x10
jb 0x18002bba4
mov rdx, qword [rsi + 0x50]
mov byte [rdx + rax], r9b
mov byte [rdx + rax + 1], 0
jmp 0x18002bb6d
cmp eax, 0x2e
je 0x18002c078
cmp eax, 0x45
je 0x18002bbc6
cmp eax, 0x65
jne 0x18002bc6d
movzx r9d, byte [rsi + 0x14]
mov rax, qword [rsi + 0x60]
mov rcx, qword [rsi + 0x68]
cmp rax, rcx
jae 0x18002bbf8
lea rdx, [rax + 1]
mov qword [rsi + 0x60], rdx
mov rdx, rdi
cmp rcx, 0x10
jb 0x18002bbed
mov rdx, qword [rsi + 0x50]
mov byte [rdx + rax], r9b
mov byte [rdx + rax + 1], 0
jmp 0x18002bc05
mov edx, 1
mov rcx, rdi
call fcn.18001b410
mov rcx, rsi
call fcn.18002c280
lea ecx, [rax - 0x30]
cmp ecx, 0xa
jae 0x18002bdad
movzx r9d, byte [rsi + 0x14]
mov rax, qword [rsi + 0x60]
mov rcx, qword [rsi + 0x68]
cmp rax, rcx
jae 0x18002bc4b
lea rdx, [rax + 1]
mov qword [rsi + 0x60], rdx
mov rdx, rdi
cmp rcx, 0x10
jb 0x18002bc40
mov rdx, qword [rsi + 0x50]
mov byte [rdx + rax], r9b
mov byte [rdx + rax + 1], 0
jmp 0x18002bc58
mov edx, 1
mov rcx, rdi
call fcn.18001b410
mov rcx, rsi
call fcn.18002c280
add eax, 0xffffffd0
mov ebx, 7
cmp eax, 9
jbe 0x18002bcad
mov byte [rsi + 0x18], 1
dec qword [rsi + 0x20]
mov rax, qword [rsi + 0x28]
test rax, rax
je 0x18002bcdf
lea rcx, [rsi + 0x28]
jmp 0x18002bcec
mov edx, 1
mov rcx, rdi
call fcn.18001b410
mov rcx, rsi
call fcn.18002c280
add eax, 0xffffffd0
cmp eax, 0xa
jae 0x18002bc6d
movzx r9d, byte [rsi + 0x14]
mov rax, qword [rsi + 0x60]
mov rcx, qword [rsi + 0x68]
cmp rax, rcx
jae 0x18002bc90
lea rdx, [rax + 1]
mov qword [rsi + 0x60], rdx
mov rdx, rdi
cmp rcx, 0x10
jb 0x18002bcd4
mov rdx, qword [rsi + 0x50]
mov byte [rdx + rax], r9b
mov byte [rdx + rax + 1], 0
jmp 0x18002bc9d
mov rax, qword [rsi + 0x30]
test rax, rax
je 0x18002bcf2
lea rcx, [rsi + 0x30]
dec rax
mov qword [rcx], rax
cmp dword [rsi + 0x14], 0xffffffff
je 0x18002bcfc
dec qword [rsi + 0x40]
mov qword [rbp - 0x10], 0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [rax], 0
cmp ebx, 6
je 0x18002bd57
cmp ebx, 5
jne 0x18002bd83
cmp qword [rsi + 0x68], 0x10
mov rcx, rdi
jb 0x18002bd28
mov rcx, qword [rsi + 0x50]
lea rdx, [rbp - 0x10]
mov r8d, 0xa
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtoull]
mov rbx, rax
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [rax], 0
jne 0x18002bd83
mov qword [rsi + 0x80], rbx
mov eax, 5
jmp 0x18002c181
cmp qword [rsi + 0x68], 0x10
mov rcx, rdi
jb 0x18002bd65
mov rcx, qword [rsi + 0x50]
lea rdx, [rbp - 0x10]
mov r8d, 0xa
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtoll]
mov rbx, rax
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [rax], 0
je 0x18002bdf0
cmp qword [rsi + 0x68], 0x10
jb 0x18002bd8e
mov rdi, qword [rsi + 0x50]
lea rdx, [rbp - 0x10]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtod]
movsd qword [rsi + 0x88], xmm0
mov eax, 7
jmp 0x18002c181
cmp eax, 0x2d
je 0x18002bdb7
cmp eax, 0x2b
jne 0x18002bdfe
movzx r9d, byte [rsi + 0x14]
mov rax, qword [rsi + 0x60]
mov rcx, qword [rsi + 0x68]
cmp rax, rcx
jae 0x18002bf0c
lea rdx, [rax + 1]
mov qword [rsi + 0x60], rdx
mov rdx, rdi
cmp rcx, 0x10
jb 0x18002bde2
mov rdx, qword [rsi + 0x50]
mov byte [rdx + rax], r9b
mov byte [rdx + rax + 1], 0
jmp 0x18002bf19
mov qword [rsi + 0x78], rbx
mov eax, 6
jmp 0x18002c181
cmp byte [0x18005ee55], 0
jne 0x18002bef6
mov rax, qword [0x18005cb70]
movabs r8, 0x4aee0cdd452e8164
add r8, rax
movabs r9, 0x4aee0cdd452e8151
add r9, rax
xor ecx, ecx
movabs r10, 0xd79435e50d79435f
lea r11, [0x18005ee1a]
nop
mov rax, rcx
mul r10
shr rdx, 4
imul rax, rdx, 0xffffffffffffffed
add rax, r9
movzx r14d, byte [r8 + rcx]
movzx eax, byte [rcx + rax]
mov edx, eax
and dl, 7
mov ebx, eax
xor bl, 0x38
and bl, al
mov r15d, r14d
and r15b, 3
mov edi, r14d
and dil, 4
or dil, 0x98
or r15b, 0xbc
xor r15b, dil
mov r12d, r14d
and r12b, 0x20
or r12b, 0x8e
mov edi, r14d
and dil, 0xd8
xor dil, r12b
xor dil, r15b
mov r15d, r14d
xor r15b, 0xf8
xor r14b, 7
or r14b, r15b
xor dil, 0x52
mov r15d, edi
xor r15b, r14b
or dil, r14b
not dil
or dil, r15b
mov r14d, eax
and r14b, 0x38
xor r14b, 0x3f
and bl, 0xf8
or bl, r14b
or dl, 0x38
xor dl, bl
mov ebx, eax
xor bl, 0xf8
xor al, 7
or al, bl
not al
or al, dl
xor al, dil
mov byte [rcx + r11], al
inc rcx
cmp rcx, 0x3b
jne 0x18002be40
mov byte [0x18005ee55], 1
movabs rax, 0x4aee0cdd452e537f
add rax, qword [0x18005cb88]
jmp 0x18002c178
mov edx, 1
mov rcx, rdi
call fcn.18001b410
mov rcx, rsi
call fcn.18002c280
add eax, 0xffffffd0
cmp eax, 0xa
jb 0x18002bc19
cmp byte [0x18005ee89], 0
jne 0x18002c02a
mov rax, qword [0x18005cb70]
movabs rcx, 0x4aee0cdd452e81d7
add rcx, rax
movabs r8, 0x4aee0cdd452e81bb
add r8, rax
xor r9d, r9d
movabs r10, 0x4924924924924925
lea r11, [0x18005ee56]
nop
mov rax, r9
shr rax, 2
mul r10
shr rdx, 1
imul rax, rdx, 0xffffffffffffffe4
add rax, r8
movzx r14d, byte [rcx + r9]
movzx eax, byte [r9 + rax]
mov ebx, eax
not bl
mov r15d, r14d
xor r15b, 0x20
and r15b, r14b
mov edi, eax
and dil, 0x34
mov r12d, r14d
and r12b, 0x20
mov edx, r15d
and dl, 0x34
xor dl, r12b
and r14b, 0xcb
and r15b, 0x20
xor dl, 0xe8
or dl, r15b
xor dl, r14b
mov r14d, eax
or r14b, 0x34
mov r12d, r14d
not r12b
mov r13d, r12d
and r13b, 1
mov r15d, eax
and r15b, 2
or r15b, r13b
and bl, 0xc8
lea r13d, [rdi + 3]
xor r15b, 0x36
and r15b, r13b
or r15b, bl
and r12b, 0x42
and r14b, 0xb9
or r14b, r12b
xor r14b, dil
xor r14b, 0xb9
xor al, 0x34
or al, r14b
not al
or al, r15b
xor al, dl
xor al, 0x23
mov byte [r9 + r11], al
inc r9
cmp r9, 0x33
jne 0x18002bf70
mov byte [0x18005ee89], 1
movabs rax, 0x4aee0cdd452e537f
add rax, qword [0x18005cb90]
jmp 0x18002c178
mov edx, 1
mov rcx, rdi
mov r9b, 0x30
call fcn.18001b410
mov ebx, 5
mov rcx, rsi
call fcn.18002c280
cmp eax, 0x65
je 0x18002bbc6
cmp eax, 0x45
je 0x18002bbc6
cmp eax, 0x2e
jne 0x18002bc6d
movzx r9d, byte [rsi + 0x90]
mov rax, qword [rsi + 0x60]
mov rcx, qword [rsi + 0x68]
cmp rax, rcx
jae 0x18002c0ad
lea rdx, [rax + 1]
mov qword [rsi + 0x60], rdx
mov rdx, rdi
cmp rcx, 0x10
jb 0x18002c0a2
mov rdx, qword [rsi + 0x50]
mov byte [rdx + rax], r9b
mov byte [rdx + rax + 1], 0
jmp 0x18002c0ba
mov edx, 1
mov rcx, rdi
call fcn.18001b410
mov rcx, rsi
call fcn.18002c280
add eax, 0xffffffd0
cmp eax, 9
jbe 0x18002c1bd
cmp byte [0x18005ee19], 0
jne 0x18002c167
mov rax, qword [0x18005cb70]
movabs r8, 0x4aee0cdd452e810e
add r8, rax
movabs r9, 0x4aee0cdd452e80fd
add r9, rax
xor ecx, ecx
movabs r10, 0xf0f0f0f0f0f0f0f1
lea r11, [0x18005edf0]
nop
mov rax, rcx
mul r10
mov rax, rdx
shr rax, 4
and rdx, 0xfffffffffffffff0
add rdx, rax
mov rax, r9
sub rax, rdx
movzx edx, byte [r8 + rcx]
mov ebx, edx
and bl, 0x76
mov edi, edx
and dil, 1
or dil, 0x32
xor dil, bl
mov ebx, edx
and bl, 0x88
or bl, dil
xor bl, dl
xor bl, 0xcd
and bl, byte [rax + rcx]
xor bl, dl
mov byte [rcx + r11], bl
inc rcx
cmp rcx, 0x29
jne 0x18002c110
mov byte [0x18005ee19], 1
movabs rax, 0x4aee0cdd452e537f
add rax, qword [0x18005cb80]
mov qword [rsi + 0x70], rax
mov eax, 0xe
add rsp, 0x38
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov edx, 1
mov rcx, rdi
call fcn.18001b410
mov rcx, rsi
call fcn.18002c280
lea ecx, [rax - 0x30]
cmp ecx, 0xa
jae 0x18002c1ef
movzx r9d, byte [rsi + 0x14]
mov rax, qword [rsi + 0x60]
mov rcx, qword [rsi + 0x68]
cmp rax, rcx
jae 0x18002c1a0
lea rdx, [rax + 1]
mov qword [rsi + 0x60], rdx
mov rdx, rdi
cmp rcx, 0x10
jb 0x18002c1e4
mov rdx, qword [rsi + 0x50]
mov byte [rdx + rax], r9b
mov byte [rdx + rax + 1], 0
jmp 0x18002c1ad
cmp eax, 0x45
je 0x18002bbc6
cmp eax, 0x65
je 0x18002bbc6
mov ebx, 7
jmp 0x18002bc6d
cmp eax, 0x30
jne 0x18002c225
mov edx, dword [rsi + 0x14]
mov rcx, rsi
call fcn.18002c540
mov ebx, 6
jmp 0x18002c055
movabs rcx, 0x4aee0cdd452e80ae
add rcx, qword [0x18005cb70]
call fcn.180045590
movabs rax, 0x4aee0cdd452e537f
add rax, qword [0x18005cb78]
jmp 0x18002c178