Function at 0x140255d80
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov eax, 0xe9b3cf9f
add eax, dword [0x1404e6e40]
cmp ecx, eax
jne 0x140255e54
test edx, edx
je 0x140255e76
mov ecx, 0x1664c897
mov edx, 0x99b1b44f
call fcn.140258850
test al, 1
jne 0x140256049
lea rsi, [rsp + 0x30]
lea rdi, [rsp + 0x2e]
xor ebx, ebx
jmp 0x140255de2
movzx eax, byte [0x1404e6e44]
add al, 0x82
cmp bpl, al
je 0x140256049
mov rcx, rsi
mov rdx, rdi
mov r8d, 0x851f4074
mov r9d, 0x41021de0
call fcn.1402589c0
movzx ebp, byte [rsp + 0x2e]
movzx ecx, byte [rsp + 0x30]
movzx edx, byte [rsp + 0x31]
mov r8d, 0x190d7440
mov r9d, 0xfaa02da7
call fcn.1400fa530
test al, 1
jne 0x140255f38
nop word cs:[rax + rax]
mov ecx, 0xc24888e4
mov edx, 0xcbc4a314
call fcn.1402589e0
test al, 1
je 0x140255e47
test bl, bl
je 0x140255dd0
mov eax, dword [0x14051e51c]
cmp eax, 0x32
jge 0x140255e30
jmp 0x140255e43
test edx, edx
je 0x140255eb7
mov eax, dword [0x14051e51c]
mov ecx, 0xe9b3cfd1
add ecx, dword [0x1404e6e40]
cmp eax, ecx
jl 0x140256114
jmp 0x140256126
movzx eax, byte [0x1404e5270]
cmp al, 0x49
je 0x140256039
lea rsi, [rsp + 0x2d]
nop word [rax + rax]
mov rcx, rsi
mov edx, 0x5d6aa3ca
mov r8d, 0x17fac0d0
call fcn.140258900
test al, 1
jne 0x140255f61
cmp byte [rsp + 0x2d], 0x49
jne 0x140255e90
jmp 0x140256039
movzx eax, byte [0x1404e5232]
cmp al, 0x84
je 0x140255ff1
xor ecx, ecx
mov edx, 0xe9b3cfc9
mov r8b, 0x30
test cl, cl
jne 0x140255f20
movzx r9d, byte [0x1404e6e44]
lea eax, [r9 + 0x78]
add r9b, 0xd0
lock cmpxchg byte [0x1404e5232], r9b
sete r9b
mov r10d, dword [0x14051e51c]
mov r11d, dword [0x1404e6e40]
add r11d, edx
cmp r10d, r11d
jge 0x140255f20
test r9b, r9b
jne 0x140255f9c
cmp al, 0x84
jne 0x140255ed0
jmp 0x140255ff1
mov al, 0xd8
lock cmpxchg byte [0x1404e5232], r8b
mov eax, dword [0x14051e51c]
cmp eax, 0x48
jge 0x140255ed0
jmp 0x140255ed4
mov eax, dword [0x14051e518]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, 0xe9b3cf9f
mov edx, dword [0x1404e6e40]
add edx, eax
cmp ecx, edx
jne 0x140256080
jmp 0x140256052
xor eax, eax
lea rcx, [0x1404e5260]
lea rdx, [0x1403fa8f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xf
jg 0x140256031
inc rax
jmp 0x140255f80
xor eax, eax
lea rsi, [0x1404e5220]
lea rdi, [0x1403fa8c0]
nop dword [rax]
movsxd rbx, eax
lea rdx, [rsi + rbx]
movzx eax, byte [rbx + rdi]
mov ecx, eax
xor cl, al
not cl
and cl, byte [rbx + rsi]
xor cl, al
mov r8d, 0x19597c98
mov r9d, 0x72397e7c
call fcn.14010e8a0
mov eax, dword [0x1404e6e40]
add eax, ebx
add eax, 0xe9b3cfa0
cmp eax, 0x12
jl 0x140255fb0
mov al, 0x84
xchg byte [0x1404e5232], al
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x44]
mov r8d, 0xd88ef37
mov r9d, 0xd88ef37
call fcn.140258620
mov eax, dword [rsp + 0x40]
imul eax, dword [rsp + 0x44]
mov ecx, 0xe9b3cfa1
add ecx, dword [0x1404e6e40]
xor edx, edx
div ecx
test edx, edx
jne 0x1402560f0
jmp 0x1402560d3
mov al, 0x49
xchg byte [0x1404e5270], al
lea rax, [0x1404e5260]
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
ret
lea rax, [0x1404e53e0]
jmp 0x140256040
lea rcx, [fcn.140255d80]
add ecx, ecx
add ecx, 0x2280
mov edx, ecx
not edx
and edx, ecx
mov ecx, dword [0x1404e6e40]
add ecx, eax
cmp edx, ecx
je 0x14025608d
nop word cs:[rax + rax]
mov ecx, dword [0x14051e51c]
cmp ecx, 0x31
jge 0x140256080
jmp 0x140256052
mov esi, 1
lea rdi, [0x1404e53e0]
lea rbx, [0x1403faa50]
lea eax, [rsi - 1]
cdqe
movzx ecx, byte [rax + rbx]
add byte [rax + rdi], cl
mov ecx, esi
mov edx, 0x28239f2f
mov r8d, 0x4823b76d
call fcn.140105b40
test al, 1
jne 0x1402560c6
inc esi
jmp 0x1402560a0
mov al, 0xe2
xchg byte [0x1404e53ed], al
jmp 0x140256049
mov eax, dword [0x14051e518]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x140256108
nop word cs:[rax + rax]
xor ecx, ecx
mov edx, 0xb1e82114
mov r8d, 0xa9b11403
call fcn.1400aa7f0
test al, 1
je 0x1402560f0
jmp 0x1402560d3
lea rax, [0x1404e5220]
jmp 0x140256040
movzx eax, byte [0x1404e542b]
mov ecx, dword [0x14051e51c]
cmp ecx, 0x25
jle 0x14025612f
movzx eax, byte [0x1404e542b]
jmp 0x140256114
cmp al, 2
je 0x140256217
lea rsi, [rsp + 0x2f]
mov edi, 0xe9b3cf9f
jmp 0x140256159
cmp bl, 2
je 0x140256217
mov rcx, rsi
mov edx, 0x82e2cc69
mov r8d, 0x8c294e5e
call fcn.140258500
test al, 1
jne 0x1402561bc
movzx ebx, byte [rsp + 0x2f]
nop word cs:[rax + rax]
cmp dword [0x1404e6e40], 0x164c3061
jne 0x1402561a7
mov eax, dword [0x14051e518]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, dword [0x1404e6e40]
add eax, edi
cmp ecx, eax
je 0x140256150
mov ecx, 0x4ebfdccc
mov edx, 0x4ebfdccc
call fcn.140258660
test al, 1
je 0x140256180
jmp 0x14025618c
xor edx, edx
lea rax, [0x1404e5410]
lea rcx, [0x1403faa80]
nop dword [rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
xor byte [rdx + rax], r8b
mov r8d, edx
xor r8d, 1
and edx, 1
lea edx, [r8 + rdx*2]
cmp edx, 0x1b
jl 0x1402561d0
mov eax, dword [0x14051e51c]
cmp eax, 0x61
jge 0x14025620d
mov al, 2
xchg byte [0x1404e542b], al
mov eax, dword [0x14051e51c]
cmp eax, 0x42
jle 0x140256217
mov al, 2
xchg byte [0x1404e542b], al
jmp 0x1402561fa
lea rax, [0x1404e5410]
jmp 0x140256040