Function at 0x1400fa790
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x28
test ecx, ecx
je 0x1400fa7e9
test edx, edx
je 0x1400fa839
test r8d, r8d
je 0x1400fa879
test r9d, r9d
je 0x1400fa8f9
movzx eax, byte [0x14043cc41]
cmp al, 0x89
je 0x1400faaa9
mov cl, 0xd5
nop word cs:[rax + rax]
mov al, 0xa7
lock cmpxchg byte [0x14043cc41], cl
je 0x1400faa79
cmp al, 0x89
jne 0x1400fa7d0
jmp 0x1400faaa9
test edx, edx
je 0x1400fa8b9
test r8d, r8d
je 0x1400fa929
test r9d, r9d
je 0x1400fa9a9
movzx eax, byte [0x14043cbc9]
cmp al, 0x36
je 0x1400fab79
mov cl, 0xf4
nop word cs:[rax + rax]
mov al, 0x3e
lock cmpxchg byte [0x14043cbc9], cl
je 0x1400fab49
cmp al, 0x36
jne 0x1400fa820
jmp 0x1400fab79
test r8d, r8d
je 0x1400fa969
test r9d, r9d
je 0x1400fa9d9
movzx eax, byte [0x14043cd6d]
cmp al, 0x23
je 0x1400fabb9
mov cl, 0x52
nop dword [rax]
mov al, 0xbb
lock cmpxchg byte [0x14043cd6d], cl
je 0x1400fab85
cmp al, 0x23
jne 0x1400fa860
jmp 0x1400fabb9
test r9d, r9d
je 0x1400faa09
movzx eax, byte [0x14043cc20]
cmp al, 0xb4
je 0x1400fabf9
mov cl, 0x37
nop word cs:[rax + rax]
mov al, 0x5d
lock cmpxchg byte [0x14043cc20], cl
je 0x1400fabc5
cmp al, 0xb4
jne 0x1400fa8a0
jmp 0x1400fabf9
test r8d, r8d
je 0x1400faa39
test r9d, r9d
je 0x1400faab5
movzx eax, byte [0x14043cd06]
cmp al, 0xd8
je 0x1400fac99
mov cl, 0x8b
nop dword [rax]
mov al, 5
lock cmpxchg byte [0x14043cd06], cl
je 0x1400fac6f
cmp al, 0xd8
jne 0x1400fa8e0
jmp 0x1400fac99
movzx eax, byte [0x14043cb16]
cmp al, 0xab
je 0x1400fac39
mov cl, 0xcb
nop word [rax + rax]
mov al, 0x6a
lock cmpxchg byte [0x14043cb16], cl
je 0x1400fac05
cmp al, 0xab
jne 0x1400fa910
jmp 0x1400fac39
test r9d, r9d
je 0x1400faae9
movzx eax, byte [0x14043cbb0]
cmp al, 0xa4
je 0x1400facd9
mov cl, 0x2b
nop word cs:[rax + rax]
mov al, 0x85
lock cmpxchg byte [0x14043cbb0], cl
je 0x1400faca5
cmp al, 0xa4
jne 0x1400fa950
jmp 0x1400facd9
test r9d, r9d
je 0x1400fab19
movzx eax, byte [0x14043cc83]
cmp al, 0x51
je 0x1400fad19
mov cl, 0x33
nop word cs:[rax + rax]
mov al, 0xc6
lock cmpxchg byte [0x14043cc83], cl
je 0x1400face5
cmp al, 0x51
jne 0x1400fa990
jmp 0x1400fad19
movzx eax, byte [0x14043cb66]
cmp al, 0x33
je 0x1400fad59
mov cl, 0x52
nop word [rax + rax]
mov al, 0x44
lock cmpxchg byte [0x14043cb66], cl
je 0x1400fad25
cmp al, 0x33
jne 0x1400fa9c0
jmp 0x1400fad59
movzx eax, byte [0x14043cadb]
cmp al, 0xf9
je 0x1400fad99
mov cl, 0xf6
nop word [rax + rax]
mov al, 0xdb
lock cmpxchg byte [0x14043cadb], cl
je 0x1400fad65
cmp al, 0xf9
jne 0x1400fa9f0
jmp 0x1400fad99
movzx eax, byte [0x14043ca95]
cmp al, 0xcb
je 0x1400fadd9
mov cl, 0x5b
nop word [rax + rax]
mov al, 0x2d
lock cmpxchg byte [0x14043ca95], cl
je 0x1400fada5
cmp al, 0xcb
jne 0x1400faa20
jmp 0x1400fadd9
test r9d, r9d
je 0x1400fac45
movzx eax, byte [0x14043cbe6]
cmp al, 0xd8
je 0x1400fae19
mov cl, 0xe8
nop word cs:[rax + rax]
mov al, 0xe4
lock cmpxchg byte [0x14043cbe6], cl
je 0x1400fade5
cmp al, 0xd8
jne 0x1400faa60
jmp 0x1400fae19
xor eax, eax
lea rcx, [0x14043cc30]
lea rdx, [0x140360b70]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x1400faa90
mov al, 0x89
xchg byte [0x14043cc41], al
lea rax, [0x14043cc30]
jmp 0x1400faf72
movzx eax, byte [0x14043cbd3]
cmp al, 0x2e
je 0x1400fae59
mov cl, 0xaf
nop word cs:[rax + rax]
mov al, 0x2a
lock cmpxchg byte [0x14043cbd3], cl
je 0x1400fae25
cmp al, 0x2e
jne 0x1400faad0
jmp 0x1400fae59
movzx eax, byte [0x14043cc0a]
cmp al, 0xba
je 0x1400faef9
mov esi, dword [rsp + 0x60]
mov cl, 0xc2
nop
mov al, 0x2a
lock cmpxchg byte [0x14043cc0a], cl
je 0x1400fae65
cmp al, 0xba
jne 0x1400fab00
jmp 0x1400faef9
movzx eax, byte [0x14043cddd]
cmp al, 0x54
je 0x1400faf39
mov cl, 0xde
nop word [rax + rax]
mov al, 0x6a
lock cmpxchg byte [0x14043cddd], cl
je 0x1400faf02
cmp al, 0x54
jne 0x1400fab30
jmp 0x1400faf39
xor eax, eax
lea rcx, [0x14043cbc0]
lea rdx, [0x140360ad0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x1400fab60
mov al, 0x36
xchg byte [0x14043cbc9], al
lea rax, [0x14043cbc0]
jmp 0x1400faf72
xor eax, eax
lea rcx, [0x14043cd60]
lea rdx, [0x140360ca0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1400faba0
mov al, 0x23
xchg byte [0x14043cd6d], al
lea rax, [0x14043cd60]
jmp 0x1400faf72
xor eax, eax
lea rcx, [0x14043cc10]
lea rdx, [0x140360b60]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x1400fabe0
mov al, 0xb4
xchg byte [0x14043cc20], al
lea rax, [0x14043cc10]
jmp 0x1400faf72
xor eax, eax
lea rcx, [0x14043cb00]
lea rdx, [0x140360a30]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x16
jl 0x1400fac20
mov al, 0xab
xchg byte [0x14043cb16], al
lea rax, [0x14043cb00]
jmp 0x1400faf72
movzx eax, byte [0x14043cc75]
cmp al, 0x8f
je 0x1400faf6b
mov cl, 0x3a
mov al, 0x5d
lock cmpxchg byte [0x14043cc75], cl
je 0x1400faf42
cmp al, 0x8f
jne 0x1400fac56
jmp 0x1400faf6b
xor eax, eax
lea rcx, [0x14043cce0]
lea rdx, [0x140360c20]
nop
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x1400fac80
mov al, 0xd8
xchg byte [0x14043cd06], al
lea rax, [0x14043cce0]
jmp 0x1400faf72
xor eax, eax
lea rcx, [0x14043cba0]
lea rdx, [0x140360ac0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x1400facc0
mov al, 0xa4
xchg byte [0x14043cbb0], al
lea rax, [0x14043cba0]
jmp 0x1400faf72
xor eax, eax
lea rcx, [0x14043cc80]
lea rdx, [0x140360bc0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x1400fad00
mov al, 0x51
xchg byte [0x14043cc83], al
lea rax, [0x14043cc80]
jmp 0x1400faf72
xor eax, eax
lea rcx, [0x14043cb50]
lea rdx, [0x140360a80]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x16
jl 0x1400fad40
mov al, 0x33
xchg byte [0x14043cb66], al
lea rax, [0x14043cb50]
jmp 0x1400faf72
xor eax, eax
lea rcx, [0x14043cad0]
lea rdx, [0x140360a00]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x1400fad80
mov al, 0xf9
xchg byte [0x14043cadb], al
lea rax, [0x14043cad0]
jmp 0x1400faf72
xor eax, eax
lea rcx, [0x14043ca80]
lea rdx, [0x1403609b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x1400fadc0
mov al, 0xcb
xchg byte [0x14043ca95], al
lea rax, [0x14043ca80]
jmp 0x1400faf72
xor eax, eax
lea rcx, [0x14043cbe0]
lea rdx, [0x140360af0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 6
jl 0x1400fae00
mov al, 0xd8
xchg byte [0x14043cbe6], al
lea rax, [0x14043cbe0]
jmp 0x1400faf72
xor eax, eax
lea rcx, [0x14043cbd0]
lea rdx, [0x140360ae0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x1400fae40
mov al, 0x2e
xchg byte [0x14043cbd3], al
lea rax, [0x14043cbd0]
jmp 0x1400faf72
cmp qword [0x1404905a8], 0
jne 0x1400faec4
mov r9d, esi
xor r9d, 0xd0187b2c
mov ecx, 1
mov edx, 1
mov r8d, 4
call fcn.1400f9af0
mov rdi, rax
mov qword [0x1404905a8], rax
xor esi, 0x7c2a31c1
lea rcx, [0x1400f99d0]
mov edx, esi
call fcn.1400db710
xor eax, eax
lea rcx, [0x140360b40]
movzx edx, byte [rax + rcx]
mov byte [rdi + rax], dl
inc rax
cmp eax, 2
jle 0x1400faeb5
mov rax, qword [0x1404905a8]
xor ecx, ecx
lea rdx, [0x140360b50]
nop word cs:[rax + rax]
movzx r8d, byte [rcx + rdx]
add byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x1400faee0
mov al, 0xba
xchg byte [0x14043cc0a], al
mov rax, qword [0x1404905a8]
jmp 0x1400faf72
xor eax, eax
lea rcx, [0x14043cdd0]
lea rdx, [0x140360d10]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1400faf20
mov al, 0x54
xchg byte [0x14043cddd], al
lea rax, [0x14043cdd0]
jmp 0x1400faf72
xor eax, eax
lea rcx, [0x14043cc70]
lea rdx, [0x140360bb0]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x1400faf52
mov al, 0x8f
xchg byte [0x14043cc75], al
lea rax, [0x14043cc70]
add rsp, 0x28
pop rdi
pop rsi
ret