Function at 0x1401181a0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x28
test ecx, ecx
je 0x1401181f9
test edx, edx
je 0x140118249
test r8d, r8d
je 0x140118289
test r9d, r9d
je 0x140118309
movzx eax, byte [0x140428d21]
cmp al, 0x89
je 0x1401184b9
mov cl, 0xd5
nop word cs:[rax + rax]
mov al, 0xa7
lock cmpxchg byte [0x140428d21], cl
je 0x140118489
cmp al, 0x89
jne 0x1401181e0
jmp 0x1401184b9
test edx, edx
je 0x1401182c9
test r8d, r8d
je 0x140118339
test r9d, r9d
je 0x1401183b9
movzx eax, byte [0x140428ca9]
cmp al, 0x36
je 0x140118589
mov cl, 0xf4
nop word cs:[rax + rax]
mov al, 0x3e
lock cmpxchg byte [0x140428ca9], cl
je 0x140118559
cmp al, 0x36
jne 0x140118230
jmp 0x140118589
test r8d, r8d
je 0x140118379
test r9d, r9d
je 0x1401183e9
movzx eax, byte [0x140428e4d]
cmp al, 0x23
je 0x1401185c9
mov cl, 0x52
nop dword [rax]
mov al, 0xbb
lock cmpxchg byte [0x140428e4d], cl
je 0x140118595
cmp al, 0x23
jne 0x140118270
jmp 0x1401185c9
test r9d, r9d
je 0x140118419
movzx eax, byte [0x140428d00]
cmp al, 0xb4
je 0x140118609
mov cl, 0x37
nop word cs:[rax + rax]
mov al, 0x5d
lock cmpxchg byte [0x140428d00], cl
je 0x1401185d5
cmp al, 0xb4
jne 0x1401182b0
jmp 0x140118609
test r8d, r8d
je 0x140118449
test r9d, r9d
je 0x1401184c5
movzx eax, byte [0x140428de6]
cmp al, 0xd8
je 0x1401186a9
mov cl, 0x8b
nop dword [rax]
mov al, 5
lock cmpxchg byte [0x140428de6], cl
je 0x14011867f
cmp al, 0xd8
jne 0x1401182f0
jmp 0x1401186a9
movzx eax, byte [0x140428bf6]
cmp al, 0xab
je 0x140118649
mov cl, 0xcb
nop word [rax + rax]
mov al, 0x6a
lock cmpxchg byte [0x140428bf6], cl
je 0x140118615
cmp al, 0xab
jne 0x140118320
jmp 0x140118649
test r9d, r9d
je 0x1401184f9
movzx eax, byte [0x140428c90]
cmp al, 0xa4
je 0x1401186e9
mov cl, 0x2b
nop word cs:[rax + rax]
mov al, 0x85
lock cmpxchg byte [0x140428c90], cl
je 0x1401186b5
cmp al, 0xa4
jne 0x140118360
jmp 0x1401186e9
test r9d, r9d
je 0x140118529
movzx eax, byte [0x140428d63]
cmp al, 0x51
je 0x140118729
mov cl, 0x33
nop word cs:[rax + rax]
mov al, 0xc6
lock cmpxchg byte [0x140428d63], cl
je 0x1401186f5
cmp al, 0x51
jne 0x1401183a0
jmp 0x140118729
movzx eax, byte [0x140428c46]
cmp al, 0x33
je 0x140118769
mov cl, 0x52
nop word [rax + rax]
mov al, 0x44
lock cmpxchg byte [0x140428c46], cl
je 0x140118735
cmp al, 0x33
jne 0x1401183d0
jmp 0x140118769
movzx eax, byte [0x140428bbb]
cmp al, 0xf9
je 0x1401187a9
mov cl, 0xf6
nop word [rax + rax]
mov al, 0xdb
lock cmpxchg byte [0x140428bbb], cl
je 0x140118775
cmp al, 0xf9
jne 0x140118400
jmp 0x1401187a9
movzx eax, byte [0x140428b75]
cmp al, 0xcb
je 0x1401187e9
mov cl, 0x5b
nop word [rax + rax]
mov al, 0x2d
lock cmpxchg byte [0x140428b75], cl
je 0x1401187b5
cmp al, 0xcb
jne 0x140118430
jmp 0x1401187e9
test r9d, r9d
je 0x140118655
movzx eax, byte [0x140428cc6]
cmp al, 0xd8
je 0x140118829
mov cl, 0xe8
nop word cs:[rax + rax]
mov al, 0xe4
lock cmpxchg byte [0x140428cc6], cl
je 0x1401187f5
cmp al, 0xd8
jne 0x140118470
jmp 0x140118829
xor eax, eax
lea rcx, [0x140428d10]
lea rdx, [0x140354580]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x1401184a0
mov al, 0x89
xchg byte [0x140428d21], al
lea rax, [0x140428d10]
jmp 0x140118982
movzx eax, byte [0x140428cb3]
cmp al, 0x2e
je 0x140118869
mov cl, 0xaf
nop word cs:[rax + rax]
mov al, 0x2a
lock cmpxchg byte [0x140428cb3], cl
je 0x140118835
cmp al, 0x2e
jne 0x1401184e0
jmp 0x140118869
movzx eax, byte [0x140428cea]
cmp al, 0xba
je 0x140118909
mov esi, dword [rsp + 0x60]
mov cl, 0xc2
nop
mov al, 0x2a
lock cmpxchg byte [0x140428cea], cl
je 0x140118875
cmp al, 0xba
jne 0x140118510
jmp 0x140118909
movzx eax, byte [0x140428ebd]
cmp al, 0x54
je 0x140118949
mov cl, 0xde
nop word [rax + rax]
mov al, 0x6a
lock cmpxchg byte [0x140428ebd], cl
je 0x140118912
cmp al, 0x54
jne 0x140118540
jmp 0x140118949
xor eax, eax
lea rcx, [0x140428ca0]
lea rdx, [0x1403544e0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x140118570
mov al, 0x36
xchg byte [0x140428ca9], al
lea rax, [0x140428ca0]
jmp 0x140118982
xor eax, eax
lea rcx, [0x140428e40]
lea rdx, [0x1403546b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401185b0
mov al, 0x23
xchg byte [0x140428e4d], al
lea rax, [0x140428e40]
jmp 0x140118982
xor eax, eax
lea rcx, [0x140428cf0]
lea rdx, [0x140354570]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x1401185f0
mov al, 0xb4
xchg byte [0x140428d00], al
lea rax, [0x140428cf0]
jmp 0x140118982
xor eax, eax
lea rcx, [0x140428be0]
lea rdx, [0x140354440]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x16
jl 0x140118630
mov al, 0xab
xchg byte [0x140428bf6], al
lea rax, [0x140428be0]
jmp 0x140118982
movzx eax, byte [0x140428d55]
cmp al, 0x8f
je 0x14011897b
mov cl, 0x3a
mov al, 0x5d
lock cmpxchg byte [0x140428d55], cl
je 0x140118952
cmp al, 0x8f
jne 0x140118666
jmp 0x14011897b
xor eax, eax
lea rcx, [0x140428dc0]
lea rdx, [0x140354630]
nop
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x140118690
mov al, 0xd8
xchg byte [0x140428de6], al
lea rax, [0x140428dc0]
jmp 0x140118982
xor eax, eax
lea rcx, [0x140428c80]
lea rdx, [0x1403544d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x1401186d0
mov al, 0xa4
xchg byte [0x140428c90], al
lea rax, [0x140428c80]
jmp 0x140118982
xor eax, eax
lea rcx, [0x140428d60]
lea rdx, [0x1403545d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x140118710
mov al, 0x51
xchg byte [0x140428d63], al
lea rax, [0x140428d60]
jmp 0x140118982
xor eax, eax
lea rcx, [0x140428c30]
lea rdx, [0x140354490]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x16
jl 0x140118750
mov al, 0x33
xchg byte [0x140428c46], al
lea rax, [0x140428c30]
jmp 0x140118982
xor eax, eax
lea rcx, [0x140428bb0]
lea rdx, [0x140354410]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x140118790
mov al, 0xf9
xchg byte [0x140428bbb], al
lea rax, [0x140428bb0]
jmp 0x140118982
xor eax, eax
lea rcx, [0x140428b60]
lea rdx, [0x1403543c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x1401187d0
mov al, 0xcb
xchg byte [0x140428b75], al
lea rax, [0x140428b60]
jmp 0x140118982
xor eax, eax
lea rcx, [0x140428cc0]
lea rdx, [0x140354500]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 6
jl 0x140118810
mov al, 0xd8
xchg byte [0x140428cc6], al
lea rax, [0x140428cc0]
jmp 0x140118982
xor eax, eax
lea rcx, [0x140428cb0]
lea rdx, [0x1403544f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x140118850
mov al, 0x2e
xchg byte [0x140428cb3], al
lea rax, [0x140428cb0]
jmp 0x140118982
cmp qword [0x140477840], 0
jne 0x1401188d4
mov r9d, esi
xor r9d, 0xd0187b2c
mov ecx, 1
mov edx, 1
mov r8d, 4
call fcn.140117500
mov rdi, rax
mov qword [0x140477840], rax
xor esi, 0x7c2a31c1
lea rcx, [0x1401173e0]
mov edx, esi
call fcn.1400f8f30
xor eax, eax
lea rcx, [0x140354550]
movzx edx, byte [rax + rcx]
mov byte [rdi + rax], dl
inc rax
cmp eax, 2
jle 0x1401188c5
mov rax, qword [0x140477840]
xor ecx, ecx
lea rdx, [0x140354560]
nop word cs:[rax + rax]
movzx r8d, byte [rcx + rdx]
add byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x1401188f0
mov al, 0xba
xchg byte [0x140428cea], al
mov rax, qword [0x140477840]
jmp 0x140118982
xor eax, eax
lea rcx, [0x140428eb0]
lea rdx, [0x140354720]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140118930
mov al, 0x54
xchg byte [0x140428ebd], al
lea rax, [0x140428eb0]
jmp 0x140118982
xor eax, eax
lea rcx, [0x140428d50]
lea rdx, [0x1403545c0]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x140118962
mov al, 0x8f
xchg byte [0x140428d55], al
lea rax, [0x140428d50]
add rsp, 0x28
pop rdi
pop rsi
ret