Function at 0x140056040
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa8
mov r13, r9
mov r15, rdx
mov rsi, rcx
mov r12, qword [rsp + 0x110]
nop word cs:[rax + rax]
mov eax, dword [0x141dcb028]
sub eax, dword [0x141dcb02c]
xor eax, 0x31d1f48
imul eax, eax, 0xbcc4d220
and eax, 0xd27ab060
cmp eax, 0x2fb0d7b6
jb 0x140056070
mov bpl, 1
cmp byte [rsi + 8], 0
je 0x1400560bb
mov byte [rsi + 8], bpl
mov byte [rsi + 9], 1
mov rax, rsi
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rbx, qword [rsi]
mov ecx, dword [rbx + 0x34]
mov eax, dword [0x141dcb030]
xor edx, edx
div dword [0x141dcb034]
mov eax, 0xf903ce43
nop word cs:[rax + rax]
mov edx, dword [0x141dcb038]
add edx, dword [0x141dcb03c]
imul rdx, rax
shr rdx, 0x3f
add edx, 0xfdf54ca5
or edx, 0xb69a7fc
cmp edx, 0x3261774
je 0x1400560e0
movzx r9d, byte [rsi + 9]
nop dword [rax]
mov eax, dword [0x141dcb040]
and eax, dword [0x141dcb044]
and eax, 0x10711423
or eax, 0xc006e194
imul rax, rax, 0x7fc9daf9
shr rax, 0x3e
cmp eax, 0xa4266648
je 0x140056110
test cl, 4
jne 0x140056290
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x30], r13
xor r12d, r12d
test r9b, r9b
sete r12b
lea rax, [0x141db8174]
lea r13, [0x141db8177]
cmove r13, rax
or r12, 2
mov rbp, qword [rbx + 0x20]
mov rax, qword [rbx + 0x28]
mov rdi, qword [rax + 0x18]
mov eax, dword [0x141dcb048]
xor eax, dword [0x141dcb04c]
imul eax, eax, 0xd097b3d0
add eax, 0x1ab64ff0
imul rcx, rax, 0xdcdbf57
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
cmp eax, 0x735eaa32
jbe 0x1400561c0
mov rcx, rbp
mov rdx, r13
mov r8, r12
call rdi
nop word cs:[rax + rax]
mov eax, dword [0x141dcb050]
mov ecx, dword [0x141dcb054]
add eax, ecx
add eax, 0x50e35133
xor eax, 0xdc3304b2
imul r14, rax, 0x4d8b0919
shr r14, 0x3b
mov rcx, rbp
mov rdx, r13
mov r8, r12
call rdi
cmp r14d, 0xd112329e
je 0x1400561c0
mov bpl, 1
test al, al
jne 0x14005609c
mov rcx, qword [rbx + 0x20]
mov rax, qword [rbx + 0x28]
mov rdx, r15
mov r8, qword [rsp + 0x38]
call qword [rax + 0x18]
test al, al
jne 0x14005609c
mov r12, qword [rsp + 0x30]
nop word cs:[rax + rax]
mov eax, dword [0x141dcb060]
imul eax, dword [0x141dcb064]
imul eax, eax, 0xb98ee530
add eax, 0x6d30ec00
imul rax, rax, 0x2a8709ef
shr rax, 0x3d
cmp eax, 0xcd5bd087
je 0x140056230
mov r14, qword [rbx + 0x20]
mov rax, qword [rbx + 0x28]
mov ecx, dword [0x141dcb068]
or ecx, dword [0x141dcb06c]
mov rdi, qword [rax + 0x18]
add ecx, 0x92462901
and ecx, 0x5083061
cmp ecx, 0xcc6c6765
jbe 0x140056356
jmp 0x140056394
mov eax, dword [0x141dcb058]
xor edx, edx
div dword [0x141dcb05c]
add eax, 0xa52af685
imul rax, rax, 0x44f11963
shr rax, 0x36
add eax, 0xf34eee5b
cmp eax, 0xecb657c2
jb 0x140056290
test r9b, r9b
jne 0x140056477
nop word cs:[rax + rax]
mov eax, dword [0x141dcb080]
imul eax, dword [0x141dcb084]
xor eax, 0x603c6d6e
add eax, 0xc6baa2d4
or eax, 0x95a11bea
cmp eax, 0x1fd43043
jb 0x1400562d0
mov r14, r8
mov eax, 0xb1aaafbb
nop dword [rax + rax]
mov ecx, dword [0x141dcb088]
xor ecx, dword [0x141dcb08c]
and ecx, 0xc1885f28
imul ecx, ecx, 0x2f051166
imul rcx, rax
shr rcx, 0x3d
cmp ecx, 0x4eb82313
je 0x140056300
mov r12, qword [rbx + 0x20]
mov eax, dword [0x141dcb090]
xor eax, dword [0x141dcb094]
mov rdi, qword [rbx + 0x28]
and eax, 0x4d821751
add eax, 0x7eb01b8
cmp eax, 0x827a4fd7
jbe 0x1400563e4
jmp 0x14005641e
mov r15d, dword [0x141dcb070]
or r15d, dword [0x141dcb074]
add r15d, 0x1d7ada0
or r15d, 0x3ca4f93c
and r15d, 0xbcfeff7e
lea rdx, [0x141db8179]
mov r8d, 2
mov rcx, r14
call rdi
cmp r15d, 0x5d917080
jae 0x1400563a8
lea rdx, [0x141db8179]
mov r8d, 2
mov rcx, r14
call rdi
jmp 0x140056356
test al, al
jne 0x14005609c
mov rcx, r12
mov rdx, rbx
call qword [rsp + 0x110]
mov ebp, eax
nop
mov eax, dword [0x141dcb078]
xor edx, edx
div dword [0x141dcb07c]
or eax, 0x38000000
and eax, 0xf8103006
cmp eax, 0x6fa2e4d8
je 0x1400563c0
jmp 0x14005609c
mov eax, dword [0x141dcb098]
xor edx, edx
div dword [0x141dcb09c]
or eax, 0xf9627df2
imul ebp, eax, 0x1f415553
or ebp, 0x7293fff0
lea rdx, [0x141db817b]
mov r8d, 3
mov rcx, r12
call qword [rdi + 0x18]
cmp ebp, 0x94312118
jne 0x140056433
lea rdx, [0x141db817b]
mov r8d, 3
mov rcx, r12
call qword [rdi + 0x18]
jmp 0x1400563e4
mov bpl, 1
test al, al
jne 0x14005609c
nop
mov eax, dword [0x141dcb0a0]
xor eax, dword [0x141dcb0a4]
imul eax, eax, 0x1bff5d1f
add eax, 0x40a2222b
imul rax, rax, 0x4841365f
shr rax, 0x3e
cmp eax, 0xd201b75c
ja 0x140056440
mov ecx, dword [rbx + 0x34]
mov r12, qword [rsp + 0x110]
mov r8, r14
mov byte [rsp + 0x2f], 1
movups xmm0, xmmword [rbx + 0x20]
movaps xmmword [rsp + 0x40], xmm0
lea rax, [rsp + 0x2f]
mov qword [rsp + 0x50], rax
mov eax, dword [rbx + 0x30]
movzx edx, byte [rbx + 0x38]
mov dword [rsp + 0x94], ecx
mov dword [rsp + 0x90], eax
mov byte [rsp + 0x98], dl
movups xmm0, xmmword [rbx]
movaps xmmword [rsp + 0x60], xmm0
movups xmm0, xmmword [rbx + 0x10]
movaps xmmword [rsp + 0x70], xmm0
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x80], rcx
lea rax, [0x141db8140]
mov qword [rsp + 0x88], rax
mov rdx, r15
call fcn.1400566a0
test al, al
jne 0x1400565a0
xor eax, eax
test al, al
je 0x140056505
lea rdx, [0x141db8179]
lea rcx, [rsp + 0x40]
mov r8d, 2
call fcn.1400566a0
lea rbx, [0x141db8179]
lea r14, [rsp + 0x40]
nop word cs:[rax + rax]
mov eax, dword [0x141dcb0a8]
sub eax, dword [0x141dcb0ac]
xor eax, 0x559dc561
imul edi, eax, 0xd4ad3efb
add edi, 0xec96941a
mov r8d, 2
mov rcx, r14
mov rdx, rbx
call fcn.1400566a0
cmp edi, 0x2362e03e
jb 0x140056520
nop word cs:[rax + rax]
mov ecx, dword [0x141dcb0b0]
imul ecx, dword [0x141dcb0b4]
add ecx, 0x38fcfeee
and ecx, 0xf1971846
add ecx, 0x6cd6b595
cmp ecx, 0xef8282ec
ja 0x140056560
test al, al
jne 0x1400565a0
lea rdx, [rsp + 0x60]
mov rcx, r13
call r12
test al, al
je 0x14005662a
nop
mov eax, dword [0x141dcb0c8]
xor eax, dword [0x141dcb0cc]
xor eax, 0xec14a074
imul rax, rax, 0x16c86af1
shr rax, 0x3c
cmp eax, 0xac699537
je 0x1400565a0
nop word cs:[rax + rax]
mov eax, dword [0x141dcb0d0]
and eax, dword [str.ADp]
imul eax, eax, 0xae52b7c3
xor eax, 0x58bb0e03
add eax, 0xef7f1e29
cmp eax, 0x3618a4f8
jb 0x1400565d0
nop word cs:[rax + rax]
mov eax, dword [0x141dcb0d8]
or eax, dword [0x141dcb0dc]
and eax, 0x3ec2a866
add eax, 0x7438859f
xor eax, 0x283e45ef
cmp eax, 0xc7ad4b8a
ja 0x140056600
mov bpl, 1
jmp 0x14005609c
mov rcx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x88]
lea rdx, [0x141db817e]
mov r8d, 2
call qword [rax + 0x18]
mov ebp, eax
nop dword [rax]
mov eax, dword [0x141dcb0b8]
xor eax, dword [0x141dcb0bc]
and eax, 0x26aa7aa7
cmp eax, 0x48b60dcd
je 0x140056650
nop dword [rax + rax]
mov eax, dword [0x141dcb0c0]
or eax, dword [0x141dcb0c4]
or eax, 0x4bf4b804
imul eax, eax, 0xcec1e568
or eax, 0x5298f215
cmp eax, 0x320702d9
jb 0x140056670
jmp 0x14005609c