Function at 0x140128c00
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x28
test ecx, ecx
je 0x140128c59
test edx, edx
je 0x140128ca9
test r8d, r8d
je 0x140128ce9
test r9d, r9d
je 0x140128d69
movzx eax, byte [0x14046ac31]
cmp al, 0x89
je 0x140128f19
mov cl, 0xd5
nop word cs:[rax + rax]
mov al, 0xa7
lock cmpxchg byte [0x14046ac31], cl
je 0x140128ee9
cmp al, 0x89
jne 0x140128c40
jmp 0x140128f19
test edx, edx
je 0x140128d29
test r8d, r8d
je 0x140128d99
test r9d, r9d
je 0x140128e19
movzx eax, byte [0x14046abb9]
cmp al, 0x36
je 0x140128fe9
mov cl, 0xf4
nop word cs:[rax + rax]
mov al, 0x3e
lock cmpxchg byte [0x14046abb9], cl
je 0x140128fb9
cmp al, 0x36
jne 0x140128c90
jmp 0x140128fe9
test r8d, r8d
je 0x140128dd9
test r9d, r9d
je 0x140128e49
movzx eax, byte [0x14046ad5d]
cmp al, 0x23
je 0x140129029
mov cl, 0x52
nop dword [rax]
mov al, 0xbb
lock cmpxchg byte [0x14046ad5d], cl
je 0x140128ff5
cmp al, 0x23
jne 0x140128cd0
jmp 0x140129029
test r9d, r9d
je 0x140128e79
movzx eax, byte [0x14046ac10]
cmp al, 0xb4
je 0x140129069
mov cl, 0x37
nop word cs:[rax + rax]
mov al, 0x5d
lock cmpxchg byte [0x14046ac10], cl
je 0x140129035
cmp al, 0xb4
jne 0x140128d10
jmp 0x140129069
test r8d, r8d
je 0x140128ea9
test r9d, r9d
je 0x140128f25
movzx eax, byte [0x14046acf6]
cmp al, 0xd8
je 0x140129109
mov cl, 0x8b
nop dword [rax]
mov al, 5
lock cmpxchg byte [0x14046acf6], cl
je 0x1401290df
cmp al, 0xd8
jne 0x140128d50
jmp 0x140129109
movzx eax, byte [0x14046ab06]
cmp al, 0xab
je 0x1401290a9
mov cl, 0xcb
nop word [rax + rax]
mov al, 0x6a
lock cmpxchg byte [0x14046ab06], cl
je 0x140129075
cmp al, 0xab
jne 0x140128d80
jmp 0x1401290a9
test r9d, r9d
je 0x140128f59
movzx eax, byte [0x14046aba0]
cmp al, 0xa4
je 0x140129149
mov cl, 0x2b
nop word cs:[rax + rax]
mov al, 0x85
lock cmpxchg byte [0x14046aba0], cl
je 0x140129115
cmp al, 0xa4
jne 0x140128dc0
jmp 0x140129149
test r9d, r9d
je 0x140128f89
movzx eax, byte [0x14046ac73]
cmp al, 0x51
je 0x140129189
mov cl, 0x33
nop word cs:[rax + rax]
mov al, 0xc6
lock cmpxchg byte [0x14046ac73], cl
je 0x140129155
cmp al, 0x51
jne 0x140128e00
jmp 0x140129189
movzx eax, byte [0x14046ab56]
cmp al, 0x33
je 0x1401291c9
mov cl, 0x52
nop word [rax + rax]
mov al, 0x44
lock cmpxchg byte [0x14046ab56], cl
je 0x140129195
cmp al, 0x33
jne 0x140128e30
jmp 0x1401291c9
movzx eax, byte [0x14046aacb]
cmp al, 0xf9
je 0x140129209
mov cl, 0xf6
nop word [rax + rax]
mov al, 0xdb
lock cmpxchg byte [0x14046aacb], cl
je 0x1401291d5
cmp al, 0xf9
jne 0x140128e60
jmp 0x140129209
movzx eax, byte [0x14046aa85]
cmp al, 0xcb
je 0x140129249
mov cl, 0x5b
nop word [rax + rax]
mov al, 0x2d
lock cmpxchg byte [0x14046aa85], cl
je 0x140129215
cmp al, 0xcb
jne 0x140128e90
jmp 0x140129249
test r9d, r9d
je 0x1401290b5
movzx eax, byte [0x14046abd6]
cmp al, 0xd8
je 0x140129289
mov cl, 0xe8
nop word cs:[rax + rax]
mov al, 0xe4
lock cmpxchg byte [0x14046abd6], cl
je 0x140129255
cmp al, 0xd8
jne 0x140128ed0
jmp 0x140129289
xor eax, eax
lea rcx, [0x14046ac20]
lea rdx, [0x14038fba0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x140128f00
mov al, 0x89
xchg byte [0x14046ac31], al
lea rax, [0x14046ac20]
jmp 0x1401293e2
movzx eax, byte [0x14046abc3]
cmp al, 0x2e
je 0x1401292c9
mov cl, 0xaf
nop word cs:[rax + rax]
mov al, 0x2a
lock cmpxchg byte [0x14046abc3], cl
je 0x140129295
cmp al, 0x2e
jne 0x140128f40
jmp 0x1401292c9
movzx eax, byte [0x14046abfa]
cmp al, 0xba
je 0x140129369
mov esi, dword [rsp + 0x60]
mov cl, 0xc2
nop
mov al, 0x2a
lock cmpxchg byte [0x14046abfa], cl
je 0x1401292d5
cmp al, 0xba
jne 0x140128f70
jmp 0x140129369
movzx eax, byte [0x14046adcd]
cmp al, 0x54
je 0x1401293a9
mov cl, 0xde
nop word [rax + rax]
mov al, 0x6a
lock cmpxchg byte [0x14046adcd], cl
je 0x140129372
cmp al, 0x54
jne 0x140128fa0
jmp 0x1401293a9
xor eax, eax
lea rcx, [0x14046abb0]
lea rdx, [0x14038fb00]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x140128fd0
mov al, 0x36
xchg byte [0x14046abb9], al
lea rax, [0x14046abb0]
jmp 0x1401293e2
xor eax, eax
lea rcx, [0x14046ad50]
lea rdx, [0x14038fcd0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140129010
mov al, 0x23
xchg byte [0x14046ad5d], al
lea rax, [0x14046ad50]
jmp 0x1401293e2
xor eax, eax
lea rcx, [0x14046ac00]
lea rdx, [0x14038fb90]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x140129050
mov al, 0xb4
xchg byte [0x14046ac10], al
lea rax, [0x14046ac00]
jmp 0x1401293e2
xor eax, eax
lea rcx, [0x14046aaf0]
lea rdx, [0x14038fa60]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x16
jl 0x140129090
mov al, 0xab
xchg byte [0x14046ab06], al
lea rax, [0x14046aaf0]
jmp 0x1401293e2
movzx eax, byte [0x14046ac65]
cmp al, 0x8f
je 0x1401293db
mov cl, 0x3a
mov al, 0x5d
lock cmpxchg byte [0x14046ac65], cl
je 0x1401293b2
cmp al, 0x8f
jne 0x1401290c6
jmp 0x1401293db
xor eax, eax
lea rcx, [0x14046acd0]
lea rdx, [0x14038fc50]
nop
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x1401290f0
mov al, 0xd8
xchg byte [0x14046acf6], al
lea rax, [0x14046acd0]
jmp 0x1401293e2
xor eax, eax
lea rcx, [0x14046ab90]
lea rdx, [0x14038faf0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x140129130
mov al, 0xa4
xchg byte [0x14046aba0], al
lea rax, [0x14046ab90]
jmp 0x1401293e2
xor eax, eax
lea rcx, [0x14046ac70]
lea rdx, [0x14038fbf0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x140129170
mov al, 0x51
xchg byte [0x14046ac73], al
lea rax, [0x14046ac70]
jmp 0x1401293e2
xor eax, eax
lea rcx, [0x14046ab40]
lea rdx, [0x14038fab0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x16
jl 0x1401291b0
mov al, 0x33
xchg byte [0x14046ab56], al
lea rax, [0x14046ab40]
jmp 0x1401293e2
xor eax, eax
lea rcx, [0x14046aac0]
lea rdx, [0x14038fa30]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x1401291f0
mov al, 0xf9
xchg byte [0x14046aacb], al
lea rax, [0x14046aac0]
jmp 0x1401293e2
xor eax, eax
lea rcx, [0x14046aa70]
lea rdx, [0x14038f9e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x140129230
mov al, 0xcb
xchg byte [0x14046aa85], al
lea rax, [0x14046aa70]
jmp 0x1401293e2
xor eax, eax
lea rcx, [0x14046abd0]
lea rdx, [0x14038fb20]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 6
jl 0x140129270
mov al, 0xd8
xchg byte [0x14046abd6], al
lea rax, [0x14046abd0]
jmp 0x1401293e2
xor eax, eax
lea rcx, [0x14046abc0]
lea rdx, [0x14038fb10]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x1401292b0
mov al, 0x2e
xchg byte [0x14046abc3], al
lea rax, [0x14046abc0]
jmp 0x1401293e2
cmp qword [0x1404bee98], 0
jne 0x140129334
mov r9d, esi
xor r9d, 0xd0187b2c
mov ecx, 1
mov edx, 1
mov r8d, 4
call fcn.140127f60
mov rdi, rax
mov qword [0x1404bee98], rax
xor esi, 0x7c2a31c1
lea rcx, [0x140127e40]
mov edx, esi
call fcn.1401099f0
xor eax, eax
lea rcx, [0x14038fb70]
movzx edx, byte [rax + rcx]
mov byte [rdi + rax], dl
inc rax
cmp eax, 2
jle 0x140129325
mov rax, qword [0x1404bee98]
xor ecx, ecx
lea rdx, [0x14038fb80]
nop word cs:[rax + rax]
movzx r8d, byte [rcx + rdx]
add byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x140129350
mov al, 0xba
xchg byte [0x14046abfa], al
mov rax, qword [0x1404bee98]
jmp 0x1401293e2
xor eax, eax
lea rcx, [0x14046adc0]
lea rdx, [0x14038fd40]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140129390
mov al, 0x54
xchg byte [0x14046adcd], al
lea rax, [0x14046adc0]
jmp 0x1401293e2
xor eax, eax
lea rcx, [0x14046ac60]
lea rdx, [0x14038fbe0]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x1401293c2
mov al, 0x8f
xchg byte [0x14046ac65], al
lea rax, [0x14046ac60]
add rsp, 0x28
pop rdi
pop rsi
ret