Function at 0x140038c60
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push r12
push r14
lea rbp, [rsp - 0x478]
sub rsp, 0x578
mov rax, qword [0x1401990d8]
xor rax, rsp
mov qword [rbp + 0x450], rax
cmp qword [rcx], 0xffffffffffffffff
movzx r14d, r8b
mov rbx, rdx
mov qword [rsp + 0x58], rcx
mov r12, rcx
mov dword [rsp + 0x70], 0x206
mov dword [rsp + 0x74], 0xa400
mov dword [rsp + 0x78], 0x31415352
mov dword [rsp + 0x7c], 0x200
mov dword [rbp - 0x80], 0x10001
mov dword [rbp - 0x7c], 0x9ab0c891
mov dword [rbp - 0x78], 0x73d2392c
mov dword [rbp - 0x74], 0x156f8f5e
mov dword [rbp - 0x70], 0xbd4fe72a
mov dword [rbp - 0x6c], 0x8d4eff66
mov dword [rbp - 0x68], 0x8dc0b38c
mov dword [rbp - 0x64], 0xdcb2f498
mov dword [rbp - 0x60], 0xbc514381
mov dword [rbp - 0x5c], 0x5074d6f3
mov dword [rbp - 0x58], 0xa887397f
mov dword [rbp - 0x54], 0x36065c1b
mov dword [rbp - 0x50], 0xd8a80847
mov dword [rbp - 0x4c], 0x6dfdad63
mov dword [rbp - 0x48], 0xf094a4b5
mov dword [rbp - 0x44], 0xc5eadfe0
mov dword [rbp - 0x40], 0xd2dc73f4
je 0x140038d3a
xor al, al
jmp 0x140039433
mov eax, dword [rbp + 0x4c0]
mov qword [rsp + 0x570], rdi
or rdi, 0xffffffffffffffff
mov dword [rcx + 0x1458], eax
mov rax, rdi
mov qword [rsp + 0x560], r15
mov dword [rcx + 0x1454], r9d
inc rax
cmp byte [rdx + rax], 0
jne 0x140038d64
cmp rax, 3
jbe 0x140038de0
cmp byte [rdx + 1], 0x3a
je 0x140038de0
mov r8d, 0x104
lea rdx, [rbp + 0x130]
xor ecx, ecx
call qword [fcn.140120540]
mov edx, 0x5c
lea rcx, [rbp + 0x130]
call fcn.1400e4110
mov rcx, rax
test rax, rax
je 0x140038dc1
sub rcx, rbx
nop word [rax + rax]
movzx eax, byte [rbx]
mov byte [rcx + rbx + 1], al
lea rbx, [rbx + 1]
test al, al
jne 0x140038db0
jmp 0x140038dfe
lea rcx, [rbp + 0x130]
sub rcx, rbx
nop dword [rax + rax]
movzx eax, byte [rbx]
mov byte [rcx + rbx], al
lea rbx, [rbx + 1]
test al, al
jne 0x140038dd0
jmp 0x140038dfe
lea rcx, [rbp + 0x130]
sub rcx, rbx
nop word [rax + rax]
movzx eax, byte [rbx]
mov byte [rcx + rbx], al
lea rbx, [rbx + 1]
test al, al
jne 0x140038df0
mov edx, 0x2e
lea rcx, [rbp + 0x130]
call fcn.1400e4110
xor edx, edx
lea rcx, [rbp + 0x20]
mov r8d, 0x104
mov byte [rax], 0
call fcn.1400a1af0
xor edx, edx
lea rcx, [rbp + 0x340]
mov r8d, 0x104
call fcn.1400a1af0
xor r15d, r15d
mov dword [rbp - 0x20], 0x18
lea rax, [rbp - 8]
mov dword [rbp - 0x10], r15d
lea rcx, [rbp - 8]
mov qword [rbp - 0x18], rax
mov ebx, r15d
lea edx, [r15 + 1]
call qword [0x1401200a0]
test eax, eax
je 0x140038e83
xor r9d, r9d
lea edx, [r15 + 1]
xor r8d, r8d
lea rcx, [rbp - 8]
call fcn.1405b7f86
nop
test eax, eax
lea rcx, [rbp - 0x20]
cmove rcx, rbx
mov rbx, rcx
lea rcx, [0x140191018]
mov qword [rsp + 0x5a8], rsi
call fcn.14003fd30
mov r8, rax
xor edx, edx
mov rcx, rbx
call fcn.1405b1436
nop
mov rbx, rax
test rax, rax
je 0x140038ed0
call qword [fcn.140120588]
mov rcx, rbx
cmp eax, 0xb7
jne 0x140038eca
call qword [fcn.140120590]
mov esi, 1
jmp 0x140038ed3
call qword [fcn.140120590]
mov rsi, r15
mov ebx, edi
nop word [rax + rax]
lea r8, [rbp + 0x130]
lea rcx, [rbp + 0x20]
cmp ebx, 0xffffffff
jne 0x140038efe
lea rdx, [0x140191028]
call fcn.14002e110
jmp 0x140038f0d
mov r9d, ebx
lea rdx, [0x140191030]
call fcn.14002e110
xor edx, edx
lea rcx, [rbp + 0x20]
call fcn.1400e4824
cmp eax, 0xffffffff
jne 0x140038f22
cmp ebx, 1
jge 0x140038f38
test rsi, rsi
jne 0x140038f31
lea rcx, [rbp + 0x20]
call qword [0x1401205b8]
inc ebx
cmp ebx, 0x63
jle 0x140038ee0
cmp ebx, 0xffffffff
jle 0x140038fd2
lea edi, [rbx - 1]
lea r8, [rbp + 0x130]
lea rcx, [rbp + 0x20]
cmp edi, 0xffffffff
jne 0x140038f62
lea rdx, [0x140191028]
call fcn.14002e110
jmp 0x140038f71
mov r9d, edi
lea rdx, [0x140191030]
call fcn.14002e110
mov r9d, ebx
lea r8, [rbp + 0x130]
lea rdx, [0x140191030]
lea rcx, [rbp + 0x340]
call fcn.14002e110
mov r8d, 1
lea rdx, [rbp + 0x340]
lea rcx, [rbp + 0x20]
call int.1405b0ce3
nop
test eax, eax
jne 0x140038fc7
xor r8d, r8d
lea rdx, [rbp + 0x340]
lea rcx, [rbp + 0x20]
call fcn.1405aee1b
nop
lea rcx, [rbp + 0x20]
call qword [0x1401205b8]
mov ebx, edi
cmp edi, 0xffffffff
jg 0x140038f41
lea r8, [rbp + 0x130]
lea rdx, [0x140191028]
lea rcx, [rbp + 0x20]
call fcn.14002e110
movzx eax, r14b
lea rcx, [rbp + 0x20]
xor r9d, r9d
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 0x80
mov edx, 0xc0000000
lea ebx, [rax*2 + 2]
lea r8d, [r9 + 5]
mov dword [rsp + 0x20], ebx
call qword [fcn.1401204d0]
mov qword [r12], rax
cmp rax, 0xffffffffffffffff
jne 0x140039050
mov qword [rsp + 0x30], r15
lea r8d, [rax + 2]
mov dword [rsp + 0x28], 0x80000080
lea rcx, [rbp + 0x20]
xor r9d, r9d
mov dword [rsp + 0x20], ebx
mov edx, 0xc0000000
call qword [fcn.1401204d0]
mov qword [r12], rax
mov rcx, qword [r12]
cmp rcx, 0xffffffffffffffff
jne 0x140039061
xor al, al
jmp 0x14003941b
mov qword [rsp + 0x568], r13
test r14b, r14b
je 0x14003907f
mov r9d, 2
xor r8d, r8d
xor edx, edx
call fcn.1405bc490
nop
lea r13, [r12 + 0x1038]
mov rcx, r13
call fcn.1405b9960
nop
movzx ebx, word [r12 + 0x1046]
lea rax, [r12 + 0x38]
movzx edi, word [r12 + 0x1044]
lea rcx, [0x140191040]
movzx esi, word [r12 + 0x1042]
movzx r14d, word [r12 + 0x1040]
movzx r15d, word [r12 + 0x103e]
movzx r12d, word [r12 + 0x103a]
movzx r13d, word [r13]
mov qword [rsp + 0x60], rax
call fcn.140040150
mov dword [rsp + 0x40], ebx
mov rdx, rax
mov dword [rsp + 0x38], edi
mov r9d, r12d
mov dword [rsp + 0x30], esi
mov r8d, r13d
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], r15d
call fcn.14002e110
mov rbx, qword [rsp + 0x58]
or rax, 0xffffffffffffffff
mov r13, qword [rsp + 0x568]
nop
inc rax
cmp byte [rsi + rax], 0
jne 0x140039120
xor r12d, r12d
cmp dword [rbx + 0x1458], 0x3e7
mov r14d, r12d
cmovne r14d, eax
cmp dword [rbx + 0x1454], r12d
je 0x140039183
movsxd rdx, r14d
test r14d, r14d
jle 0x140039400
mov rcx, rsi
nop word [rax + rax]
mov eax, dword [rbx + 0x1454]
lea rcx, [rcx + 1]
add eax, 2
mov dword [rbx + 0x1454], eax
add al, 0x43
xor byte [rcx - 1], al
sub rdx, 1
jne 0x140039160
jmp 0x140039400
call qword [fcn.140120550]
movzx r8d, word [rbx + 0x1046]
mov r9d, eax
movzx ecx, word [rbx + 0x103a]
movzx r10d, word [rbx + 0x103e]
movzx eax, word [rbx + 0x1044]
movzx edx, word [rbx + 0x1042]
add eax, r8d
imul r10d, ecx
add edx, eax
movzx ecx, word [rbx + 0x1038]
add edx, r9d
mov eax, 0xcccccccd
imul r10d, ecx
imul r10d, r8d
inc r10d
imul r10d, edx
mov dword [rbx + 0x1048], r10d
mov word [rbx + 0x104a], r12w
mov r8d, dword [rbx + 0x1048]
or r8d, 0xfc000000
mul r8d
mov ecx, r8d
shr edx, 3
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
xor ecx, 0x55
shl ecx, 0x10
or ecx, r8d
mov dword [rbx + 0x1048], ecx
call qword [fcn.140120550]
mov ecx, eax
call fcn.1400b1210
mov rdi, r12
call fcn.1400b11e4
and eax, 0x800000ff
jge 0x140039239
dec eax
or eax, 0xffffff00
inc eax
mov byte [rbp + rdi - 0x30], al
inc rdi
cmp rdi, 0x10
jl 0x140039224
lea r8, [rbp - 0x30]
mov edx, 0x10
lea rcx, [rbx + 0x104c]
call fcn.140044f10
mov r9d, 1
mov qword [rsp + 0x60], r12
lea r8, [0x140191090]
mov qword [rsp + 0x58], r12
xor edx, edx
mov dword [rsp + 0x20], 0xf0000000
lea rcx, [rsp + 0x60]
call fcn.1405b6f21
nop
test eax, eax
je 0x1400393eb
mov rcx, qword [rsp + 0x60]
lea rax, [rsp + 0x58]
xor r9d, r9d
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x70]
mov dword [rsp + 0x20], r12d
lea r8d, [r9 + 0x54]
call fcn.1405b440d
nop
test eax, eax
je 0x1400393de
mov rcx, qword [rsp + 0x58]
lea rax, [rsp + 0x50]
xor r9d, r9d
mov dword [rsp + 0x30], r12d
mov qword [rsp + 0x28], rax
xor edx, edx
mov dword [rsp + 0x50], r12d
mov qword [rsp + 0x20], r12
lea r8d, [r9 + 1]
call fcn.1405bb10d
nop
mov edi, dword [rsp + 0x50]
test edi, edi
je 0x14003937d
movups xmm0, xmmword [rbp - 0x30]
mov rcx, qword [rsp + 0x58]
xor r9d, r9d
mov dword [rsp + 0x30], edi
xor edx, edx
movd eax, xmm0
movups xmmword [rbp + 0x240], xmm0
lea r8d, [r9 + 1]
mov dword [rsp + 0x50], 0x10
xor al, 0x23
mov byte [rbp + 0x240], al
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x240]
mov qword [rsp + 0x20], rax
call fcn.1405bb10d
nop
test eax, eax
je 0x1400393d3
mov rcx, qword [rbx]
lea r9, [rsp + 0x50]
mov r8d, 4
mov dword [rsp + 0x54], 0xccfc00
lea rdx, [rsp + 0x54]
mov qword [rsp + 0x20], r12
call fcn.1405b232f
nop
mov r8d, edi
lea rdx, [rbp + 0x240]
jmp 0x1400393c0
mov rcx, qword [rbx]
lea r9, [rsp + 0x50]
mov r8d, 4
mov dword [rsp + 0x54], 0xccfd00
lea rdx, [rsp + 0x54]
mov qword [rsp + 0x20], r12
call fcn.1405b232f
nop
movdqu xmm1, xmmword [rbp - 0x7b]
mov r8d, 0x10
lea rdx, [rbp - 0x20]
movdqu xmm0, xmmword [rbp - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rbp - 0x20], xmm1
mov rcx, qword [rbx]
lea r9, [rsp + 0x50]
mov qword [rsp + 0x20], r12
call fcn.1405b232f
nop
mov rcx, qword [rsp + 0x58]
call fcn.1405b86a8
nop
mov rcx, qword [rsp + 0x60]
xor edx, edx
call fcn.1405b3a33
nop
mov r9, rsi
lea rcx, [rbx + 0x104c]
mov r8, rsi
mov edx, r14d
call fcn.140044ac0
mov rcx, qword [rbx]
lea r9, [rsp + 0x68]
mov r8d, r14d
mov qword [rsp + 0x20], r12
mov rdx, rsi
call fcn.1405b232f
nop
mov al, 1
mov rsi, qword [rsp + 0x5a8]
mov rdi, qword [rsp + 0x570]
mov r15, qword [rsp + 0x560]
mov rcx, qword [rbp + 0x450]
xor rcx, rsp
call fcn.14009ed10
add rsp, 0x578
pop r14
pop r12
pop rbx
pop rbp
ret