Function at 0x140061ec0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
mov r15, rcx
mov eax, dword [0x141dca6b8]
xor eax, dword [0x141dca6bc]
add eax, 0x47bd76d1
xor eax, 0x1a064000
or eax, 0xe0c8a2de
cmp eax, 0xba6a3fe1
jae 0x140061f30
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
nop
mov eax, dword [0x141dca6c0]
sub eax, dword [0x141dca6c4]
and eax, 0xf4f02470
xor eax, 0x1413bf15
imul ecx, eax, 0xc946a8
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov rbx, rsp
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov r14, rsp
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov rdi, rsp
mov eax, 0x90
call fcn.1400f07c0
sub rsp, rax
mov r12, rsp
cmp ecx, 0x14c8400f
je 0x140061f30
mov eax, dword [0x141dca6c8]
xor edx, edx
div dword [0x141dca6cc]
add eax, 0x89749126
or eax, 0xbac8e0d1
cmp eax, 0x7a044434
jb 0x14006202c
mov eax, dword [0x141dca6d0]
imul eax, dword [0x141dca6d4]
xor eax, 0xa419eec3
mov edx, 0x8cce4717
imul rdx, rax
shr rdx, 0x3f
or edx, 0x757f9aec
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
mov rsi, rsp
movd ecx, xmm1
mov eax, ecx
shr eax, 0x17
movzx r11d, al
lea eax, [rcx + rcx]
and eax, 0xfffffe
mov r9d, ecx
and r9d, 0x7fffff
or r9d, 0x800000
test r11d, r11d
cmove r9d, eax
mov eax, ecx
and eax, 0x7fffffff
cmp eax, 0x7f800000
sete al
cmp edx, 0x726e3449
jae 0x14006203e
mov eax, 0x20
call fcn.1400f07c0
sub rsp, rax
jmp 0x140061fb3
test al, al
mov qword [rbp], rsi
je 0x14006204e
mov r11b, 3
jmp 0x1400621f6
lea r10d, [r11 - 0x96]
nop word cs:[rax + rax]
mov eax, dword [0x141dca6d8]
and eax, dword [0x141dca6dc]
imul eax, eax, 0x26456e4e
add eax, 0x4046cbd0
xor eax, 0xf012278e
cmp eax, 0x8363be64
ja 0x140062060
ucomiss xmm1, xmm1
jp 0x140062589
nop dword [rax]
mov eax, dword [0x141dca6e0]
sub eax, dword [0x141dca6e4]
imul rax, rax, 0x4f60dfbd
shr rax, 0x3c
imul rdx, rax, 0x266dd737
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
cmp eax, 0x95e53855
je 0x140062090
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400620d0
test ecx, 0x7fffffff
je 0x1400621b2
mov eax, dword [0x141dca6e8]
xor edx, edx
div dword [0x141dca6ec]
nop
mov eax, dword [0x141dca6f0]
xor eax, dword [0x141dca6f4]
add eax, 0x95e7324d
or eax, 0x5fc4cae
xor eax, 0xfb6885fc
cmp eax, 0xc8323f15
jb 0x1400620f0
nop word cs:[rax + rax]
mov eax, dword [0x141dca6f8]
and eax, dword [0x141dca6fc]
or eax, 0x2e4cb902
imul rax, rax, 0x7b645fb7
shr rax, 0x3e
cmp eax, 0x43b6bbff
je 0x140062120
test ecx, 0x7f800000
je 0x1400621b7
lea rax, [r9 + r9]
xor edx, edx
cmp r9, 0x800000
sete dl
mov r13d, 0x2000000
cmovne r13, rax
lea rsi, [rdx + 1]
xor edx, 0xffffff69
movzx r10d, r11w
add r10d, edx
nop word cs:[rax + rax]
test r9b, 1
sete r11b
mov eax, dword [0x141dca708]
xor edx, edx
div dword [0x141dca70c]
imul eax, eax, 0x595a297e
xor eax, 0x6a830052
add eax, 0x6c535ffb
cmp eax, 0x475fd62a
jb 0x140062180
mov r9, r13
jmp 0x1400621f6
mov r11b, 4
jmp 0x1400621f6
mov eax, 0xbc86f563
nop dword [rax]
test r9b, 1
sete r11b
mov edx, dword [0x141dca700]
imul edx, dword [0x141dca704]
imul edx, edx, 0x9d844adb
imul rdx, rax
shr rdx, 0x3f
add edx, 0x31e6c5ff
cmp edx, 0xab23c332
ja 0x1400621c0
mov esi, 1
mov eax, dword [0x141dca710]
add eax, dword [0x141dca714]
and eax, 0x8030988
cmp eax, 0x199ca915
jbe 0x140062226
mov qword [r14], r9
mov qword [r14 + 8], 1
mov qword [r14 + 0x10], rsi
mov word [r14 + 0x18], r10w
mov byte [r14 + 0x1a], r11b
lea eax, [r11 - 2]
movzx edx, al
nop dword [rax]
mov r13d, dword [0x141dca718]
and r13d, dword [0x141dca71c]
or r13d, 0xbff7ff7f
cmp dl, 3
mov eax, 3
cmovb eax, edx
mov qword [r14], r9
mov qword [r14 + 8], 1
mov qword [r14 + 0x10], rsi
mov word [r14 + 0x18], r10w
mov byte [r14 + 0x1a], r11b
cmp r13d, 0x3ac73b03
jb 0x140062230
test al, al
je 0x14006238c
mov edx, ecx
shr edx, 0x1f
lea r9, [0x141db711d]
movzx eax, al
mov qword [rbp - 0x10], rax
nop dword [rax]
mov eax, dword [0x141dca720]
add eax, dword [0x141dca724]
or eax, 0x393e4957
add eax, 0x2333b8b4
imul r10, rax, 0x755b94b
shr r10, 0x20
sub eax, r10d
shr eax, 1
add eax, r10d
shr eax, 0x1d
test ecx, ecx
mov r10d, 1
cmovs r10, r9
cmp eax, 0x9b9f2513
ja 0x140062290
mov qword [rbp - 8], r15
lea rax, [0x141db711e]
mov esi, 1
nop
mov r15d, dword [0x141dca728]
imul r15d, dword [0x141dca72c]
add r15d, 0xd430872e
xor r15d, 0x948414
and r15d, 0x3df6fd54
test ecx, ecx
mov r11, rax
cmovs r11, r9
test r8b, r8b
mov r13, rdx
cmovne r13, rsi
cmp r15d, 0xd463ce20
je 0x1400622e0
xor eax, eax
nop word cs:[rax + rax]
test r8b, r8b
mov rsi, r10
cmovne rsi, r11
test al, al
jne 0x140062330
mov rax, qword [rbp - 0x10]
cmp eax, 1
mov r15, qword [rbp - 8]
je 0x14006241a
cmp eax, 2
jne 0x1400624fd
mov word [r12], 2
mov eax, dword [0x141dca760]
imul eax, dword [0x141dca764]
xor eax, 0x516bca77
imul eax, eax, 0xb92c2d5f
add eax, 0xa07927ae
cmp eax, 0xfd055814
ja 0x1400625be
jmp 0x140062591
mov eax, dword [0x141dca730]
xor eax, dword [0x141dca734]
imul eax, eax, 0x9d772fb7
imul rax, rax, 0xfffdf2f
shr rax, 0x3b
xor eax, 0x48ebfa0b
cmp eax, 0xbe0a51bb
jbe 0x1400623c0
mov word [r12], 2
nop dword [rax]
mov eax, dword [0x141dca738]
and eax, dword [0x141dca73c]
imul eax, eax, 0xef9cb651
and eax, 0x9b0296ac
shr eax, 2
imul rax, rax, 0x31cf9c0d
shr rax, 0x38
mov word [r12], 2
cmp eax, 0x8d4931e8
ja 0x1400623c0
lea rax, [0x141db711f]
mov qword [r12 + 8], rax
mov qword [r12 + 0x10], 3
mov esi, 1
xor r13d, r13d
mov ecx, 1
jmp 0x140062a13
mov word [r12], 2
mov eax, dword [0x141dca740]
and eax, dword [0x141dca744]
imul rcx, rax, 0x420b067
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
xor eax, 0x41c7e23
add eax, 0xb803e2d7
cmp eax, 0x3204cb82
jae 0x14006245e
lea rax, [0x141db7122]
mov qword [r12 + 8], rax
lea rax, [0x141db7122]
nop word cs:[rax + rax]
mov ecx, dword [0x141dca748]
and ecx, dword [str.jST5__]
imul ecx, ecx, 0x11b5a5aa
add ecx, 0x86f30a18
xor ecx, 0x3861fd9a
mov qword [r12 + 8], rax
cmp ecx, 0x4132efe3
jb 0x140062470
mov eax, dword [0x141dca750]
add eax, dword [0x141dca754]
imul eax, eax, 0x867e7d23
and eax, 0xc10afac6
add eax, 0x5f71e61e
cmp eax, 0x536a751b
jae 0x1400624d0
mov qword [r12 + 0x10], 3
nop word [rax + rax]
mov eax, dword [0x141dca758]
xor edx, edx
div dword [0x141dca75c]
xor eax, 0x10805808
and eax, 0x9885dab8
mov qword [r12 + 0x10], 3
cmp eax, 0xb52d56e8
jae 0x1400624d0
jmp 0x1400625d5
sub rsp, 0x20
lea rcx, [rbp - 0x28]
mov rdx, r14
mov r8, qword [rbp]
call fcn.1400514e0
add rsp, 0x20
nop word cs:[rax + rax]
mov eax, dword [0x141dca770]
and eax, dword [0x141dca774]
or eax, 0x6625924
imul eax, eax, 0x5664e943
add eax, 0xdb79ca0e
cmp eax, 0xb0ffbe54
ja 0x140062520
cmp qword [rbp - 0x28], 0
je 0x14006255e
mov rax, qword [rbp - 0x18]
mov qword [rbx + 0x10], rax
movups xmm0, xmmword [rbp - 0x28]
movups xmmword [rbx], xmm0
jmp 0x1400625df
mov eax, dword [0x141dca778]
xor eax, dword [0x141dca77c]
imul eax, eax, 0xc9989a5
add eax, 0xa3e6a319
cmp eax, 0x1df7a913
mov r15, qword [rbp]
jb 0x140062a63
jmp 0x140062a43
mov r11b, 2
jmp 0x1400621f6
mov eax, dword [0x141dca768]
xor eax, dword [0x141dca76c]
add eax, 0xddcebe3c
lea rcx, [0x141db7126]
mov qword [r12 + 8], rcx
mov qword [r12 + 0x10], 3
cmp eax, 0x60a843d0
jae 0x1400625d5
lea rax, [0x141db7126]
mov qword [r12 + 8], rax
mov qword [r12 + 0x10], 3
jmp 0x140062591
mov ecx, 1
jmp 0x140062a13
mov rdx, qword [rbx]
mov r8, qword [rbx + 8]
movzx eax, word [rbx + 0x10]
mov ecx, 0x8a5f940f
nop
mov r9d, dword [0x141dca780]
imul r9d, dword [0x141dca784]
imul r9, rcx
shr r9, 0x3f
or r9d, 0xf537afd6
cmp r9d, 0xcb136395
jb 0x1400625f0
test r8, r8
mov r15, qword [rbp - 8]
je 0x1400626e6
nop word cs:[rax + rax]
mov ecx, dword [0x141dca790]
or ecx, dword [0x141dca794]
imul ecx, ecx, 0x3750a3f1
or ecx, 0xb5d527ff
cmp ecx, 0x43bc91dc
jb 0x140062630
movzx ecx, byte [rdx]
nop word cs:[rax + rax]
mov r9d, dword [0x141dca798]
xor r9d, dword [0x141dca79c]
or r9d, 0x2cd1cf9a
add r9d, 0x71e1c402
cmp r9d, 0x74c9caee
jb 0x140062660
cmp cl, 0x30
jbe 0x140062715
mov word [r12], 2
mov qword [r12 + 8], rdx
mov qword [r12 + 0x10], 1
mov ecx, 1
cmp r8, 2
jb 0x1400627e0
mov word [r12 + 0x18], 2
mov ecx, dword [0x141dca7a8]
add ecx, dword [0x141dca7ac]
and ecx, 0xe99f122
imul ecx, ecx, 0x1b1fa0e
and ecx, 0xfbfe740
cmp ecx, 0xa0fccbc2
ja 0x14006279b
jmp 0x140062747
ud2
ud2
mov ecx, dword [0x141dca7b0]
xor ecx, dword [0x141dca7b4]
imul rcx, rcx, 0x3d150beb
shr rcx, 0x3b
add ecx, 0xa20fd74
lea r9, [rdx + 1]
lea r10, [0x141dba6fb]
mov qword [r12 + 0x20], r10
lea r10, [r8 - 1]
mov qword [r12 + 0x28], 1
mov word [r12 + 0x30], 2
mov qword [r12 + 0x38], r9
mov qword [r12 + 0x40], r10
cmp ecx, 0xe4f22f42
jbe 0x1400627cf
lea rcx, [0x141dba6fb]
mov qword [r12 + 0x20], rcx
mov qword [r12 + 0x28], 1
lea rcx, [rdx + 1]
lea r9, [r8 - 1]
mov word [r12 + 0x30], 2
mov qword [r12 + 0x38], rcx
mov qword [r12 + 0x40], r9
jmp 0x140062747
mov ecx, 3
nop word cs:[rax + rax]
mov edx, dword [0x141dca7b8]
imul edx, dword [0x141dca7bc]
imul edx, edx, 0xd7dab2a2
or edx, 0x3a84bbd2
xor edx, 0x6d045733
cmp edx, 0x3dd8e76f
jb 0x1400627e0
test ax, ax
jle 0x14006292f
mov edx, dword [0x141dca7c0]
sub edx, dword [0x141dca7c4]
lea r8, [rcx + rcx*2]
cmp edx, 0x45861f36
jne 0x14006282f
mov word [r12 + r8*8], 2
dec eax
lea rdx, [r12 + r8*8]
nop word cs:[rax + rax]
mov r9d, dword [0x141dca7c8]
and r9d, dword [0x141dca7cc]
xor r9d, 0x1ac9e308
imul r9d, r9d, 0x5733b3f5
or r9d, 0xa12ce630
mov word [r12 + r8*8], 2
cmp r9d, 0xdd2ba98e
jb 0x140062840
mov r8d, dword [0x141dca7d0]
sub r8d, dword [0x141dca7d4]
add r8d, 0xbf57b4d7
xor r8d, 0x9dc58ff2
add r8d, 0x58a117ea
cmp r8d, 0x9c039b0a
jae 0x1400628aa
lea r8, [0x141db711a]
mov qword [rdx + 8], r8
lea r8, [0x141db711a]
nop word cs:[rax + rax]
mov r9d, dword [0x141dca7d8]
xor r9d, dword [0x141dca7dc]
xor r9d, 0x96f8c737
imul r9d, r9d, 0xed66b9a1
mov qword [rdx + 8], r8
cmp r9d, 0xe25a296c
je 0x1400628c0
xor r8d, r8d
test r8b, r8b
je 0x140062900
mov qword [rdx + 0x10], 1
nop dword [rax]
mov r8d, dword [0x141dca7e0]
xor r8d, dword [0x141dca7e4]
and r8d, 0xc83de7e7
imul r8d, r8d, 0x202f65b8
mov qword [rdx + 0x10], 1
cmp r8d, 0x688907a1
je 0x140062900
jmp 0x14006298e
mov r8d, 0xa1339ce1
lea rdx, [rcx + rcx*2]
lea rdx, [r12 + rdx*8]
nop dword [rax]
mov r9d, dword [0x141dca7e8]
or r9d, dword [0x141dca7ec]
and r9d, 0xb0322312
add r9d, 0xd55a7add
imul r9, r8
shr r9, 0x3f
cmp r9d, 0x34982bcd
ja 0x140062940
mov word [rdx], 2
lea r8, [0x141db711b]
mov qword [rdx + 8], r8
mov qword [rdx + 0x10], 2
mov edx, 1
sub edx, eax
mov eax, edx
mov edx, dword [0x141dca7f0]
or edx, dword [0x141dca7f4]
imul rdx, rdx, 0x58c222c7
shr rdx, 0x3e
imul edx, edx, 0x7292568
add edx, 0xd59e3ca0
cmp edx, 0xfb2fbcfb
jbe 0x1400629cb
lea rdx, [rcx + rcx*2]
mov word [r12 + rdx*8 + 0x18], 1
mov word [r12 + rdx*8 + 0x1a], ax
lea rdx, [rcx + rcx*2]
add rcx, 2
nop word cs:[rax + rax]
mov r8d, dword [0x141dca7f8]
xor r8d, dword [0x141dca7fc]
add r8d, 0xd1cec52f
or r8d, 0x86bc6e78
mov word [r12 + rdx*8 + 0x18], 1
mov word [r12 + rdx*8 + 0x1a], ax
cmp r8d, 0x7fa40b2e
je 0x1400629e0
mov qword [rdi], rsi
mov qword [rdi + 8], r13
mov qword [rdi + 0x10], r12
mov qword [rdi + 0x18], rcx
sub rsp, 0x20
mov rcx, r15
mov rdx, rdi
call fcn.140062a80
nop
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
sub rsp, 0x20
mov rcx, rbx
mov rdx, r14
mov r8, r15
call fcn.1400497f0
add rsp, 0x20
xor eax, eax
test al, al
je 0x1400625df
sub rsp, 0x20
mov rcx, rbx
mov rdx, r14
mov r8, r15
call fcn.1400497f0
add rsp, 0x20
jmp 0x140062a43