Function at 0x14024c410
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x40
test ecx, ecx
je 0x14024c4c9
mov ecx, edx
mov edx, 0xf27101d1
mov r8d, 0xa3f4ed75
call fcn.1400aa6a0
test al, 1
je 0x14024c552
mov ecx, dword [0x140576888]
mov edx, 0x752b1fab
mov r8d, 0x877f9219
call fcn.14024d7f0
jmp 0x14024c476
movzx eax, byte [0x140531bdc]
mov ecx, 0x24ef8a75
mov edx, 0xfba1abc4
call fcn.14024d7b0
test al, 1
je 0x14024c460
movzx eax, byte [0x140531bdc]
mov ecx, 0xe353e11
add ecx, dword [0x140531f20]
lea rdx, [fcn.14024c410]
add edx, edx
add edx, 0xa0
xor edx, ecx
not edx
test edx, ecx
jne 0x14024c460
cmp al, 0x67
je 0x14024c70a
mov cl, 0xeb
nop dword [rax]
mov al, 0x55
lock cmpxchg byte [0x140531bdc], cl
je 0x14024c660
cmp al, 0x67
jne 0x14024c4b0
jmp 0x14024c70a
test edx, edx
je 0x14024c5b7
movzx eax, byte [0x140531d0d]
cmp al, 0x33
je 0x14024c7e1
mov cl, 0x81
xor edx, edx
mov r8d, 0xe353e11
lea rax, [fcn.14024c410]
lea r9d, [rax + rax]
add r9d, 0xd60
jmp 0x14024c508
cmp al, 0x33
je 0x14024c7e1
mov al, 0x14
lock cmpxchg byte [0x140531d0d], cl
je 0x14024c731
nop dword [rax + rax]
test dl, dl
jne 0x14024c543
mov r10d, dword [0x140531f20]
add r10d, r8d
mov r11d, r9d
xor r11d, r10d
or r10d, r9d
not r10d
or r10d, r11d
cmp r10d, 0xffffffff
je 0x14024c500
mov r10d, dword [0x14057688c]
cmp r10d, 0x5f
jge 0x14024c520
jmp 0x14024c524
movzx eax, byte [0x140531b65]
cmp al, 0x3f
je 0x14024c725
lea rsi, [rsp + 0x30]
xor edi, edi
nop dword [rax + rax]
mov rcx, rsi
mov edx, 0xa7b5be33
mov r8d, 0x4becb7cf
call fcn.14024d7d0
test al, 1
jne 0x14024c688
movzx ebx, byte [rsp + 0x30]
mov rcx, rsi
mov edx, 0x6e55bfff
mov r8d, 0xf85bbc68
call fcn.14015bfb0
cmp dword [rsp + 0x30], 0
test dil, dil
jne 0x14024c5a8
cmp bl, 0x3f
jne 0x14024c570
jmp 0x14024c725
movzx eax, byte [0x140531c9a]
movzx ecx, byte [0x140531f30]
add cl, 0xf2
cmp al, cl
je 0x14024c883
mov cl, 0x15
lea rax, [fcn.14024c410]
lea edx, [rax + rax]
add edx, 0x1f60
mov r8d, edx
not r8d
nop dword [rax + rax]
mov al, 0xa9
lock cmpxchg byte [0x140531c9a], cl
je 0x14024c820
mov r9d, dword [0x140531f20]
lea r10d, [r9 + 0xe353e11]
mov r11d, edx
xor r11d, r10d
not r10d
and r10d, r8d
or r10d, r11d
not r10d
add r9d, 0xe353e10
cmp r10d, r9d
mov r9d, dword [0x140531f20]
mov r10d, r9d
xor r10d, 0xe353e10
and r9d, 0xe353e10
add r9d, r9d
add r9d, r10d
jne 0x14024c62a
movzx r9d, byte [0x140531f30]
add r9b, 0xf2
cmp al, r9b
jne 0x14024c5f0
jmp 0x14024c883
xor eax, eax
lea rcx, [0x140531bd0]
lea rdx, [0x140443ea0]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xb
jg 0x14024c702
inc rax
jmp 0x14024c670
xor esi, esi
lea rdi, [rsp + 0x3c]
lea rbx, [rsp + 0x30]
lea r14, [0x140443e20]
lea r15, [0x140531b50]
nop word cs:[rax + rax]
mov eax, dword [0x140531f20]
lea r9d, [rax - 0x3361da16]
mov ecx, eax
xor ecx, 0x5ba68be9
and eax, 0x5ba68be9
lea eax, [rcx + rax*2]
add eax, 0xc4213a9b
mov dword [rsp + 0x20], eax
mov ecx, esi
mov rdx, rdi
mov r8, rbx
call fcn.14024d760
movzx eax, byte [rsp + 0x3c]
mov rcx, qword [rsp + 0x30]
add al, byte [rcx + r14]
mov byte [rsi + r15], al
lea eax, [rsi + 1]
cmp eax, 0x14
jg 0x14024c716
inc rsi
jmp 0x14024c6b0
mov al, 0x67
xchg byte [0x140531bdc], al
lea rax, [0x140531bd0]
jmp 0x14024c88a
mov ecx, 0x15f10248
mov edx, 0x591c5eaa
call fcn.14024d780
lea rax, [0x140531b50]
jmp 0x14024c88a
xor edx, edx
lea rax, [0x140531d00]
lea rcx, [0x140443fd0]
nop word cs:[rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
xor byte [rdx + rax], r8b
mov r8d, edx
not r8d
mov r9d, r8d
and r9d, 1
mov r10d, edx
and r10d, 0xfffffffe
or r10d, r9d
xor edx, 1
and r8d, 0x7ffffffe
or r8d, edx
not r8d
lea edx, [r10 + r8*2]
cmp edx, 0xd
jl 0x14024c750
mov al, 1
nop
mov ecx, dword [0x14057688c]
cmp ecx, 0x38
jg 0x14024c7ac
mov ecx, dword [0x140576888]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x14024c7b2
test al, al
je 0x14024c790
jmp 0x14024c79b
mov al, 0x33
xchg byte [0x140531d0d], al
jmp 0x14024c7e1
mov eax, dword [0x14057688c]
mov ecx, dword [0x140531f20]
mov edx, ecx
xor edx, 0xe353e1c
and ecx, 0xe353e1c
lea ecx, [rdx + rcx*2]
cmp eax, ecx
jl 0x14024c7ec
mov eax, dword [0x14057688c]
cmp eax, 0xc
jg 0x14024c7c0
mov eax, dword [0x140576888]
mov ecx, eax
sub ecx, dword [0x140531f20]
add ecx, 0xf1cac1ef
imul ecx, eax
mov edx, 0x2e326a0f
mov r8d, 0x251d7a87
call fcn.14024d7a0
test al, 1
je 0x14024c7c0
lea rax, [0x140531d00]
jmp 0x14024c88a
xor eax, eax
lea rcx, [0x140531c70]
lea rdx, [0x140443f40]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x29
jg 0x14024c848
inc rax
jmp 0x14024c830
lea rcx, [rsp + 0x3c]
lea rdx, [rsp + 0x30]
mov r8d, 0xc69198f2
mov r9d, 0x7dc90075
call fcn.14024de20
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x14024c870
mov ecx, 0x6c5fa5b2
mov edx, 0xc69198f2
call fcn.14024d790
lea rax, [0x140531c70]
add rsp, 0x40
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret