Function at 0x140138200
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x30
test ecx, ecx
je 0x140138259
test edx, edx
je 0x1401382a9
test r8d, r8d
je 0x1401382e9
test r9d, r9d
je 0x140138369
movzx eax, byte [0x1404892f5]
cmp al, 0x25
je 0x140138519
mov cl, 0x62
nop word cs:[rax + rax]
mov al, 0x3a
lock cmpxchg byte [0x1404892f5], cl
je 0x1401384e9
cmp al, 0x25
jne 0x140138240
jmp 0x140138519
test edx, edx
je 0x140138329
test r8d, r8d
je 0x140138399
test r9d, r9d
je 0x140138419
movzx eax, byte [0x1404893cb]
cmp al, 0xea
je 0x1401385e9
mov cl, 0x3f
nop word cs:[rax + rax]
mov al, 0xb
lock cmpxchg byte [0x1404893cb], cl
je 0x1401385b9
cmp al, 0xea
jne 0x140138290
jmp 0x1401385e9
test r8d, r8d
je 0x1401383d9
test r9d, r9d
je 0x140138449
movzx eax, byte [0x1404891d1]
cmp al, 0x54
je 0x140138629
mov cl, 0xd6
nop dword [rax]
mov al, 0x75
lock cmpxchg byte [0x1404891d1], cl
je 0x1401385f5
cmp al, 0x54
jne 0x1401382d0
jmp 0x140138629
test r9d, r9d
je 0x140138479
movzx eax, byte [0x1404893bb]
cmp al, 0xd
je 0x140138669
mov cl, 0x4d
nop word cs:[rax + rax]
mov al, 0x76
lock cmpxchg byte [0x1404893bb], cl
je 0x140138635
cmp al, 0xd
jne 0x140138310
jmp 0x140138669
test r8d, r8d
je 0x1401384a9
test r9d, r9d
je 0x140138525
movzx eax, byte [0x140489290]
cmp al, 0xc1
je 0x140138709
mov cl, 0x71
nop dword [rax]
mov al, 0x49
lock cmpxchg byte [0x140489290], cl
je 0x1401386df
cmp al, 0xc1
jne 0x140138350
jmp 0x140138709
movzx eax, byte [0x1404892a9]
cmp al, 0x80
je 0x1401386a9
mov cl, 0x2e
nop word [rax + rax]
mov al, 0xe6
lock cmpxchg byte [0x1404892a9], cl
je 0x140138675
cmp al, 0x80
jne 0x140138380
jmp 0x1401386a9
test r9d, r9d
je 0x140138559
movzx eax, byte [0x1404892c7]
cmp al, 0x2f
je 0x1401387a9
mov esi, dword [rsp + 0x70]
mov cl, 0xa5
nop word [rax + rax]
mov al, 0xc0
lock cmpxchg byte [0x1404892c7], cl
je 0x140138715
cmp al, 0x2f
jne 0x1401383c0
jmp 0x1401387a9
test r9d, r9d
je 0x140138589
movzx eax, byte [0x14048935f]
cmp al, 0x24
je 0x1401387e9
mov cl, 0xb9
nop word cs:[rax + rax]
mov al, 0x1b
lock cmpxchg byte [0x14048935f], cl
je 0x1401387b5
cmp al, 0x24
jne 0x140138400
jmp 0x1401387e9
movzx eax, byte [0x1404893a2]
cmp al, 0x1c
je 0x140138829
mov cl, 0xcf
nop word [rax + rax]
mov al, 0xf6
lock cmpxchg byte [0x1404893a2], cl
je 0x1401387f5
cmp al, 0x1c
jne 0x140138430
jmp 0x140138829
movzx eax, byte [0x140489150]
cmp al, 0xe0
je 0x140138869
mov cl, 0x81
nop word [rax + rax]
mov al, 0x77
lock cmpxchg byte [0x140489150], cl
je 0x140138835
cmp al, 0xe0
jne 0x140138460
jmp 0x140138869
movzx eax, byte [0x140489386]
cmp al, 0xd7
je 0x1401388a9
mov cl, 1
nop word [rax + rax]
mov al, 0xf0
lock cmpxchg byte [0x140489386], cl
je 0x140138875
cmp al, 0xd7
jne 0x140138490
jmp 0x1401388a9
test r9d, r9d
je 0x1401386b5
movzx eax, byte [0x140489266]
cmp al, 0x30
je 0x1401388e9
mov cl, 0x8b
nop word cs:[rax + rax]
mov al, 0x39
lock cmpxchg byte [0x140489266], cl
je 0x1401388b5
cmp al, 0x30
jne 0x1401384d0
jmp 0x1401388e9
xor eax, eax
lea rcx, [0x1404892f0]
lea rdx, [0x1403bb700]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x140138500
mov al, 0x25
xchg byte [0x1404892f5], al
lea rax, [0x1404892f0]
jmp 0x1401389e2
movzx eax, byte [0x1404892ec]
cmp al, 0xac
je 0x140138929
mov cl, 4
nop word cs:[rax + rax]
mov al, 0x4c
lock cmpxchg byte [0x1404892ec], cl
je 0x1401388f5
cmp al, 0xac
jne 0x140138540
jmp 0x140138929
movzx eax, byte [0x140489249]
cmp al, 0xd3
je 0x140138969
mov cl, 0x11
nop word [rax + rax]
mov al, 0x1f
lock cmpxchg byte [0x140489249], cl
je 0x140138935
cmp al, 0xd3
jne 0x140138570
jmp 0x140138969
movzx eax, byte [0x140489392]
cmp al, 0xd9
je 0x1401389a9
mov cl, 0x12
nop word [rax + rax]
mov al, 0x44
lock cmpxchg byte [0x140489392], cl
je 0x140138972
cmp al, 0xd9
jne 0x1401385a0
jmp 0x1401389a9
xor eax, eax
lea rcx, [0x1404893c0]
lea rdx, [0x1403bb7d0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x1401385d0
mov al, 0xea
xchg byte [0x1404893cb], al
lea rax, [0x1404893c0]
jmp 0x1401389e2
xor eax, eax
lea rcx, [0x1404891c0]
lea rdx, [0x1403bb5a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x140138610
mov al, 0x54
xchg byte [0x1404891d1], al
lea rax, [0x1404891c0]
jmp 0x1401389e2
xor eax, eax
lea rcx, [0x1404893b0]
lea rdx, [0x1403bb7c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x140138650
mov al, 0xd
xchg byte [0x1404893bb], al
lea rax, [0x1404893b0]
jmp 0x1401389e2
xor eax, eax
lea rcx, [0x1404892a0]
lea rdx, [0x1403bb670]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x140138690
mov al, 0x80
xchg byte [0x1404892a9], al
lea rax, [0x1404892a0]
jmp 0x1401389e2
movzx eax, byte [0x140489273]
cmp al, 0x19
je 0x1401389db
mov cl, 0x9e
mov al, 0x74
lock cmpxchg byte [0x140489273], cl
je 0x1401389b2
cmp al, 0x19
jne 0x1401386c6
jmp 0x1401389db
xor eax, eax
lea rcx, [0x140489280]
lea rdx, [0x1403bb660]
nop
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x1401386f0
mov al, 0xc1
xchg byte [0x140489290], al
lea rax, [0x140489280]
jmp 0x1401389e2
cmp qword [0x1404ee650], 0
jne 0x14013877a
mov eax, esi
xor eax, 0x81b5ac8e
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 4
xor ebx, ebx
xor ecx, ecx
mov edx, 1
xor r8d, r8d
xor r9d, r9d
call fcn.140137f80
mov rdi, rax
mov qword [0x1404ee650], rax
xor esi, 0xa17fcbd0
lea rcx, [0x140137e70]
mov edx, esi
call fcn.140137f30
lea rax, [0x1403bb6a0]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 2
jle 0x14013876b
mov rax, qword [0x1404ee650]
xor ecx, ecx
lea rdx, [0x1403bb6b0]
nop word [rax + rax]
movzx r8d, byte [rcx + rdx]
add byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x140138790
mov al, 0x2f
xchg byte [0x1404892c7], al
mov rax, qword [0x1404ee650]
jmp 0x1401389e2
xor eax, eax
lea rcx, [0x140489350]
lea rdx, [0x1403bb760]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x1401387d0
mov al, 0x24
xchg byte [0x14048935f], al
lea rax, [0x140489350]
jmp 0x1401389e2
xor eax, eax
lea rcx, [0x1404893a0]
lea rdx, [0x1403bb7b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x140138810
mov al, 0x1c
xchg byte [0x1404893a2], al
lea rax, [0x1404893a0]
jmp 0x1401389e2
xor eax, eax
lea rcx, [0x140489140]
lea rdx, [0x1403bb530]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x140138850
mov al, 0xe0
xchg byte [0x140489150], al
lea rax, [0x140489140]
jmp 0x1401389e2
xor eax, eax
lea rcx, [0x140489360]
lea rdx, [0x1403bb770]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x140138890
mov al, 0xd7
xchg byte [0x140489386], al
lea rax, [0x140489360]
jmp 0x1401389e2
xor eax, eax
lea rcx, [0x140489250]
lea rdx, [0x1403bb630]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x16
jl 0x1401388d0
mov al, 0x30
xchg byte [0x140489266], al
lea rax, [0x140489250]
jmp 0x1401389e2
xor eax, eax
lea rcx, [0x1404892d0]
lea rdx, [0x1403bb6e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x140138910
mov al, 0xac
xchg byte [0x1404892ec], al
lea rax, [0x1404892d0]
jmp 0x1401389e2
xor eax, eax
lea rcx, [0x140489240]
lea rdx, [0x1403bb620]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x140138950
mov al, 0xd3
xchg byte [0x140489249], al
lea rax, [0x140489240]
jmp 0x1401389e2
xor eax, eax
lea rcx, [0x140489390]
lea rdx, [0x1403bb7a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x140138990
mov al, 0xd9
xchg byte [0x140489392], al
lea rax, [0x140489390]
jmp 0x1401389e2
xor eax, eax
lea rcx, [0x140489270]
lea rdx, [0x1403bb650]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x1401389c2
mov al, 0x19
xchg byte [0x140489273], al
lea rax, [0x140489270]
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret