Function at 0x14003c480
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x50
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
mov rax, qword [0x140117040]
xor rax, rsp
mov qword [rsp + 0x48], rax
call fcn.140076479
mov ecx, 0x233830ab
sub ecx, 0x233830ab
cmp eax, ecx
jne 0x14003c918
jmp 0x14003c6e6
call fcn.140076656
mov ecx, 0x4f6be3c2
xor ecx, 0x4f6be3c2
mov qword [rbx + 0x10], rsi
mov rdx, rbx
add rdx, 0x18
mov qword [rsp + 0x28], rdx
mov edx, 0x500000
shr edx, 0x14
mov r8d, 0x500000
shl r8d, 0xc
or edx, r8d
mov dword [rsp + 0x20], edx
cmp eax, ecx
jne 0x14003c4bf
jmp 0x14003cac6
xor ecx, ecx
mov edx, eax
sub edx, 0xa
setl cl
lea rdx, case.0x14003c538.0
mov rcx, qword [rdx + rcx*8]
mov edx, dword [0x140114bc0]
xor edx, 0x3d77392
sub rcx, rdx
jmp rcx
jmp 0x14003c6ab
mov rax, qword [rsp + 0x28]
movabs rcx, 0x2250a1f732b65ad5
movabs rdx, 0x2250a1f732b65ad2
xor rcx, rdx
mov qword [rax], rcx
mov rax, qword [rdi]
mov qword [rbx], rax
mov rax, qword [rdi + 8]
mov qword [rbx + 8], rax
mov eax, 0x10000000
shr eax, 0x19
mov ecx, 0x10000000
shl ecx, 7
or eax, ecx
mov dword [rsp + 0x20], eax
jmp 0x14003c892
mov rax, rsi
or rax, 7
mov rcx, rax
sub rcx, 0xb
mov ecx, 0xa
cmovae rcx, rax
movabs rax, 0x7ffffffffffffffe
mov rdx, rcx
sub rdx, rax
cmovb rax, rcx
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.140022e90
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbx], rax
mov qword [rbx + 0x10], rsi
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x20], 0x11
mov eax, dword [0x140114bc4]
rol eax, 6
lea rcx, case.0x140017fd7.0
mov rax, qword [rcx + rax*8]
mov ecx, dword [0x140114bc8]
add ecx, 0x9e24559
movsxd rcx, ecx
sub rax, rcx
jmp rax
call fcn.140076567
xor ecx, ecx
shr ecx, 0xc
xor edx, edx
shl edx, 0x14
or ecx, edx
mov edx, 0x4395d428
xor edx, 0x4395d42f
mov dword [rsp + 0x20], edx
cmp eax, ecx
jne 0x14003c53a
jmp 0x14003c74d
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
cmp rcx, qword [0x140117040]
jne 0x14003cc36
jmp 0x14003cc2b
cmp eax, 0xf
jl 0x14003ca78
jmp 0x14003c840
mov qword [rbx + 0x10], rsi
mov rax, rbx
add rax, 0x18
mov qword [rsp + 0x28], rax
mov eax, 0x4aa7e30
sub eax, 0x4aa7e2b
mov dword [rsp + 0x20], eax
jmp 0x14003c903
jmp 0x14003ca6f
jmp 0x14003ca6f
mov eax, dword [0x140114bcc]
add eax, 0xaa14f655
cdqe
lea rcx, case.0x140017fd7.0
mov rax, qword [rcx + rax*8]
mov ecx, dword [0x140114bd0]
rol ecx, 0xd
sub rax, rcx
jmp rax
cmp eax, 9
jl 0x14003c884
jmp 0x14003c514
mov eax, 0x7a72b5d2
add eax, 0x858d4a3d
mov dword [rsp + 0x20], eax
jmp 0x14003c918
mov dword [rsp + 0x20], 0x12
mov eax, dword [0x140114bdc]
add eax, 0x5922cb4b
cdqe
lea rcx, case.0x140017fd7.0
mov rax, qword [rcx + rax*8]
mov ecx, dword [0x140114be0]
rol ecx, 3
sub rax, rcx
jmp rax
mov eax, 0x161dcda0
xor eax, 0x161dcda7
mov dword [rsp + 0x20], eax
jmp 0x14003c60f
jmp 0x14003c6ab
mov rax, qword [rsp + 0x38]
mov qword [rbx + 0x18], rax
mov ecx, 2
shl rcx, 0x3f
mov eax, 2
shr rax, 1
or rcx, rax
mov r8, rsi
shl r8, cl
movabs rax, 0xf3cdb56d8639bd31
movabs rcx, 0xf3cdb56d8639bd33
xor rax, rcx
mov rcx, r8
and rcx, rax
movabs rax, 0x1000000000000
shr rax, 0x2f
movabs rdx, 0x1000000000000
shl rdx, 0x11
or rax, rdx
imul rcx, rax
mov eax, 0x40000000
shr rax, 0x1d
mov edx, 0x40000000
shl rdx, 0x23
or rax, rdx
xor r8, rax
add r8, rcx
mov rcx, qword [rsp + 0x30]
mov rdx, rdi
call fcn.1400d8570
mov eax, 0x79f342d6
add eax, 0x860cbd31
mov dword [rsp + 0x20], eax
jmp 0x14003c6ab
cmp eax, 0x11
jl 0x14003c9bd
jmp 0x14003c9cb
cmp eax, 7
jl 0x14003ca0e
jmp 0x14003c96b
call fcn.1400765d0
mov ecx, 0xf5e8c9bd
xor ecx, 0xf5e8c9bd
mov rdx, qword [rsp + 0x28]
mov r8d, 0x3800
shr r8, 0xb
mov r9d, 0x3800
shl r9, 0x35
or r8, r9
mov qword [rdx], r8
mov rdx, qword [rdi]
mov qword [rbx], rdx
mov rdx, qword [rdi + 8]
mov qword [rbx + 8], rdx
mov edx, 0x4a355453
sub edx, 0x4a35544b
mov dword [rsp + 0x20], edx
cmp eax, ecx
jne 0x14003c53f
jmp 0x14003c6b2
call fcn.14007661d
mov ecx, 0x4ec88e44
xor ecx, 0x4ec88e44
cmp eax, ecx
je 0x14003c683
jmp 0x14003c4bf
test byte [rsp + 0x26], 1
jne 0x14003c9d6
jmp 0x14003cc18
call fcn.14005886c
mov ecx, 0xbfc10366
xor ecx, 0xbfc10366
mov edx, 0xe0000001
shl edx, 3
mov r8d, 0xe0000001
shr r8d, 0x1d
or edx, r8d
mov dword [rsp + 0x20], edx
cmp eax, ecx
jne 0x14003c6a6
jmp 0x14003c6e6
call fcn.14005886c
mov ecx, 0x14957905
add ecx, 0xeb6a86fb
cmp eax, ecx
jne 0x14003c60f
jmp 0x14003c74d
cmp eax, 8
jl 0x14003c63c
jmp 0x14003c94e
mov rax, 0xffffffffffffe7ff
shr rax, 0xc
mov rcx, 0xffffffffffffe7ff
shl rcx, 0x34
or rax, rcx
cmp rsi, rax
seta al
and al, 1
mov byte [rsp + 0x27], al
mov eax, 0x424dfb52
add eax, 0xbdb204b7
mov dword [rsp + 0x20], eax
jmp 0x14003c6ab
cmp eax, 0x10
jl 0x14003cbd3
jmp 0x14003c587
cmp eax, 0x12
jl 0x14003c765
jmp 0x14003c976
mov eax, 0xd00000
shr eax, 0x14
mov ecx, 0xd00000
shl ecx, 0xc
or eax, ecx
mov dword [rsp + 0x20], eax
jmp 0x14003c6ab
cmp eax, 5
je 0x14003cbb6
jmp 0x14003c908
mov eax, dword [rsp + 0x20]
jmp 0x14003cba8
cmp eax, 0xd
jl 0x14003cacb
jmp 0x14003cb7b
call fcn.1400764fc
mov ecx, 0xe7746f35
xor ecx, 0xe7746f35
mov edx, 0xc906c5d
add edx, 0xf36f93b5
mov dword [rsp + 0x20], edx
cmp eax, ecx
jne 0x14003c760
jmp 0x14003ca82
jmp 0x14003c6ab
mov eax, 7
shr eax, 0x1f
mov ecx, 7
shl ecx, 1
or eax, ecx
mov dword [rsp + 0x20], eax
jmp 0x14003c6ab
cmp eax, 0xe
jl 0x14003c8eb
jmp 0x14003c587
cmp eax, 0xc
jl 0x14003c6d8
jmp 0x14003c673
call fcn.14007659f
mov ecx, 0x2381af1f
xor ecx, 0x2381af1f
cmp eax, ecx
jne 0x14003c53f
jmp 0x14003c892
call fcn.1400764b9
mov ecx, 0x2d3c786a
sub ecx, 0x2d3c786a
cmp eax, ecx
jne 0x14003ca82
jmp 0x14003c71f
mov eax, 0x6a4105ff
sub eax, 0x6a4105f3
mov dword [rsp + 0x20], eax
jmp 0x14003c6ab
add rsp, 0x50
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
call fcn.1400865d0
int3
add byte [rax], al
call fcn.1400d8570
test rsi, rsi
je 0x14008e7c7
mov rax, r12
mov rcx, rsi
rep stosw word [rdi], ax
mov rax, rbx
jmp 0x14008e7ea
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
cli
mov rcx, qword [rcx]
cmp rcx, rdx
je 0x14008edc2
xor ebp, ebp
test rcx, rcx
je 0x14008ed7e
call fcn.1400be828
mov qword [rsi], rbp
test rdi, rdi
je 0x14008edc2
mov rbx, rdi
cmp word [rdi], bp
je 0x14008ed97
add rbx, 2
cmp word [rbx], bp
jne 0x14008ed8e
sub rbx, rdi
add rbx, 2
sar rbx, 1
add rbx, rbx
mov rcx, rbx
call fcn.1400bf03c
mov qword [rsi], rax
test rax, rax
je 0x14008edc2
mov r8, rbx
mov rdx, rdi
mov rcx, rax
call fcn.1400d8570
mov rbx, qword [rsp + 0x30]
mov rax, rsi
mov rsi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret