Function at 0x140184320
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x14018436c
test edx, edx
je 0x1401843bc
test r8d, r8d
je 0x1401843fc
test r9d, r9d
je 0x140184479
movzx eax, byte [0x14049fe1c]
cmp al, 0x74
je 0x140184364
mov cl, 0xe
nop dword [rax + rax]
mov al, 0x71
lock cmpxchg byte [0x14049fe1c], cl
je 0x1401845b9
cmp al, 0x74
jne 0x140184350
lea rax, [0x14049fdf0]
ret
test edx, edx
je 0x14018443c
test r8d, r8d
je 0x1401844ac
test r9d, r9d
je 0x14018451c
movzx eax, byte [0x1404a0036]
cmp al, 0x6d
je 0x1401843b4
mov cl, 0xdc
nop word cs:[rax + rax]
mov al, 2
lock cmpxchg byte [0x1404a0036], cl
je 0x140184689
cmp al, 0x6d
jne 0x1401843a0
lea rax, [0x1404a0010]
ret
test r8d, r8d
je 0x1401844e9
movzx eax, byte [0x14049fed0]
cmp al, 0x49
je 0x1401843f4
mov cl, 3
nop word cs:[rax + rax]
mov al, 0x81
lock cmpxchg byte [0x14049fed0], cl
je 0x1401845f1
cmp al, 0x49
jne 0x1401843e0
lea rax, [0x14049fec0]
ret
test r9d, r9d
je 0x140184549
movzx eax, byte [0x14049fe9f]
cmp al, 0x68
je 0x140184434
mov cl, 0x62
nop word cs:[rax + rax]
mov al, 0x8b
lock cmpxchg byte [0x14049fe9f], cl
je 0x1401846c1
cmp al, 0x68
jne 0x140184420
lea rax, [0x14049fe90]
ret
test r8d, r8d
je 0x140184579
test r9d, r9d
je 0x140184631
movzx eax, byte [0x1404a0052]
cmp al, 0x90
je 0x1401847d9
mov cl, 0xc0
nop
mov al, 0xa7
lock cmpxchg byte [0x1404a0052], cl
je 0x1401847ab
cmp al, 0x90
jne 0x140184460
jmp 0x1401847d9
movzx eax, byte [0x14049feb8]
cmp al, 0x61
je 0x1401844a4
mov cl, 0xf0
nop word cs:[rax + rax]
mov al, 0x23
lock cmpxchg byte [0x14049feb8], cl
je 0x140184701
cmp al, 0x61
jne 0x140184490
lea rax, [0x14049fea0]
ret
test r9d, r9d
je 0x140184659
movzx eax, byte [0x14049fe8d]
cmp al, 0x87
je 0x140184819
mov cl, 0x60
nop word cs:[rax + rax]
mov al, 0xf8
lock cmpxchg byte [0x14049fe8d], cl
je 0x1401847e1
cmp al, 0x87
jne 0x1401844d0
jmp 0x140184819
movzx eax, byte [0x1404a0095]
cmp al, 0x49
je 0x140184514
mov cl, 0x27
nop word cs:[rax + rax]
mov al, 6
lock cmpxchg byte [0x1404a0095], cl
je 0x140184741
cmp al, 0x49
jne 0x140184500
lea rax, [0x1404a0080]
ret
movzx eax, byte [0x14049ffa5]
cmp al, 0xe
je 0x140184859
mov cl, 0x53
nop dword [rax]
mov al, 0x60
lock cmpxchg byte [0x14049ffa5], cl
je 0x140184821
cmp al, 0xe
jne 0x140184530
jmp 0x140184859
movzx eax, byte [0x14049ffe3]
cmp al, 0xe
je 0x140184899
mov cl, 0x7a
nop word [rax + rax]
mov al, 0x17
lock cmpxchg byte [0x14049ffe3], cl
je 0x140184861
cmp al, 0xe
jne 0x140184560
jmp 0x140184899
test r9d, r9d
je 0x140184781
movzx eax, byte [0x1404a0042]
cmp al, 0x2d
je 0x140184919
mov cl, 0xa3
nop word cs:[rax + rax]
mov al, 0x1b
lock cmpxchg byte [0x1404a0042], cl
je 0x1401848e1
cmp al, 0x2d
jne 0x1401845a0
jmp 0x140184919
xor eax, eax
lea rcx, [0x14049fdf0]
lea rdx, [0x1403be7e0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x2c
jl 0x1401845d0
mov al, 0x74
xchg byte [0x14049fe1c], al
lea rax, [0x14049fdf0]
ret
xor eax, eax
lea rcx, [0x14049fec0]
lea rdx, [0x1403be8b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x140184610
mov al, 0x49
xchg byte [0x14049fed0], al
lea rax, [0x14049fec0]
ret
cmp byte [0x14049ff2e], 0
je 0x1401848d9
mov cl, 0x2e
mov al, 0xc6
lock cmpxchg byte [0x14049ff2e], cl
je 0x1401848a1
test al, al
jne 0x140184640
jmp 0x1401848d9
movzx eax, byte [0x1404a000f]
cmp al, 0x3a
je 0x140184959
mov cl, 0x85
nop word [rax + rax]
mov al, 0xb5
lock cmpxchg byte [0x1404a000f], cl
je 0x140184921
cmp al, 0x3a
jne 0x140184670
jmp 0x140184959
xor eax, eax
lea rcx, [0x1404a0010]
lea rdx, [0x1403be9f0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x1401846a0
mov al, 0x6d
xchg byte [0x1404a0036], al
lea rax, [0x1404a0010]
ret
xor eax, eax
lea rcx, [0x14049fe90]
lea rdx, [0x1403be880]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x1401846e0
mov al, 0x68
xchg byte [0x14049fe9f], al
lea rax, [0x14049fe90]
ret
xor eax, eax
lea rcx, [0x14049fea0]
lea rdx, [0x1403be890]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x140184720
mov al, 0x61
xchg byte [0x14049feb8], al
lea rax, [0x14049fea0]
ret
xor eax, eax
lea rcx, [0x1404a0080]
lea rdx, [0x1403bea60]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x140184760
mov al, 0x49
xchg byte [0x1404a0095], al
lea rax, [0x1404a0080]
ret
movzx eax, byte [0x14049fef5]
cmp al, 0x9a
je 0x14018498a
mov cl, 0xa1
mov al, 0xfe
lock cmpxchg byte [0x14049fef5], cl
je 0x140184961
cmp al, 0x9a
jne 0x140184792
jmp 0x14018498a
xor eax, eax
lea rcx, [0x1404a0050]
lea rdx, [0x1403bea30]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x1401847c0
mov al, 0x90
xchg byte [0x1404a0052], al
lea rax, [0x1404a0050]
ret
xor eax, eax
lea rcx, [0x14049fe80]
lea rdx, [0x1403be870]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140184800
mov al, 0x87
xchg byte [0x14049fe8d], al
lea rax, [0x14049fe80]
ret
xor eax, eax
lea rcx, [0x14049ffa0]
lea rdx, [0x1403be980]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x140184840
mov al, 0xe
xchg byte [0x14049ffa5], al
lea rax, [0x14049ffa0]
ret
xor eax, eax
lea rcx, [0x14049ffc0]
lea rdx, [0x1403be9a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x140184880
mov al, 0xe
xchg byte [0x14049ffe3], al
lea rax, [0x14049ffc0]
ret
xor eax, eax
lea rcx, [0x14049ff20]
lea rdx, [0x1403be900]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x1401848c0
xor eax, eax
xchg byte [0x14049ff2e], al
lea rax, [0x14049ff20]
ret
xor eax, eax
lea rcx, [0x1404a0040]
lea rdx, [0x1403bea20]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x140184900
mov al, 0x2d
xchg byte [0x1404a0042], al
lea rax, [0x1404a0040]
ret
xor eax, eax
lea rcx, [0x1404a0000]
lea rdx, [0x1403be9e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x140184940
mov al, 0x3a
xchg byte [0x1404a000f], al
lea rax, [0x1404a0000]
ret
xor eax, eax
lea rcx, [0x14049fee0]
lea rdx, [0x1403be8c0]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x140184971
mov al, 0x9a
xchg byte [0x14049fef5], al
lea rax, [0x14049fee0]
ret