Function at 0x1403b6200
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
test ecx, ecx
je 0x1403b62ca
test edx, edx
je 0x1403b62f9
movzx eax, byte [0x14056255c]
cmp al, 0xff
je 0x1403b648e
lea rsi, [rsp + 0x30]
lea rdi, [rsp + 0x44]
jmp 0x1403b6249
cmp bl, 0xff
je 0x1403b648e
mov rcx, rsi
mov rdx, rdi
mov r8d, 0x545fab67
mov r9d, 0x37d4039c
call fcn.1403b6c10
cmp byte [rsp + 0x31], 0
jne 0x1403b63ec
movzx ebx, byte [rsp + 0x44]
mov eax, dword [0x14057910c]
cmp eax, 0x5b
jg 0x1403b62a0
nop dword [rax + rax]
mov eax, dword [0x140579108]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1403b6240
nop word cs:[rax + rax]
mov dword [rsp + 0x20], 0x39e216f8
mov ecx, ebx
mov rdx, rdi
mov r8, rsi
mov r9d, 0x2c7d82f2
call fcn.1403b68d0
mov eax, dword [rsp + 0x44]
imul eax, dword [rsp + 0x30]
test al, 1
jne 0x1403b62a0
jmp 0x1403b6280
test edx, edx
je 0x1403b636d
mov eax, dword [0x140579108]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
mov eax, 0x6f3824a5
add eax, dword [0x140562810]
cmp ecx, eax
je 0x1403b6782
jmp 0x1403b679c
movzx eax, byte [0x14056243c]
cmp al, 0x22
je 0x1403b656a
xor esi, esi
mov dil, 0xc4
nop dword [rax]
test sil, sil
jne 0x1403b6360
nop word cs:[rax + rax]
mov al, 0x66
lock cmpxchg byte [0x14056243c], dil
mov ebx, eax
sete bpl
mov ecx, dword [0x14057910c]
mov edx, 0x13fa4559
mov r8d, 0xd6c140b9
call fcn.1403b6c90
test al, 1
je 0x1403b6360
test bpl, bpl
jne 0x1403b64e7
cmp bl, 0x22
jne 0x1403b6310
jmp 0x1403b656a
mov al, 0x66
lock cmpxchg byte [0x14056243c], dil
jmp 0x1403b6320
movzx eax, byte [0x1405625d2]
cmp al, 0x61
je 0x1403b66a4
mov sil, 0x2c
jmp 0x1403b6399
cmp bl, 0x61
je 0x1403b66a4
mov al, 0x64
lock cmpxchg byte [0x1405625d2], sil
je 0x1403b65ab
mov ebx, eax
nop dword [rax]
mov ecx, 0xd67a5b09
mov edx, 0x655ecb6b
call fcn.1403b68e0
test al, 1
je 0x1403b63d4
mov eax, dword [0x140579108]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1403b6390
xor ecx, ecx
mov edx, 0x3fcbdf51
mov r8d, 0xb1b0e9f7
call fcn.1400aa6a0
test al, 1
je 0x1403b63b0
jmp 0x1403b63c3
xor esi, esi
lea rdi, [0x140562550]
lea rbx, [0x140460990]
nop dword [rax]
lea rdx, [rdi + rsi]
movzx ecx, byte [rsi + rdi]
add cl, byte [rsi + rbx]
mov eax, dword [0x140562810]
mov r8d, eax
xor r8d, 0x46c62f1c
mov r9d, eax
and r9d, 0x46c62f1c
lea r8d, [r8 + r9*2]
mov r9d, eax
xor r9d, 0x6306c30e
and eax, 0x6306c30e
lea r9d, [r9 + rax*2]
call fcn.1403b6ca0
lea eax, [rsi + 1]
cmp eax, 0xb
jg 0x1403b644e
inc rsi
jmp 0x1403b6400
mov ecx, dword [0x140579108]
lea rdx, [rsp + 0x30]
mov r8d, 0xd18e8eec
mov r9d, 0x570278c5
call fcn.1400aab10
nop word [rax + rax]
xor ecx, ecx
mov edx, 0xbb4f5cf9
mov r8d, 0x99ef93c2
call fcn.1400aa6a0
test al, 1
je 0x1403b6470
mov al, 0xff
xchg byte [0x14056255c], al
mov esi, 0x6f3824a5
nop word cs:[rax + rax]
mov eax, dword [0x140579108]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, dword [0x140562810]
add eax, esi
cmp ecx, eax
jne 0x1403b64ce
mov ecx, 0x9c42cf54
mov edx, 0xfdd13695
call fcn.1403b6bc0
test al, 1
jne 0x1403b64db
mov eax, dword [0x14057910c]
cmp eax, 0x56
jge 0x1403b64a0
jmp 0x1403b64bb
lea rax, [0x140562550]
jmp 0x1403b6725
xor esi, esi
lea rdi, [rsp + 0x30]
lea rbx, [0x140562430]
nop word cs:[rax + rax]
mov ecx, esi
mov rdx, rdi
mov r8d, 0x87dab065
mov r9d, 0xd94bdf6a
call fcn.1403b6b90
mov rcx, qword [rsp + 0x30]
mov dword [rsp + 0x20], 0xba5a79a
mov edx, esi
mov r8, rdi
mov r9d, 0xd4c7755d
call fcn.1403b6900
movzx eax, byte [rsp + 0x30]
movsxd rsi, esi
mov byte [rsi + rbx], al
mov eax, dword [0x140562810]
mov ecx, eax
xor ecx, 0x6f3824a6
and eax, 0x6f3824a6
lea eax, [rcx + rax*2]
add esi, eax
cmp esi, 0xc
jl 0x1403b6500
movzx eax, byte [0x140562814]
add al, 0x6b
xchg byte [0x14056243c], al
xor eax, eax
lea rcx, [fcn.1403b6200]
add ecx, ecx
add ecx, 0x4740
mov edx, ecx
not edx
nop
mov r8d, dword [0x140579108]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
jne 0x1403b6599
test al, al
je 0x1403b659f
test edx, ecx
jne 0x1403b6580
jmp 0x1403b6595
lea rax, [0x140562430]
jmp 0x1403b6725
mov edi, 0xffffffff
xor ebx, ebx
lea rsi, [rsp + 0x30]
lea r14, [0x1405625c0]
lea r15, [0x1404609f0]
nop word cs:[rax + rax]
mov ecx, dword [0x140579108]
lea edx, [rcx - 1]
mov eax, dword [0x140562810]
lea r9d, [rax - 0xb9ade03]
add eax, 0xfd9def1e
mov dword [rsp + 0x20], eax
mov r8, rsi
call fcn.1403b6b70
cmp dword [rsp + 0x30], 0
jne 0x1403b6630
nop
movzx eax, byte [rbx + r15]
mov ecx, eax
xor cl, al
not cl
and cl, byte [rbx + r14]
xor cl, al
mov byte [rbx + r14], cl
mov eax, dword [0x14057910c]
cmp eax, 0x48
jg 0x1403b6630
lea eax, [rbx + 1]
cmp eax, 0x11
jg 0x1403b6654
add edi, 2
inc rbx
jmp 0x1403b65d0
movzx ecx, byte [rbx + r14]
movzx edx, byte [rbx + r15]
mov eax, ecx
sub al, dl
mul dl
mov edx, eax
sub cl, al
mov eax, ecx
mul dl
sub al, dl
mul dl
xor al, dl
mov byte [rbx + r14], al
jmp 0x1403b6600
mov eax, dword [0x14057910c]
cmp eax, 0x29
jg 0x1403b6750
jmp 0x1403b6732
movzx eax, byte [0x140562814]
add al, 0xaa
xchg byte [0x1405625d2], al
mov ecx, 0xc170217d
mov edx, 0x9739bde7
call fcn.1403b6c30
test al, 1
jne 0x1403b66a4
movzx eax, byte [0x140562814]
mov ecx, eax
xor cl, 0xaa
and al, 0x2a
add al, al
add al, cl
xchg byte [0x1405625d2], al
jmp 0x1403b6668
mov esi, 0x6f3824c9
lea rax, [fcn.1403b6200]
lea edi, [rax + rax]
add edi, 0x3860
nop dword [rax]
mov ecx, 0xa7bcc01d
mov edx, 0xd54fd7c8
call fcn.14008b8b0
mov eax, dword [0x14057910c]
mov ecx, dword [0x140562810]
add ecx, esi
cmp eax, ecx
jge 0x1403b66fe
mov eax, dword [0x140562810]
lea ecx, [rax + 0x6f3824a6]
mov edx, edi
xor edx, ecx
not edx
and edx, ecx
add eax, 0x6f3824a5
cmp edx, eax
je 0x1403b671e
mov eax, dword [0x140579108]
mov ecx, dword [0x140562810]
neg ecx
add ecx, eax
add ecx, 0x90c7db5a
imul ecx, eax
test cl, 1
jne 0x1403b66c0
jmp 0x1403b66e1
lea rax, [0x1405625c0]
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
mov ecx, dword [0x14057910c]
mov edx, 0x4633f188
mov r8d, 0x5591342f
call fcn.1403b6d00
test al, 1
jne 0x1403b6770
nop dword [rax]
mov eax, dword [0x140579108]
mov ecx, dword [0x140562810]
neg ecx
add ecx, eax
add ecx, 0x90c7db5a
imul ecx, eax
test cl, 1
jne 0x1403b6750
jmp 0x1403b6732
cmp dword [0x140575a38], 0
jne 0x1403b668a
jmp 0x1403b6668
movzx ebx, byte [0x1405625fb]
mov ecx, 0x3b6ff909
mov edx, 0xff55d888
call fcn.140131a80
test al, 1
jne 0x1403b67d6
lea rsi, [0x1403b68b0]
mov bl, 1
nop word cs:[rax + rax]
movzx eax, byte [0x1405625fb]
mov ecx, 0x41
call fcn.1403d5a14
mov qword [0x1405790f0], rax
mov rcx, rsi
call fcn.1403f5a50
test bl, bl
je 0x1403b67b0
jmp 0x1403b6782
cmp bl, 0x73
je 0x1403b68a3
mov bl, 0x62
nop word cs:[rax + rax]
mov ecx, 0x88df8493
mov edx, 0x9a6dc8c
call fcn.140136bd0
test al, 1
je 0x1403b6840
nop word cs:[rax + rax]
mov al, 0xb3
lock cmpxchg byte [0x1405625fb], bl
sete cl
mov edx, dword [0x14057910c]
cmp edx, 0x56
jge 0x1403b6840
test cl, cl
jne 0x1403b685c
cmp al, 0x73
jne 0x1403b67f0
jmp 0x1403b68a3
mov ecx, 0x463c7a99
mov edx, 0x60f57560
call fcn.1403b6c40
mov eax, dword [0x14057910c]
cmp eax, 0x36
jge 0x1403b6840
jmp 0x1403b6810
xor esi, esi
lea rdi, [0x1405625e0]
lea rbx, [0x140460a10]
nop dword [rax]
movsxd rax, esi
movzx ecx, byte [rax + rbx]
xor byte [rax + rdi], cl
mov ecx, eax
xor ecx, 1
and eax, 1
lea esi, [rcx + rax*2]
mov ecx, esi
mov edx, 0x959fa541
mov r8d, 0x35c7b03b
call fcn.140246e40
test al, 1
je 0x1403b6870
mov al, 0x73
xchg byte [0x1405625fb], al
lea rax, [0x1405625e0]
jmp 0x1403b6725