Function at 0x140065cc0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov qword [rbp], rcx
mov eax, dword [0x141dcadc8]
xor edx, edx
div dword [0x141dcadcc]
or eax, 0x6ef76df2
and eax, 0xfef7effb
cmp eax, 0xc3156c33
ja 0x140065d89
mov eax, dword [0x141dcadd0]
imul eax, dword [0x141dcadd4]
or eax, 0xba9fb8ac
mov ecx, 0x8655903f
imul rcx, rax
shr rcx, 0x3e
add ecx, 0xd3b042cf
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov r9, rsp
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov rdx, rsp
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov r15, rsp
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov rdi, rsp
mov eax, 0x90
call fcn.1400f07c0
sub rsp, rax
mov r13, rsp
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov r12, rsp
cmp ecx, 0xcddd92b0
jae 0x140065ddc
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov eax, 0x90
call fcn.1400f07c0
sub rsp, rax
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
jmp 0x140065cfc
xor eax, eax
nop
test al, al
jne 0x140065de0
mov qword [rbp - 8], r9
mov qword [rbp - 0x10], rdx
movabs rdx, 0x10000000000000
movq rcx, xmm1
mov rax, rcx
shr rax, 0x34
and eax, 0x7ff
lea r9, [rcx + rcx]
movabs r10, 0x1ffffffffffffe
and r10, r9
lea r11, [rdx - 1]
and r11, rcx
lea r9, [r11 + rdx]
lea ecx, [rbx + rdx]
test eax, eax
cmove r9, r10
ucomisd xmm1, xmm1
jp 0x140066006
mov r10d, eax
add r10d, 0xfffffbcd
movabs rbx, 0x7ff0000000000000
xor esi, esi
mov r14, rcx
and r14, rbx
setne sil
lea rdx, [rsi*2 + 2]
cmp r14, rbx
mov ebx, 1
cmovne rbx, rdx
add rsi, 3
nop dword [rax + rax]
mov edx, dword [0x141dcadd8]
and edx, dword [0x141dcaddc]
imul rdx, rdx, 0x1ed6888f
shr rdx, 0x3c
imul edx, edx, 0x84b11a1
add edx, 0x5aaa1080
test r11, r11
mov r14, rsi
cmove r14, rbx
cmp edx, 0xc392c803
ja 0x140065e70
dec r14
cmp r14, 3
ja case.default.0x140065ec0
lea rdx, [0x141dbb5dc]
movsxd r11, dword [rdx + r14*4]
add r11, rdx
add ebx, edx
jmp r11
mov r11b, 3
jmp 0x140065fe1
test r9b, 1
sete r11b
mov eax, dword [0x141dcade8]
xor edx, edx
div dword [0x141dcadec]
add eax, 0x6309eeac
shr eax, 3
imul rax, rax, 0x13963abf
shr rax, 0x38
or eax, 0x656625
cmp eax, 0x4a7b43d7
je case.0x140065ec0.3
nop word cs:[rax + rax]
mov eax, dword [0x141dcadf0]
xor edx, edx
div dword [0x141dcadf4]
add eax, 0x353c7a9c
or eax, 0xb8ccf41b
xor eax, 0xe9fece12
cmp eax, 0xdf3928b8
ja 0x140065f10
mov edx, 1
jmp 0x140065fe1
mov edx, dword [0x141dcadf8]
and edx, dword [0x141dcadfc]
add edx, 0x5fd65354
imul rdx, rdx, 0x655a057f
shr rdx, 0x3d
add edx, 0x3cace4f1
cmp edx, 0x82fea374
ja case.0x140065ec0.4
lea rdx, [r9 + r9]
xor esi, esi
movabs r10, 0x10000000000000
cmp r9, r10
movabs rbx, 0x40000000000000
cmovne rbx, rdx
sete sil
lea rdx, [rsi + 1]
test r9b, 1
sete r11b
movzx r10d, ax
sub r10d, esi
add r10d, 0xfffffbcc
mov r9, rbx
jmp 0x140065fe1
mov eax, dword [0x141dcade0]
xor eax, dword [0x141dcade4]
imul eax, eax, 0xd0df550c
imul rax, rax, 0x71c3a27b
shr rax, 0x3e
or eax, 0x3d3aef68
cmp eax, 0x8476d7e
je case.default.0x140065ec0
jmp 0x140066725
mov r11b, 4
mov eax, dword [0x141dcae00]
and eax, dword [0x141dcae04]
or eax, 0x257ba4fb
xor eax, 0x5230f3c4
imul eax, eax, 0x72b81e8a
cmp eax, 0xa2c79ea0
ja 0x140066049
jmp 0x14006600b
mov r11b, 2
jmp 0x140065fe1
mov esi, dword [0x141dcae08]
sub esi, dword [0x141dcae0c]
lea eax, [r11 - 2]
movzx ebx, al
cmp bl, 3
mov eax, 3
cmovb eax, ebx
mov qword [r15], r9
mov qword [r15 + 8], 1
mov qword [r15 + 0x10], rdx
mov word [r15 + 0x18], r10w
mov byte [r15 + 0x1a], r11b
cmp esi, 0xed7a2227
jne 0x140066063
mov qword [r15], r9
mov qword [r15 + 8], 1
mov qword [r15 + 0x10], rdx
mov word [r15 + 0x18], r10w
mov byte [r15 + 0x1a], r11b
jmp 0x14006600b
test al, al
je 0x1400661f8
movzx eax, al
mov qword [rbp - 0x18], rax
mov r10, rcx
shr r10, 0x3f
lea r11, [0x141db711d]
xor eax, eax
nop word cs:[rax + rax]
test rcx, rcx
mov esi, 1
cmovs rsi, r11
test al, al
jne 0x140066090
lea r9, [0x141db711e]
mov r14d, 1
nop dword [rax]
mov eax, dword [0x141dcae10]
xor edx, edx
div dword [0x141dcae14]
test rcx, rcx
mov rdx, r9
cmovs rdx, r11
test r8b, r8b
mov rbx, r10
cmovne rbx, r14
cmp eax, 0xa7d7ab6d
je 0x1400660b0
test r8b, r8b
cmovne rsi, rdx
mov rax, qword [rbp - 0x18]
cmp eax, 1
je 0x14006623b
cmp eax, 2
jne 0x140066267
mov eax, dword [0x141dcae40]
imul eax, dword [0x141dcae44]
imul eax, eax, 0xa763a6b1
xor eax, 0x4408d9fd
imul eax, eax, 0x8a0da777
lea rcx, [0x141db7126]
cmp eax, 0x14784ee7
jne 0x14006612d
mov word [r13], 2
mov qword [r13 + 8], rcx
mov r12, qword [rbp]
nop word cs:[rax + rax]
mov eax, dword [0x141dcae48]
xor edx, edx
div dword [0x141dcae4c]
add eax, 0x55defd56
or eax, 0xd215409a
mov word [r13], 2
mov qword [r13 + 8], rcx
cmp eax, 0xa7e8c8b1
jb 0x140066140
mov eax, dword [0x141dcae50]
mov ecx, dword [0x141dcae54]
add eax, ecx
add eax, 0xe3ad45eb
mov ecx, 0xcfc6746b
imul rcx, rax
shr rcx, 0x3e
or ecx, 0x9a5aadd0
cmp ecx, 0xb5f3d056
jbe 0x1400661a0
mov qword [r13 + 0x10], 3
mov eax, dword [0x141dcae58]
imul eax, dword [0x141dcae5c]
or eax, 0xc00220a
and eax, 0x1c01372e
xor eax, 0xfb84af1b
mov qword [r13 + 0x10], 3
cmp eax, 0x6bd3b5d9
jb 0x1400661a0
nop dword [rax + rax]
mov eax, dword [0x141dcae60]
and eax, dword [0x141dcae64]
add eax, 0xcee2f8fd
or eax, 0xf65b773a
cmp eax, 0x59695c0
je 0x1400661d0
mov r14d, 1
jmp 0x14006676e
mov word [r13], 2
lea rax, [0x141db711f]
mov qword [r13 + 8], rax
mov eax, dword [0x141dcae18]
sub eax, dword [0x141dcae1c]
xor eax, 0x8fc78967
imul rax, rax, 0x3c107b1d
shr rax, 0x3d
add eax, 0x16cf3db9
cmp eax, 0x60fc444f
ja 0x140066753
jmp 0x140066727
mov eax, dword [0x141dcae30]
add eax, dword [0x141dcae34]
shr eax, 1
mov ecx, 0x8055a3e3
imul rcx, rax
shr rcx, 0x3c
cmp ecx, 0xd166b9a8
je 0x14006684c
jmp 0x140066819
cmp eax, 3
jne 0x1400662e0
sub rsp, 0x20
mov r14, qword [rbp - 8]
mov rcx, r14
mov rdx, r15
mov r8, r12
call fcn.1400514e0
add rsp, 0x20
cmp qword [r14], 0
mov rcx, qword [rbp - 0x10]
je 0x140066302
mov rax, qword [r14 + 0x10]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [r14]
movups xmmword [rcx], xmm0
mov r12, qword [rbp]
nop word cs:[rax + rax]
mov eax, dword [0x141dcae70]
or eax, dword [0x141dcae74]
xor eax, 0xfedb8389
imul rax, rax, 0x42bc0bd1
shr rax, 0x3c
cmp eax, 0x1b4ebc03
ja 0x1400662b0
jmp 0x140066338
mov eax, dword [0x141dcae28]
sub eax, dword [0x141dcae2c]
and eax, 0xc6ea94f7
add eax, 0x4c4f077e
cmp eax, 0x9a1ddd26
ja 0x1400662e0
jmp 0x140066725
sub rsp, 0x20
mov r14, rcx
mov rdx, r15
mov r8, r12
call fcn.1400497f0
mov rcx, r14
add rsp, 0x20
mov r12, qword [rbp]
nop
mov eax, dword [0x141dcae68]
or eax, dword [0x141dcae6c]
or eax, 0xfecce687
cmp eax, 0xbf895561
je 0x140066320
mov eax, 0xde703d07
nop dword [rax]
mov edx, dword [0x141dcae78]
xor edx, dword [0x141dcae7c]
imul rdx, rax
shr rdx, 0x3c
add edx, 0xb03e416b
cmp edx, 0x7b39fdd6
jb 0x140066340
nop word cs:[rax + rax]
mov eax, dword [0x141dcae80]
sub eax, dword [0x141dcae84]
imul eax, eax, 0x70562d7f
xor eax, 0xe0040
or eax, 0xf3d07fbd
cmp eax, 0xc158d306
jb 0x140066370
mov r8, qword [rcx]
mov r9, qword [rcx + 8]
movzx ecx, word [rcx + 0x10]
mov eax, 0xc4690de7
nop word cs:[rax + rax]
mov edx, dword [0x141dcae88]
xor edx, dword [0x141dcae8c]
imul rdx, rax
shr rdx, 0x3f
imul edx, edx, 0x9ce9fec4
add edx, 0x239c4a26
cmp edx, 0x1acfbb83
jb 0x1400663b0
test r9, r9
je 0x1400666bd
nop word cs:[rax + rax]
mov eax, dword [0x141dcaea0]
add eax, dword [0x141dcaea4]
and eax, 0xf425c7ba
add eax, 0xebbb4875
imul rax, rax, 0x641aac59
shr rax, 0x3d
cmp eax, 0xecb93241
ja 0x1400663f0
movzx eax, byte [r8]
xor edx, edx
nop
test dl, dl
jne 0x140066420
cmp al, 0x30
jbe 0x1400666e9
xor eax, eax
test al, al
je 0x140066440
mov word [r13], 2
mov qword [r13 + 8], r8
nop dword [rax]
mov eax, dword [0x141dcaeb8]
xor edx, edx
div dword [0x141dcaebc]
add eax, 0xecccdfac
or eax, 0xbf1b9cb5
imul eax, eax, 0x4c4b38c6
mov word [r13], 2
mov qword [r13 + 8], r8
cmp eax, 0x53ac6a5f
jb 0x140066440
mov qword [r13 + 0x10], 1
mov r14d, 1
cmp r9, 2
jb 0x140066550
mov eax, dword [0x141dcaec0]
xor eax, dword [0x141dcaec4]
imul edx, eax, 0xbef11257
add edx, 0x53293f41
or edx, 0x4286f130
lea rax, [0x141dba6fb]
cmp edx, 0xfaf240ab
jne 0x1400664c8
mov word [r13 + 0x18], 2
mov qword [r13 + 0x20], rax
mov qword [r13 + 0x28], 1
inc r8
nop dword [rax + rax]
mov edx, dword [0x141dcaec8]
sub edx, dword [0x141dcaecc]
or edx, 0x6a90356a
imul edx, edx, 0x88cfa7a6
add edx, 0xdd048ace
mov word [r13 + 0x18], 2
mov qword [r13 + 0x20], rax
mov qword [r13 + 0x28], 1
cmp edx, 0x3a3fe87e
jb 0x1400664d0
dec r9
nop dword [rax]
mov eax, dword [0x141dcaed0]
imul eax, dword [0x141dcaed4]
xor eax, 0x436b39ed
imul eax, eax, 0xd20efa56
cmp eax, 0x869d9645
ja 0x140066510
mov word [r13 + 0x30], 2
mov qword [r13 + 0x38], r8
mov qword [r13 + 0x40], r9
mov r14d, 3
nop word cs:[rax + rax]
mov eax, dword [0x141dcaed8]
and eax, dword [0x141dcaedc]
or eax, 0xdfb619b4
add eax, 0x96cd5d5c
or eax, 0x5ff9ce3f
cmp eax, 0xf3661d0d
ja 0x140066550
test cx, cx
jle 0x1400665d8
dec ecx
lea rdx, [r14 + r14*2]
lea rax, [rdx*8]
add rax, r13
mov word [r13 + rdx*8], 2
mov edx, dword [0x141dcaee0]
add edx, dword [0x141dcaee4]
xor edx, 0xd9430377
imul r8, rdx, 0x342bc7a3
shr r8, 0x20
sub edx, r8d
shr edx, 1
add edx, r8d
shr edx, 0x1d
cmp edx, 0xcf1f4924
je 0x140066590
lea rdx, [0x141db711a]
mov qword [rax + 8], rdx
mov qword [rax + 0x10], 1
jmp 0x1400666a2
mov eax, dword [0x141dcaee8]
mov edx, dword [0x141dcaeec]
add eax, edx
add eax, 0x4ce63b32
or eax, 0x817a16b0
imul rdx, rax, 0x35456571
shr rdx, 0x3b
lea rax, [0x141db711b]
cmp edx, 0x750ede49
jne 0x14006661b
lea rdx, [r14 + r14*2]
mov word [r13 + rdx*8], 2
mov qword [r13 + rdx*8 + 8], rax
lea r8, [r14 + r14*2]
lea rdx, [r8*8]
add rdx, r13
nop word [rax + rax]
mov r9d, dword [0x141dcaef0]
and r9d, dword [0x141dcaef4]
add r9d, 0xeb5ae3a9
or r9d, 0xae391553
and r9d, 0xfe3dd7f7
mov word [r13 + r8*8], 2
mov qword [r13 + r8*8 + 8], rax
cmp r9d, 0x3baa3c33
jb 0x140066630
mov qword [rdx + 0x10], 2
mov eax, 1
sub eax, ecx
nop dword [rax + rax]
mov ecx, dword [0x141dcaef8]
add ecx, dword [0x141dcaefc]
xor ecx, 0x250ca532
and ecx, 0x2d0db733
cmp ecx, 0xbccc8495
je 0x140066680
mov ecx, eax
lea rax, [r14 + r14*2]
mov word [r13 + rax*8 + 0x18], 1
mov word [r13 + rax*8 + 0x1a], cx
add r14, 2
jmp 0x14006676e
mov eax, dword [0x141dcae90]
sub eax, dword [0x141dcae94]
imul eax, eax, 0xeabbfd23
xor eax, 0x2008830
and eax, 0x2449870
cmp eax, 0xc03af14
ja 0x140066875
jmp 0x14006686d
mov eax, dword [0x141dcaea8]
imul eax, dword [0x141dcaeac]
imul rcx, rax, 0xc413663
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
imul eax, eax, 0x72ed0572
add eax, 0x28fc07b2
cmp eax, 0x6da7d93b
ja 0x1400668cc
jmp 0x1400668ad
ud2
mov eax, dword [str.tg7ut]
imul eax, dword [0x141dcae24]
imul rax, rax, 0x46ab1d3d
shr rax, 0x3e
or eax, 0x21e004c0
mov qword [r13 + 0x10], 3
cmp eax, 0x99340bfc
jb 0x14006675d
mov qword [r13 + 0x10], 3
jmp 0x140066727
xor ebx, ebx
mov esi, 1
mov r14d, 1
mov r12, qword [rbp]
mov eax, dword [0x141dcaf00]
add eax, dword [0x141dcaf04]
mov ecx, 0xb818c117
imul rcx, rax
shr rcx, 0x3f
imul eax, ecx, 0xd0db829a
and eax, 0xc655b650
cmp eax, 0xa2532b20
jbe 0x1400667c0
mov qword [rdi], rsi
mov qword [rdi + 8], rbx
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], r14
sub rsp, 0x20
mov rcx, r12
mov rdx, rdi
call fcn.140062a80
add rsp, 0x20
nop dword [rax + rax]
mov eax, dword [0x141dcaf08]
or eax, dword [0x141dcaf0c]
and eax, 0xb740c08
xor eax, 0x2e9ada67
imul r15d, eax, 0xa19c62d4
mov qword [rdi], rsi
mov qword [rdi + 8], rbx
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], r14
sub rsp, 0x20
mov rcx, r12
mov rdx, rdi
call fcn.140062a80
add rsp, 0x20
cmp r15d, 0x5af11bcb
je 0x1400667c0
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x141dcae38]
and eax, dword [0x141dcae3c]
imul eax, eax, 0x4668526d
add eax, 0x5cb18e20
mov ecx, 0xcfcfe96f
imul rcx, rax
shr rcx, 0x3e
mov word [r13], 2
cmp ecx, 0x5c61127c
jbe 0x140066855
mov word [r13], 2
jmp 0x140066819
lea rax, [0x141db7122]
mov qword [r13 + 8], rax
mov qword [r13 + 0x10], 3
jmp 0x140066764
ud2
ud2
mov eax, dword [0x141dcaeb0]
add eax, dword [0x141dcaeb4]
imul eax, eax, 0x631695c0
ud2
ud2