Function at 0x1401389f0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x38
test ecx, ecx
je 0x140138a49
test edx, edx
je 0x140138a99
test r8d, r8d
je 0x140138ad9
test r9d, r9d
je 0x140138b59
movzx eax, byte [0x1404891b8]
cmp al, 0x24
je 0x140138cf9
mov cl, 0x99
nop word cs:[rax + rax]
mov al, 0x70
lock cmpxchg byte [0x1404891b8], cl
je 0x140138cc9
cmp al, 0x24
jne 0x140138a30
jmp 0x140138cf9
test edx, edx
je 0x140138b19
test r8d, r8d
je 0x140138b89
test r9d, r9d
je 0x140138c09
movzx eax, byte [0x14048934b]
cmp al, 0xf6
je 0x140138d99
mov cl, 0x7d
nop word cs:[rax + rax]
mov al, 0x75
lock cmpxchg byte [0x14048934b], cl
je 0x140138d69
cmp al, 0xf6
jne 0x140138a80
jmp 0x140138d99
test r8d, r8d
je 0x140138bc9
test r9d, r9d
je 0x140138c39
movzx eax, byte [0x1404892c6]
cmp al, 7
je 0x140138dd9
mov cl, 0xf
nop dword [rax]
mov al, 0x92
lock cmpxchg byte [0x1404892c6], cl
je 0x140138da5
cmp al, 7
jne 0x140138ac0
jmp 0x140138dd9
test r9d, r9d
je 0x140138c69
movzx eax, byte [0x140489303]
cmp al, 0xc5
je 0x140138e19
mov cl, 0x9f
nop word cs:[rax + rax]
mov al, 0xa6
lock cmpxchg byte [0x140489303], cl
je 0x140138de5
cmp al, 0xc5
jne 0x140138b00
jmp 0x140138e19
test r8d, r8d
je 0x140138c99
movzx eax, byte [0x1404893df]
cmp al, 0x61
je 0x140138e99
mov cl, 0xdf
nop word cs:[rax + rax]
mov al, 0xc
lock cmpxchg byte [0x1404893df], cl
je 0x140138e65
cmp al, 0x61
jne 0x140138b40
jmp 0x140138e99
movzx eax, byte [0x140489235]
cmp al, 0x68
je 0x140138e59
mov cl, 0xb8
nop word [rax + rax]
mov al, 0x94
lock cmpxchg byte [0x140489235], cl
je 0x140138e25
cmp al, 0x68
jne 0x140138b70
jmp 0x140138e59
test r9d, r9d
je 0x140138d05
cmp byte [0x140489333], 0
je 0x140138ed9
mov cl, 0x2e
nop word cs:[rax + rax]
mov al, 0x5b
lock cmpxchg byte [0x140489333], cl
je 0x140138ea5
test al, al
jne 0x140138bb0
jmp 0x140138ed9
test r9d, r9d
je 0x140138d39
movzx eax, byte [0x140489138]
cmp al, 0x69
je 0x140138f19
mov cl, 0xee
nop word cs:[rax + rax]
mov al, 0x2c
lock cmpxchg byte [0x140489138], cl
je 0x140138ee5
cmp al, 0x69
jne 0x140138bf0
jmp 0x140138f19
movzx eax, byte [0x1404892c8]
cmp al, 0xba
je 0x140138fb9
mov cl, 0xa0
nop word [rax + rax]
mov al, 5
lock cmpxchg byte [0x1404892c8], cl
je 0x140138f25
cmp al, 0xba
jne 0x140138c20
jmp 0x140138fb9
movzx eax, byte [0x140489175]
cmp al, 0x65
je 0x140138ff9
mov cl, 4
nop word [rax + rax]
mov al, 0x32
lock cmpxchg byte [0x140489175], cl
je 0x140138fc5
cmp al, 0x65
jne 0x140138c50
jmp 0x140138ff9
movzx eax, byte [0x140489216]
cmp al, 0x8b
je 0x140139039
mov cl, 0x28
nop word [rax + rax]
mov al, 0x70
lock cmpxchg byte [0x140489216], cl
je 0x140139005
cmp al, 0x8b
jne 0x140138c80
jmp 0x140139039
movzx eax, byte [0x1404892b3]
cmp al, 0xc5
je 0x140139079
mov cl, 0x3e
nop word [rax + rax]
mov al, 0x2d
lock cmpxchg byte [0x1404892b3], cl
je 0x140139045
cmp al, 0xc5
jne 0x140138cb0
jmp 0x140139079
xor eax, eax
lea rcx, [0x1404891a0]
lea rdx, [0x1403bb580]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x140138ce0
mov al, 0x24
xchg byte [0x1404891b8], al
lea rax, [0x1404891a0]
jmp 0x140139100
movzx eax, byte [0x1404891f5]
cmp al, 0x62
je 0x1401390b9
mov cl, 0x91
nop word cs:[rax + rax]
mov al, 0x6d
lock cmpxchg byte [0x1404891f5], cl
je 0x140139082
cmp al, 0x62
jne 0x140138d20
jmp 0x1401390b9
movzx eax, byte [0x140489192]
cmp al, 0x9c
je 0x1401390f9
mov cl, 0x7f
nop word [rax + rax]
mov al, 0xb
lock cmpxchg byte [0x140489192], cl
je 0x1401390c2
cmp al, 0x9c
jne 0x140138d50
jmp 0x1401390f9
xor eax, eax
lea rcx, [0x140489340]
lea rdx, [0x1403bb750]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x140138d80
mov al, 0xf6
xchg byte [0x14048934b], al
lea rax, [0x140489340]
jmp 0x140139100
xor eax, eax
lea rcx, [0x1404892c0]
lea rdx, [0x1403bb690]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 6
jl 0x140138dc0
mov al, 7
xchg byte [0x1404892c6], al
lea rax, [0x1404892c0]
jmp 0x140139100
xor eax, eax
lea rcx, [0x140489300]
lea rdx, [0x1403bb710]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x140138e00
mov al, 0xc5
xchg byte [0x140489303], al
lea rax, [0x140489300]
jmp 0x140139100
xor eax, eax
lea rcx, [0x140489220]
lea rdx, [0x1403bb600]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x140138e40
mov al, 0x68
xchg byte [0x140489235], al
lea rax, [0x140489220]
jmp 0x140139100
xor eax, eax
lea rcx, [0x1404893d0]
lea rdx, [0x1403bb7e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x140138e80
mov al, 0x61
xchg byte [0x1404893df], al
lea rax, [0x1404893d0]
jmp 0x140139100
xor eax, eax
lea rcx, [0x140489310]
lea rdx, [0x1403bb720]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x140138ec0
xor eax, eax
xchg byte [0x140489333], al
lea rax, [0x140489310]
jmp 0x140139100
xor eax, eax
lea rcx, [0x140489130]
lea rdx, [0x1403bb520]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 8
jl 0x140138f00
mov al, 0x69
xchg byte [0x140489138], al
lea rax, [0x140489130]
jmp 0x140139100
cmp qword [0x1404ee658], 0
jne 0x140138f84
mov dword [rsp + 0x28], 0x50a2d7ba
mov dword [rsp + 0x20], 4
xor edi, edi
xor ecx, ecx
mov edx, 1
xor r8d, r8d
xor r9d, r9d
call fcn.140137f80
mov rsi, rax
mov qword [0x1404ee658], rax
lea rcx, [0x140137e90]
mov edx, 0x7068b0e4
call fcn.140137f30
lea rax, [0x1403bb6c0]
movzx ecx, byte [rdi + rax]
mov byte [rsi + rdi], cl
inc rdi
cmp edi, 2
jle 0x140138f75
mov rax, qword [0x1404ee658]
xor ecx, ecx
lea rdx, [0x1403bb6d0]
nop word cs:[rax + rax]
movzx r8d, byte [rcx + rdx]
add byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x140138fa0
mov al, 0xba
xchg byte [0x1404892c8], al
mov rax, qword [0x1404ee658]
jmp 0x140139100
xor eax, eax
lea rcx, [0x140489160]
lea rdx, [0x1403bb540]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x140138fe0
mov al, 0x65
xchg byte [0x140489175], al
lea rax, [0x140489160]
jmp 0x140139100
xor eax, eax
lea rcx, [0x140489200]
lea rdx, [0x1403bb5e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x16
jl 0x140139020
mov al, 0x8b
xchg byte [0x140489216], al
lea rax, [0x140489200]
jmp 0x140139100
xor eax, eax
lea rcx, [0x1404892b0]
lea rdx, [0x1403bb680]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x140139060
mov al, 0xc5
xchg byte [0x1404892b3], al
lea rax, [0x1404892b0]
jmp 0x140139100
xor eax, eax
lea rcx, [0x1404891e0]
lea rdx, [0x1403bb5c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x1401390a0
mov al, 0x62
xchg byte [0x1404891f5], al
lea rax, [0x1404891e0]
jmp 0x140139100
xor eax, eax
lea rcx, [0x140489180]
lea rdx, [0x1403bb560]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x1401390e0
mov al, 0x9c
xchg byte [0x140489192], al
lea rax, [0x140489180]
add rsp, 0x38
pop rdi
pop rsi
ret