Function at 0x20139f30
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x20139f7c
test edx, edx
je 0x20139fcc
test r8d, r8d
je 0x2013a00c
test r9d, r9d
je 0x2013a089
movzx eax, byte [0x2045345d]
cmp al, 0x57
je 0x20139f74
mov cl, 0xe5
nop dword [rax + rax]
mov al, 0xb9
lock cmpxchg byte [0x2045345d], cl
je 0x2013a209
cmp al, 0x57
jne 0x20139f60
lea rax, [0x20453450]
ret
test edx, edx
je 0x2013a04c
test r8d, r8d
je 0x2013a0bc
test r9d, r9d
je 0x2013a139
movzx eax, byte [0x2045349f]
cmp al, 0x43
je 0x20139fc4
mov cl, 0x53
nop word cs:[rax + rax]
mov al, 0xd6
lock cmpxchg byte [0x2045349f], cl
je 0x2013a2d9
cmp al, 0x43
jne 0x20139fb0
lea rax, [0x20453490]
ret
test r8d, r8d
je 0x2013a0f9
test r9d, r9d
je 0x2013a169
movzx eax, byte [0x2045337c]
cmp al, 0xc5
je 0x2013a004
mov cl, 0x25
nop dword [rax + rax]
mov al, 0x18
lock cmpxchg byte [0x2045337c], cl
je 0x2013a311
cmp al, 0xc5
jne 0x20139ff0
lea rax, [0x20453360]
ret
test r9d, r9d
je 0x2013a199
movzx eax, byte [0x20453207]
cmp al, 0x8e
je 0x2013a044
mov cl, 0xb8
nop word cs:[rax + rax]
mov al, 0xee
lock cmpxchg byte [0x20453207], cl
je 0x2013a351
cmp al, 0x8e
jne 0x2013a030
lea rax, [0x20453200]
ret
test r8d, r8d
je 0x2013a1c9
test r9d, r9d
je 0x2013a241
movzx eax, byte [0x20453245]
cmp al, 0x9c
je 0x2013a429
mov cl, 0xba
nop
mov al, 0x14
lock cmpxchg byte [0x20453245], cl
je 0x2013a3fb
cmp al, 0x9c
jne 0x2013a070
jmp 0x2013a429
movzx eax, byte [0x20453348]
cmp al, 0x49
je 0x2013a0b4
mov cl, 0x53
nop word cs:[rax + rax]
mov al, 0xf3
lock cmpxchg byte [0x20453348], cl
je 0x2013a391
cmp al, 0x49
jne 0x2013a0a0
lea rax, [0x20453330]
ret
test r9d, r9d
je 0x2013a279
movzx eax, byte [0x20453252]
cmp al, 0xc5
je 0x2013a469
mov cl, 0xe0
nop word cs:[rax + rax]
mov al, 0x3d
lock cmpxchg byte [0x20453252], cl
je 0x2013a431
cmp al, 0xc5
jne 0x2013a0e0
jmp 0x2013a469
test r9d, r9d
je 0x2013a2a9
movzx eax, byte [0x204534ad]
cmp al, 0x78
je 0x2013a4a9
mov cl, 0xa3
nop word cs:[rax + rax]
mov al, 0xf9
lock cmpxchg byte [0x204534ad], cl
je 0x2013a471
cmp al, 0x78
jne 0x2013a120
jmp 0x2013a4a9
movzx eax, byte [0x2045335e]
cmp al, 0x9d
je 0x2013a4e9
mov cl, 0x16
nop word [rax + rax]
mov al, 0x2b
lock cmpxchg byte [0x2045335e], cl
je 0x2013a4b1
cmp al, 0x9d
jne 0x2013a150
jmp 0x2013a4e9
movzx eax, byte [0x204534c2]
cmp al, 0x49
je 0x2013a529
mov cl, 0xa7
nop word [rax + rax]
mov al, 0x8f
lock cmpxchg byte [0x204534c2], cl
je 0x2013a4f1
cmp al, 0x49
jne 0x2013a180
jmp 0x2013a529
movzx eax, byte [0x2045348b]
cmp al, 0x43
je 0x2013a569
mov cl, 0x20
nop word [rax + rax]
mov al, 0xfb
lock cmpxchg byte [0x2045348b], cl
je 0x2013a531
cmp al, 0x43
jne 0x2013a1b0
jmp 0x2013a569
test r9d, r9d
je 0x2013a3d1
movzx eax, byte [0x2045344b]
cmp al, 0x49
je 0x2013a5a9
mov cl, 0x9d
nop word cs:[rax + rax]
mov al, 0x68
lock cmpxchg byte [0x2045344b], cl
je 0x2013a571
cmp al, 0x49
jne 0x2013a1f0
jmp 0x2013a5a9
xor eax, eax
lea rcx, [0x20453450]
lea rdx, [0x20373a60]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x2013a220
mov al, 0x57
xchg byte [0x2045345d], al
lea rax, [0x20453450]
ret
movzx eax, byte [0x20453393]
cmp al, 0xb8
je 0x2013a5e9
mov cl, 0x35
nop word cs:[rax + rax]
mov al, 0x6b
lock cmpxchg byte [0x20453393], cl
je 0x2013a5b1
cmp al, 0xb8
jne 0x2013a260
jmp 0x2013a5e9
movzx eax, byte [0x204533db]
cmp al, 0x24
je 0x2013a629
mov cl, 0x4b
nop word [rax + rax]
mov al, 0x54
lock cmpxchg byte [0x204533db], cl
je 0x2013a5f1
cmp al, 0x24
jne 0x2013a290
jmp 0x2013a629
movzx eax, byte [0x204532f2]
cmp al, 0xbf
je 0x2013a669
mov cl, 0x5b
nop word [rax + rax]
mov al, 0xff
lock cmpxchg byte [0x204532f2], cl
je 0x2013a631
cmp al, 0xbf
jne 0x2013a2c0
jmp 0x2013a669
xor eax, eax
lea rcx, [0x20453490]
lea rdx, [0x20373aa0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x2013a2f0
mov al, 0x43
xchg byte [0x2045349f], al
lea rax, [0x20453490]
ret
xor eax, eax
lea rcx, [0x20453360]
lea rdx, [0x20373970]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x2013a330
mov al, 0xc5
xchg byte [0x2045337c], al
lea rax, [0x20453360]
ret
xor eax, eax
lea rcx, [0x20453200]
lea rdx, [0x20373820]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 7
jl 0x2013a370
mov al, 0x8e
xchg byte [0x20453207], al
lea rax, [0x20453200]
ret
xor eax, eax
lea rcx, [0x20453330]
lea rdx, [0x20373940]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x2013a3b0
mov al, 0x49
xchg byte [0x20453348], al
lea rax, [0x20453330]
ret
movzx eax, byte [0x20453321]
cmp al, 0xdc
je 0x2013a69a
mov cl, 0x44
mov al, 0x18
lock cmpxchg byte [0x20453321], cl
je 0x2013a671
cmp al, 0xdc
jne 0x2013a3e2
jmp 0x2013a69a
xor eax, eax
lea rcx, [0x20453210]
lea rdx, [0x20373830]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x35
jl 0x2013a410
mov al, 0x9c
xchg byte [0x20453245], al
lea rax, [0x20453210]
ret
xor eax, eax
lea rcx, [0x20453250]
lea rdx, [0x20373870]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x2013a450
mov al, 0xc5
xchg byte [0x20453252], al
lea rax, [0x20453250]
ret
xor eax, eax
lea rcx, [0x204534a0]
lea rdx, [0x20373ab0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x2013a490
mov al, 0x78
xchg byte [0x204534ad], al
lea rax, [0x204534a0]
ret
xor eax, eax
lea rcx, [0x20453350]
lea rdx, [0x20373960]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x2013a4d0
mov al, 0x9d
xchg byte [0x2045335e], al
lea rax, [0x20453350]
ret
xor eax, eax
lea rcx, [0x204534b0]
lea rdx, [0x20373ac0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x2013a510
mov al, 0x49
xchg byte [0x204534c2], al
lea rax, [0x204534b0]
ret
xor eax, eax
lea rcx, [0x20453480]
lea rdx, [0x20373a90]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x2013a550
mov al, 0x43
xchg byte [0x2045348b], al
lea rax, [0x20453480]
ret
xor eax, eax
lea rcx, [0x20453440]
lea rdx, [0x20373a50]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x2013a590
mov al, 0x49
xchg byte [0x2045344b], al
lea rax, [0x20453440]
ret
xor eax, eax
lea rcx, [0x20453390]
lea rdx, [0x203739a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x2013a5d0
mov al, 0xb8
xchg byte [0x20453393], al
lea rax, [0x20453390]
ret
xor eax, eax
lea rcx, [0x204533d0]
lea rdx, [0x203739e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x2013a610
mov al, 0x24
xchg byte [0x204533db], al
lea rax, [0x204533d0]
ret
xor eax, eax
lea rcx, [0x204532e0]
lea rdx, [0x203738f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x2013a650
mov al, 0xbf
xchg byte [0x204532f2], al
lea rax, [0x204532e0]
ret
xor eax, eax
lea rcx, [0x20453310]
lea rdx, [0x20373920]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x2013a681
mov al, 0xdc
xchg byte [0x20453321], al
lea rax, [0x20453310]
ret