Function at 0x140072ee0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rsi, rcx
mov r8, qword [rcx + 0x118]
mov rcx, qword [r8 + 0x108]
mov rax, qword [r8 + 0x100]
mov r9, rcx
sub r9, rax
test r9, r9
jle 0x14007338e
movzx r10d, byte [rsi + 0x130]
nop word [rax + rax]
mov eax, dword [0x141dcb7d0]
xor eax, dword [0x141dcb7d4]
imul eax, eax, 0xcb1bca4d
and eax, 0xb35cf650
cmp eax, 0x9aba0fa4
je 0x140072f20
nop
mov eax, dword [0x141dcb7d8]
xor edx, edx
div dword [0x141dcb7dc]
imul eax, eax, 0x39e1ed7
add eax, 0xdc51f74d
cmp eax, 0xa4d8a1be
jb 0x140072f40
test r10b, r10b
je 0x1400730db
mov eax, dword [0x141dcb7f0]
mov edx, dword [0x141dcb7f4]
add eax, edx
add eax, 0x6b8b83d1
or eax, 0xb33f6c9e
add eax, 0x1c6192c7
cmp eax, 0xf7f829de
jbe 0x140072fa9
lea rax, [rcx - 1]
mov qword [r8 + 0x108], rax
mfence
mov rax, qword [rsi + 0x118]
mov rax, qword [rax + 0x100]
lea rax, [rcx - 1]
nop dword [rax]
mov edx, dword [0x141dcb7f8]
sub edx, dword [0x141dcb7fc]
imul edx, edx, 0xa3b3b90d
xor edx, 0xdc452180
and edx, 0xdd5fa580
mov qword [r8 + 0x108], rax
mfence
mov r9, qword [rsi + 0x118]
mov r10, qword [r9 + 0x100]
cmp edx, 0xeab6e17e
je 0x140072fb0
mov r8, rax
sub r8, r10
js 0x14007323c
mov r11, qword [rsi + 0x120]
mov rdx, qword [rsi + 0x128]
lea rbx, [rdx - 1]
and rbx, rax
shl rbx, 4
mov rdi, qword [r11 + rbx]
mov rbx, qword [r11 + rbx + 8]
cmp rax, r10
jne 0x140073293
lock cmpxchg qword [r9 + 0x100], rcx
sete r8b
mov eax, dword [0x141dcb838]
xor edx, edx
div dword [0x141dcb83c]
mov eax, dword [0x141dcb840]
or eax, dword [0x141dcb844]
and eax, 0xf67b5d02
imul eax, eax, 0x9dea92c7
xor eax, 0x2072721e
cmp eax, 0xf3537da0
ja 0x140073040
mov edx, dword [0x141dcb848]
sub edx, dword [0x141dcb84c]
mov rax, qword [rsi + 0x118]
add edx, 0xdf207833
or edx, 0x4663b557
cmp edx, 0x13a10978
jne 0x1400730a0
mov qword [rax + 0x108], rcx
nop word cs:[rax + rax]
mov edx, dword [0x141dcb850]
or edx, dword [0x141dcb854]
or edx, 0xd00796b
add edx, 0x699574ad
and edx, 0xb778e98
mov qword [rax + 0x108], rcx
cmp edx, 0x52929ccc
ja 0x1400730a0
test r8b, r8b
jne 0x140073320
jmp 0x14007338e
mov eax, dword [0x141dcb7e0]
xor edx, edx
div dword [0x141dcb7e4]
imul eax, eax, 0x5c215631
add eax, 0xde4a7b42
and eax, 0xd27aa077
cmp eax, 0xe7cf036e
jne 0x140073108
lock inc qword [r8 + 0x100]
mov edx, 0xd649f4e3
nop dword [rax]
mov r10d, dword [0x141dcb7e8]
add r10d, dword [0x141dcb7ec]
imul r10, rdx
shr r10, 0x3d
and r10d, 2
mov eax, 1
lock xadd qword [r8 + 0x100], rax
cmp r10d, 0xfe24d569
ja 0x140073110
mov rdx, rax
not rdx
add rcx, rdx
js 0x1400731e0
mov rcx, qword [rsi + 0x120]
mov rdx, qword [rsi + 0x128]
lea r8, [rdx - 1]
and r8, rax
shl r8, 4
mov rdi, qword [rcx + r8]
mov rbx, qword [rcx + r8 + 8]
lea rax, [rdx + 3]
test rdx, rdx
cmovns rax, rdx
sar rax, 2
nop word cs:[rax + rax]
cmp rdx, 0x41
setae cl
mov r8d, dword [0x141dcb800]
add r8d, dword [0x141dcb804]
imul r10d, r8d, 0xc8b397bc
add r10d, 0x6ed51e8c
or r10d, 0xc00876b3
cmp r9, rax
setle r8b
cmp r10d, 0x6081e03b
jb 0x140073190
and cl, r8b
je 0x140073320
jmp 0x14007334d
mov ecx, dword [0x141dcb808]
and ecx, dword [0x141dcb80c]
add ecx, 0xe84b576f
xor ecx, 0x97987cda
imul ecx, ecx, 0xb6217dc5
cmp ecx, 0xa6ea2d98
je 0x1400731e0
mov rcx, qword [rsi + 0x118]
mov edx, dword [0x141dcb810]
xor edx, dword [0x141dcb814]
and edx, 0x979a567f
imul edx, edx, 0x52778bab
and edx, 0xc2607306
cmp edx, 0x5776a04
jae 0x14007335e
jmp 0x140073385
mov eax, dword [0x141dcb820]
xor edx, edx
div dword [0x141dcb824]
nop word [rax + rax]
mov eax, dword [0x141dcb828]
or eax, dword [0x141dcb82c]
or eax, 0x18593d31
cmp eax, 0xbcbc8dc2
je 0x140073250
mov qword [r9 + 0x108], rcx
nop
mov eax, dword [0x141dcb830]
add eax, dword [0x141dcb834]
imul eax, eax, 0xd7a42e6
add eax, 0xc3efcf93
cmp eax, 0x432bc3ca
jae 0x140073270
jmp 0x14007338e
lea rcx, [rdx + 3]
nop word [rax + rax]
mov eax, dword [0x141dcb858]
and eax, dword [0x141dcb85c]
imul r9d, eax, 0x217999dd
add r9d, 0x9773660d
and r9d, 0x4197e26a
test rdx, rdx
mov rax, rdx
cmovs rax, rcx
cmp r9d, 0x9c9ecc07
ja 0x1400732a0
sar rax, 2
mov ecx, 0xf740adb7
nop dword [rax]
cmp r8, rax
setl r9b
cmp rdx, 0x41
setae r10b
mov r11d, dword [0x141dcb860]
add r11d, dword [0x141dcb864]
imul r11, rcx
shr r11, 0x3d
imul r11d, r11d, 0xca5dad0
cmp r11d, 0xd129bf69
je 0x1400732e0
and r10b, r9b
jne 0x14007334d
nop word [rax + rax]
mov eax, dword [0x141dcb868]
and eax, dword [0x141dcb86c]
xor eax, 0x29cf7fb
add eax, 0xc06e849c
and eax, 0xb5002a4
cmp eax, 0xe37ff4fd
je 0x140073320
test rdi, rdi
jne 0x140073464
jmp 0x14007338e
shr rdx, 1
lea rcx, [rsi + 0x118]
call fcn.1400f8d20
jmp 0x140073320
mov edx, dword [0x141dcb818]
add edx, dword [0x141dcb81c]
imul edx, edx, 0x8e76ec18
add edx, 0xb3b67a99
mov qword [rcx + 0x100], rax
cmp edx, 0xfa2a00f4
jbe 0x14007338e
mov qword [rcx + 0x100], rax
jmp 0x14007335e
add rsi, 0x138
nop word cs:[rax + rax]
mov eax, dword [0x141dcb870]
imul eax, dword [0x141dcb874]
and eax, 0xea26664d
add eax, 0xfb120182
cmp eax, 0xc0301643
jae 0x1400733a0
xor ebx, ebx
lea rdi, [rsp + 0x20]
nop word cs:[rax + rax]
test bl, bl
jne 0x1400733d0
mov eax, dword [0x141dcb880]
sub eax, dword [0x141dcb884]
xor eax, 0x12209dee
add eax, 0x326e4f4c
or eax, 0xb352d3a6
cmp eax, 0x4d7316e7
jae 0x140073410
mov rcx, rdi
mov rdx, rsi
call fcn.1400734b0
nop word cs:[rax + rax]
mov eax, dword [0x141dcb888]
and eax, dword [0x141dcb88c]
imul ebp, eax, 0x2fa9b273
or ebp, 0x10481013
and ebp, 0x1bef789b
mov rcx, rdi
mov rdx, rsi
call fcn.1400734b0
cmp ebp, 0x6e8cd0df
ja 0x140073410
mov rax, qword [rsp + 0x20]
cmp rax, 2
je 0x1400733d0
test rax, rax
jne 0x140073455
xor edi, edi
jmp 0x140073464
cmp eax, 1
jne 0x140073480
mov rdi, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x30]
mov rax, rdi
mov rdx, rbx
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
ret
mov eax, dword [0x141dcb878]
xor edx, edx
div dword [0x141dcb87c]
imul eax, eax, 0xa7c9ceac
or eax, 0x58253bd4
and eax, 0x5fe57ffc
cmp eax, 0x1039a082
je 0x140073480
ud2