Function at 0x1401fa910
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x30
mov esi, dword [rsp + 0x70]
test ecx, ecx
je 0x1401fa969
test edx, edx
je 0x1401fa9b9
test r8d, r8d
je 0x1401fa9f9
movzx eax, byte [0x1404ac278]
cmp al, 7
je 0x1401fab29
mov cl, 0x98
nop word cs:[rax + rax]
mov al, 0xa0
lock cmpxchg byte [0x1404ac278], cl
je 0x1401faaf9
cmp al, 7
jne 0x1401fa950
jmp 0x1401fab29
test edx, edx
je 0x1401faa39
test r8d, r8d
je 0x1401faa79
test r9d, r9d
je 0x1401fab35
movzx eax, byte [0x1404ac1b3]
cmp al, 0xd2
je 0x1401facc9
mov cl, 0xaf
nop word cs:[rax + rax]
mov al, 0x19
lock cmpxchg byte [0x1404ac1b3], cl
je 0x1401fac99
cmp al, 0xd2
jne 0x1401fa9a0
jmp 0x1401facc9
test r8d, r8d
je 0x1401faab9
test r9d, r9d
je 0x1401fab69
movzx eax, byte [0x1404ac25d]
cmp al, 0x51
je 0x1401fad09
mov cl, 0xfe
nop dword [rax]
mov al, 0x6a
lock cmpxchg byte [0x1404ac25d], cl
je 0x1401facd5
cmp al, 0x51
jne 0x1401fa9e0
jmp 0x1401fad09
test r9d, r9d
je 0x1401fab99
movzx eax, byte [0x1404ac0bd]
cmp al, 0x1f
je 0x1401fad49
mov cl, 0x4e
nop word cs:[rax + rax]
mov al, 0xc9
lock cmpxchg byte [0x1404ac0bd], cl
je 0x1401fad15
cmp al, 0x1f
jne 0x1401faa20
jmp 0x1401fad49
test r8d, r8d
je 0x1401fabc9
test r9d, r9d
je 0x1401fac09
movzx eax, byte [0x1404abf4d]
cmp al, 0xff
je 0x1401fada9
mov cl, 0xe9
nop dword [rax]
mov al, 0xaf
lock cmpxchg byte [0x1404abf4d], cl
je 0x1401fad7f
cmp al, 0xff
jne 0x1401faa60
jmp 0x1401fada9
test r9d, r9d
je 0x1401fac39
movzx eax, byte [0x1404ab9e9]
cmp al, 0x45
je 0x1401fae49
mov cl, 0x57
nop word cs:[rax + rax]
mov al, 0x99
lock cmpxchg byte [0x1404ab9e9], cl
je 0x1401fadb5
cmp al, 0x45
jne 0x1401faaa0
jmp 0x1401fae49
test r9d, r9d
je 0x1401fac69
movzx eax, byte [0x1404abefd]
cmp al, 0xba
je 0x1401fae89
mov cl, 0x23
nop word cs:[rax + rax]
mov al, 0xbc
lock cmpxchg byte [0x1404abefd], cl
je 0x1401fae55
cmp al, 0xba
jne 0x1401faae0
jmp 0x1401fae89
xor eax, eax
lea rcx, [0x1404ac260]
lea rdx, [0x1403c4740]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x1401fab10
mov al, 7
xchg byte [0x1404ac278], al
lea rax, [0x1404ac260]
jmp 0x1401fb0e2
movzx eax, byte [0x1404ac0cf]
cmp al, 0xc9
je 0x1401faec9
mov cl, 0x51
nop word cs:[rax + rax]
mov al, 0x40
lock cmpxchg byte [0x1404ac0cf], cl
je 0x1401fae95
cmp al, 0xc9
jne 0x1401fab50
jmp 0x1401faec9
movzx eax, byte [0x1404ab869]
cmp al, 0x3d
je 0x1401faf69
mov cl, 0xb0
nop word [rax + rax]
mov al, 0x7a
lock cmpxchg byte [0x1404ab869], cl
je 0x1401faed5
cmp al, 0x3d
jne 0x1401fab80
jmp 0x1401faf69
movzx eax, byte [0x1404abffd]
cmp al, 0xc9
je 0x1401fafa9
mov cl, 3
nop word [rax + rax]
mov al, 0x18
lock cmpxchg byte [0x1404abffd], cl
je 0x1401faf75
cmp al, 0xc9
jne 0x1401fabb0
jmp 0x1401fafa9
test r9d, r9d
je 0x1401fad55
movzx eax, byte [0x1404abe91]
cmp al, 0x5c
je 0x1401fafe9
mov cl, 0x17
nop word cs:[rax + rax]
mov al, 0xec
lock cmpxchg byte [0x1404abe91], cl
je 0x1401fafb5
cmp al, 0x5c
jne 0x1401fabf0
jmp 0x1401fafe9
movzx eax, byte [0x1404ac1cd]
cmp al, 0x8b
je 0x1401fb029
mov cl, 0xef
nop word [rax + rax]
mov al, 0xb2
lock cmpxchg byte [0x1404ac1cd], cl
je 0x1401faff5
cmp al, 0x8b
jne 0x1401fac20
jmp 0x1401fb029
movzx eax, byte [0x1404ac2fe]
cmp al, 0xe2
je 0x1401fb069
mov cl, 0x94
nop word [rax + rax]
mov al, 0x6a
lock cmpxchg byte [0x1404ac2fe], cl
je 0x1401fb035
cmp al, 0xe2
jne 0x1401fac50
jmp 0x1401fb069
movzx eax, byte [0x1404ac0ea]
cmp al, 0x73
je 0x1401fb0a9
mov cl, 0x5e
nop word [rax + rax]
mov al, 0xb9
lock cmpxchg byte [0x1404ac0ea], cl
je 0x1401fb072
cmp al, 0x73
jne 0x1401fac80
jmp 0x1401fb0a9
xor eax, eax
lea rcx, [0x1404ac1a0]
lea rdx, [0x1403c46b0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x13
jl 0x1401facb0
mov al, 0xd2
xchg byte [0x1404ac1b3], al
lea rax, [0x1404ac1a0]
jmp 0x1401fb0e2
xor eax, eax
lea rcx, [0x1404ac250]
lea rdx, [0x1403c4730]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401facf0
mov al, 0x51
xchg byte [0x1404ac25d], al
lea rax, [0x1404ac250]
jmp 0x1401fb0e2
xor eax, eax
lea rcx, [0x1404ac0b0]
lea rdx, [0x1403c45c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401fad30
mov al, 0x1f
xchg byte [0x1404ac0bd], al
lea rax, [0x1404ac0b0]
jmp 0x1401fb0e2
movzx eax, byte [0x1404abd4d]
cmp al, 0x38
je 0x1401fb0db
mov cl, 0xe8
mov al, 0xaa
lock cmpxchg byte [0x1404abd4d], cl
je 0x1401fb0b2
cmp al, 0x38
jne 0x1401fad66
jmp 0x1401fb0db
xor eax, eax
lea rcx, [0x1404abf40]
lea rdx, [0x1403c4450]
nop
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401fad90
mov al, 0xff
xchg byte [0x1404abf4d], al
lea rax, [0x1404abf40]
jmp 0x1401fb0e2
cmp qword [0x1404ef050], 0
jne 0x1401fae1b
mov eax, esi
xor eax, 0x4c4f5b26
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], 0
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov r8d, 0xc
xor r9d, r9d
call fcn.1401f7d00
mov rdi, rax
mov qword [0x1404ef050], rax
xor esi, 0xd06f8a7b
lea rcx, [0x1401f7c80]
mov edx, esi
call fcn.140137f30
lea rax, [0x1403c3e80]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 0xa
jle 0x1401fae0c
mov rax, qword [0x1404ef050]
xor ecx, ecx
lea rdx, [0x1403c3e90]
nop dword [rax + rax]
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 0xb
jl 0x1401fae30
mov al, 0x45
xchg byte [0x1404ab9e9], al
mov rax, qword [0x1404ef050]
jmp 0x1401fb0e2
xor eax, eax
lea rcx, [0x1404abef0]
lea rdx, [0x1403c4400]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401fae70
mov al, 0xba
xchg byte [0x1404abefd], al
lea rax, [0x1404abef0]
jmp 0x1401fb0e2
xor eax, eax
lea rcx, [0x1404ac0c0]
lea rdx, [0x1403c45d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x1401faeb0
mov al, 0xc9
xchg byte [0x1404ac0cf], al
lea rax, [0x1404ac0c0]
jmp 0x1401fb0e2
cmp qword [0x1404ef018], 0
jne 0x1401faf3b
mov eax, esi
xor eax, 0xd7f045e
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], 0
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov r8d, 4
xor r9d, r9d
call fcn.1401f7d00
mov rdi, rax
mov qword [0x1404ef018], rax
xor esi, 0x915fd503
lea rcx, [0x1401f7ba0]
mov edx, esi
call fcn.140137f30
lea rax, [0x1403c3bc0]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 2
jle 0x1401faf2c
mov rax, qword [0x1404ef018]
xor ecx, ecx
lea rdx, [0x1403c3bd0]
nop dword [rax + rax]
movzx r8d, byte [rcx + rdx]
add byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x1401faf50
mov al, 0x3d
xchg byte [0x1404ab869], al
mov rax, qword [0x1404ef018]
jmp 0x1401fb0e2
xor eax, eax
lea rcx, [0x1404abff0]
lea rdx, [0x1403c4500]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401faf90
mov al, 0xc9
xchg byte [0x1404abffd], al
lea rax, [0x1404abff0]
jmp 0x1401fb0e2
xor eax, eax
lea rcx, [0x1404abe80]
lea rdx, [0x1403c4390]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x1401fafd0
mov al, 0x5c
xchg byte [0x1404abe91], al
lea rax, [0x1404abe80]
jmp 0x1401fb0e2
xor eax, eax
lea rcx, [0x1404ac1c0]
lea rdx, [0x1403c46d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401fb010
mov al, 0x8b
xchg byte [0x1404ac1cd], al
lea rax, [0x1404ac1c0]
jmp 0x1401fb0e2
xor eax, eax
lea rcx, [0x1404ac2f0]
lea rdx, [0x1403c47d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x1401fb050
mov al, 0xe2
xchg byte [0x1404ac2fe], al
lea rax, [0x1404ac2f0]
jmp 0x1401fb0e2
xor eax, eax
lea rcx, [0x1404ac0e0]
lea rdx, [0x1403c45f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xa
jl 0x1401fb090
mov al, 0x73
xchg byte [0x1404ac0ea], al
lea rax, [0x1404ac0e0]
jmp 0x1401fb0e2
xor eax, eax
lea rcx, [0x1404abd40]
lea rdx, [0x1403c4260]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401fb0c2
mov al, 0x38
xchg byte [0x1404abd4d], al
lea rax, [0x1404abd40]
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret