Function at 0x1400faf00
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
mov qword [rsp + 0x50], rdx
mov rbx, rcx
nop dword [rax + rax]
mov eax, dword [0x141dd3370]
or eax, dword [0x141dd3374]
imul rax, rax, 0x7219df6d
shr rax, 0x3d
xor eax, 0xb06cd875
add eax, 0x5139d2e4
cmp eax, 0x8668bf39
ja 0x1400faf20
nop dword [rax + rax]
mov eax, dword [0x141dd3378]
mov ecx, dword [str.dG_PY]
add eax, ecx
add eax, 0xf4c291a4
xor eax, 0xc364942
cmp eax, 0x93edf2ed
jb 0x1400faf50
mov r14, qword [rbx + 0x18]
cmp r14, 0xffffffffffffffff
je 0x1400fbb15
mov r13, qword [rbx + 8]
lea rbp, [r13 + 1]
mov rax, rbp
shr rax, 3
mov r12, rbp
and r12, 0xfffffffffffffff8
sub r12, rax
cmp r13, 8
cmovb r12, r13
mov rax, r12
shr rax, 1
xor ecx, ecx
nop word cs:[rax + rax]
test cl, cl
jne 0x1400fafb0
movabs r9, 0x7ffffffffffffff0
cmp r14, rax
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x40], r14
jae 0x1400fb0c6
mov r15, qword [rbx]
mov rcx, rbp
shr rcx, 4
mov eax, dword [0x141dd3488]
xor edx, edx
div dword [0x141dd348c]
or eax, 0xa8a64c20
imul r9, rax, 0x5c6400ab
shr r9, 0x3e
add r9d, 0xe7254f93
xor eax, eax
test bpl, 0xf
setne dl
cmp r9d, 0x6541fa3
jb 0x1400fafe0
mov al, dl
add rcx, rax
mov eax, dword [0x141dd3490]
xor edx, edx
div dword [0x141dd3494]
nop word [rax + rax]
mov eax, dword [0x141dd3498]
and eax, dword [0x141dd349c]
add eax, 0x67cd252f
or eax, 0x5fac3eff
cmp eax, 0x324139da
jb 0x1400fb030
test rcx, rcx
je 0x1400fbb50
nop word cs:[rax + rax]
mov eax, dword [0x141dd34a0]
sub eax, dword [0x141dd34a4]
and eax, 0xd4601db9
imul eax, eax, 0x4e3952d9
add eax, 0x34162ac3
cmp eax, 0xddd5d08b
jb 0x1400fb060
nop word cs:[rax + rax]
mov eax, dword [0x141dd34a8]
imul eax, dword [str.fPJ]
or eax, 0xa1d564ef
imul eax, eax, 0x6f4be8f9
and eax, 0x846f0d74
cmp eax, 0xf39ab42c
ja 0x1400fb090
cmp rcx, 1
jne 0x1400fb305
xor r11d, r11d
jmp 0x1400fb3ff
cmp r14, r12
cmova r12, r14
cmp r12, 7
mov qword [rsp + 0x88], rbp
jae 0x1400fb112
xor eax, eax
cmp r12, 3
setae al
lea r15, [rax*4 + 4]
nop dword [rax]
mov eax, dword [0x141dd3388]
or eax, dword [0x141dd338c]
xor eax, 0x47eb4786
add eax, 0xcaf19942
cmp eax, 0x79443609
jbe 0x1400fb0f0
jmp 0x1400fb1cd
movabs rax, 0x1ffffffffffffffe
nop dword [rax]
mov ecx, dword [0x141dd3380]
and ecx, dword [0x141dd3384]
imul ecx, ecx, 0x6aa698e9
add ecx, 0xa1ff208a
or ecx, 0xbc10ff6
cmp ecx, 0x3d3b1399
je 0x1400fb120
cmp r12, rax
ja 0x1400fb44d
lea rcx, [r12*8 + 8]
movabs rdx, 0x2492492492492493
mov rax, rcx
mul rdx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 2
dec rcx
bsr rcx, rcx
xor rcx, 0x3f
nop
mov eax, dword [0x141dd3390]
or eax, dword [0x141dd3394]
imul eax, eax, 0xb69d4aa3
add eax, 0x92bd6543
mov r15, 0xffffffffffffffff
shr r15, cl
cmp eax, 0xa7914b03
ja 0x1400fb180
inc r15
nop dword [rax + rax]
mov eax, dword [0x141dd3398]
or eax, dword [0x141dd339c]
add eax, 0xe320e367
or eax, 0x42aa424b
cmp eax, 0x8976ec99
je 0x1400fb1b0
mov ecx, 0x160
mov rax, r15
mul rcx
jo 0x1400fbb15
mov r12, rax
lea rsi, [r15 + 0x10]
nop word cs:[rax + rax]
mov eax, dword [0x141dd33b8]
xor edx, edx
div dword [0x141dd33bc]
xor eax, 0xfd3c4ad
add eax, 0x5d99980e
imul rax, rax, 0x43a66aa1
shr rax, 0x2f
cmp eax, 0xd9535829
ja 0x1400fb1f0
nop word [rax + rax]
mov eax, dword [0x141dd33c0]
xor eax, dword [0x141dd33c4]
imul ecx, eax, 0x7d49792a
add ecx, 0xd4af1f34
or ecx, 0xcad1d11a
mov rbp, r12
add rbp, rsi
setb al
cmp ecx, 0xb04af3d1
je 0x1400fb220
test al, al
jne 0x1400fbb15
mov eax, dword [0x141dd33c8]
xor edx, edx
div dword [0x141dd33cc]
nop word cs:[rax + rax]
mov eax, dword [0x141dd33d0]
sub eax, dword [0x141dd33d4]
or eax, 0xc5a73517
add eax, 0xeea41663
cmp eax, 0xfb8cbe6f
ja 0x1400fb270
mov eax, 0xb809d563
nop word cs:[rax + rax]
mov ecx, dword [0x141dd33d8]
xor ecx, dword [0x141dd33dc]
xor ecx, 0x9b05ff83
imul rcx, rax
shr rcx, 0x3e
add ecx, 0xa4bcf339
cmp ecx, 0x89663fad
jb 0x1400fb2a0
cmp rbp, r9
ja 0x1400fbb15
mov qword [rsp + 0x80], r13
mov eax, dword [0x141dd33e0]
or eax, dword [0x141dd33e4]
imul eax, eax, 0x3ecfe8cb
or eax, 0x678b2ec
and eax, 0x3ffdf3ec
cmp eax, 0xd0af977d
jbe 0x1400fb46e
jmp 0x1400fb4ad
movabs r9, 0x1ffffffffffffffe
and r9, rcx
xor r11d, r11d
nop word cs:[rax + rax]
mov eax, dword [0x141dd34b0]
or eax, dword [0x141dd34b4]
add eax, 0x7f275e70
and eax, 0x31b09fcf
add eax, 0xfc606bc4
cmp eax, 0x9042d110
jae 0x1400fb320
movdqa xmm0, xmmword [0x1400ff680]
xor r10d, r10d
nop dword [rax]
mov eax, dword [0x141dd34d8]
add eax, dword [0x141dd34dc]
imul eax, eax, 0xfb1101fb
and eax, 0xa7402009
cmp eax, 0xfc22443e
jne 0x1400fb3a0
mov rax, r11
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [r15 + r11]
or rax, 0x10
por xmm1, xmm0
movdqa xmmword [r15 + r11], xmm1
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [r15 + rax]
por xmm1, xmm0
movdqa xmmword [r15 + rax], xmm1
nop dword [rax]
mov eax, dword [0x141dd34e0]
xor edx, edx
div dword [0x141dd34e4]
or eax, 0xc9badbf6
mov rdx, r11
or rdx, 0x10
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [r15 + r11]
por xmm1, xmm0
movdqa xmmword [r15 + r11], xmm1
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [r15 + rdx]
xor eax, 0x560f4f08
por xmm1, xmm0
movdqa xmmword [r15 + rdx], xmm1
cmp eax, 0x25e022fa
jb 0x1400fb3a0
add r11, 0x20
add r10, 2
cmp r10, r9
jne 0x1400fb350
test cl, 1
je 0x1400fbb50
pxor xmm0, xmm0
pcmpgtb xmm0, xmmword [r15 + r11]
por xmm0, xmmword [0x1400ff680]
mov eax, dword [0x141dd34b8]
imul eax, dword [0x141dd34bc]
imul eax, eax, 0xa8181e84
xor eax, 0x735fd6c2
imul rax, rax, 0x5c96535d
shr rax, 0x3e
cmp eax, 0x8e8926d3
jbe 0x1400fbb17
jmp 0x1400fbb40
mov eax, dword [0x141dd33a0]
xor eax, dword [0x141dd33a4]
and eax, 0x148649b
cmp eax, 0x815aaf53
jne 0x1400fbac9
jmp 0x1400fbae9
mov eax, dword [0x141dd33e8]
xor edx, edx
div dword [0x141dd33ec]
add eax, 0xf8933557
mov edi, 0xd2ce6a1d
imul rdi, rax
shr rdi, 0x3f
or edi, 0xa5e089ca
movzx eax, byte [0x141dd7ff8]
xor ecx, ecx
mov rdx, rbp
call fcn.1400beea0
cmp edi, 0x380336cf
jae 0x1400fb4c0
movzx eax, byte [0x141dd7ff8]
xor ecx, ecx
mov rdx, rbp
call fcn.1400beea0
jmp 0x1400fb46e
mov r13, rax
mov eax, 0xbdc97279
nop dword [rax + rax]
mov ecx, dword [0x141dd33f0]
sub ecx, dword [0x141dd33f4]
imul rcx, rax
shr rcx, 0x3e
xor ecx, 0x48030643
or ecx, 0x13bc29a0
cmp ecx, 0x443269ad
jb 0x1400fb4d0
test r13, r13
je 0x1400fbb15
lea rdi, [r15 - 1]
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x1400fb510
mov rax, r15
shr rax, 3
mov rcx, r15
and rcx, 0xfffffffffffffff8
sub rcx, rax
cmp r15, 9
cmovb rcx, rdi
mov qword [rsp + 0x78], rcx
add r13, r12
mov rcx, r13
mov dl, 0xff
mov r8, rsi
call sub.VCRUNTIME140.dll_memset
mov rax, qword [rbx]
mov qword [rsp + 0x28], rax
nop word [rax + rax]
mov eax, dword [0x141dd33f8]
imul eax, dword [0x141dd33fc]
imul eax, eax, 0xdbd6a782
add eax, 0x7ea33708
cmp eax, 0x46baa4e0
ja 0x1400fb550
test r14, r14
mov rbx, qword [rsp + 0x50]
je 0x1400fb8cb
xor eax, eax
nop
test al, al
jne 0x1400fb580
mov r15, qword [rsp + 0x28]
movdqa xmm0, xmmword [r15]
pmovmskb r12d, xmm0
not r12d
lea r9, [r15 - 0x160]
nop dword [rax]
mov eax, dword [0x141dd3400]
xor edx, edx
div dword [0x141dd3404]
xor eax, 0x4b1d4dec
imul rax, rax, 0x7cc28e89
shr rax, 0x3e
imul eax, eax, 0x302b5390
cmp eax, 0xa7cf9c4
ja 0x1400fb5a0
xor ebp, ebp
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x90], rdi
nop word cs:[rax + rax]
mov eax, dword [0x141dd3408]
xor eax, dword [0x141dd340c]
imul eax, eax, 0xdaa4a3ab
or eax, 0x9f5ca8b7
cmp eax, 0x471cbbe6
jb 0x1400fb5f0
test r12w, r12w
jne 0x1400fb660
nop word cs:[rax + rax]
mov eax, dword [0x141dd3410]
sub eax, dword [0x141dd3414]
imul eax, eax, 0xa794d239
add eax, 0x2daef923
or eax, 0x21028907
cmp eax, 0x7739915b
je 0x1400fb620
add rbp, 0x10
movdqa xmm0, xmmword [r15 + 0x10]
add r15, 0x10
pmovmskb r12d, xmm0
cmp r12w, 0xffff
je 0x1400fb620
not r12d
mov qword [rsp + 0x58], r15
mov eax, dword [0x141dd3418]
sub eax, dword [0x141dd341c]
add eax, 0x2e298fe0
xor eax, 0xef4b85ed
cmp eax, 0xc3671ffa
mov r15, qword [rsp + 0x30]
mov rdi, r9
ja 0x1400fb8a2
mov esi, dword [0x141dd3420]
add esi, dword [0x141dd3424]
or esi, 0x8940a1
xor esi, 0x897033
or esi, 0xfd648e4c
tzcnt r14d, r12d
add r14, rbp
mov rax, r14
neg rax
imul rax, rax, 0x160
mov r8, qword [r9 + rax]
mov rcx, rbx
mov rdx, r15
call fcn.1400c8d40
mov r9, rdi
cmp esi, 0xa9de578c
je 0x1400fb8a2
mov rsi, rax
mov rdi, qword [rsp + 0x90]
and rsi, rdi
movdqu xmm0, xmmword [r13 + rsi]
pmovmskb r10d, xmm0
test r10w, r10w
jne 0x1400fb72b
mov ecx, 0x10
nop word cs:[rax + rax]
add rsi, rcx
and rsi, rdi
movdqu xmm0, xmmword [r13 + rsi]
pmovmskb r10d, xmm0
add rcx, 0x10
test r10d, r10d
je 0x1400fb710
lea ecx, [r12 - 1]
and ecx, r12d
dec qword [rsp + 0x38]
mov edx, ecx
mov r8d, 0xe8129ced
mov ecx, dword [0x141dd3428]
sub ecx, dword [0x141dd342c]
imul rcx, r8
shr rcx, 0x3e
and ecx, 0xfffffffe
add ecx, 0xc4e6df07
cmp ecx, 0x51afe133
jb 0x1400fb740
mov qword [rsp + 0x60], rbp
tzcnt ecx, r10d
add rsi, rcx
and rsi, rdi
cmp byte [r13 + rsi], 0
js 0x1400fb7b0
movdqa xmm0, xmmword [r13]
pmovmskb ecx, xmm0
tzcnt esi, ecx
nop dword [rax + rax]
mov ecx, dword [0x141dd3430]
and ecx, dword [0x141dd3434]
add ecx, 0x89cd0b04
or ecx, 0xaee7ffbb
cmp ecx, 0x6dd7337f
jb 0x1400fb790
mov qword [rsp + 0x68], rdx
mov ecx, dword [0x141dd3438]
xor ecx, dword [0x141dd343c]
or ecx, 0x71720d67
mov rbp, r14
not rbp
mov rbx, rsi
not rbx
cmp ecx, 0xd49322fa
jne 0x1400fb81a
mov r8, rax
shr r8, 0x39
lea rcx, [rsi - 0x10]
and rcx, rdi
mov byte [r13 + rsi], r8b
mov byte [rcx + r13 + 0x10], r8b
imul rdx, rbp, 0x160
add rdx, qword [rsp + 0x28]
imul rcx, rbx, 0x160
add rcx, r13
mov r8d, 0x160
mov r12, rax
call sub.VCRUNTIME140.dll_memcpy
mov rax, r12
mov r14, rdi
mov rdi, qword [rsp + 0x28]
xor r12d, r12d
nop word cs:[rax + rax]
mov r8, rax
shr r8, 0x39
lea rcx, [rsi - 0x10]
and rcx, r14
mov byte [r13 + rsi], r8b
mov byte [rcx + r13 + 0x10], r8b
imul rdx, rbp, 0x160
add rdx, rdi
imul rcx, rbx, 0x160
add rcx, r13
mov r8d, 0x160
mov r15, r13
mov r13, rax
call sub.VCRUNTIME140.dll_memcpy
mov rax, r13
mov r13, r15
test r12b, r12b
jne 0x1400fb830
cmp qword [rsp + 0x38], 0
mov rbx, qword [rsp + 0x50]
mov rdi, r14
mov r9, qword [rsp + 0x48]
mov r12, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x60]
mov r15, qword [rsp + 0x58]
jne 0x1400fb5f0
jmp 0x1400fb8cb
tzcnt eax, r12d
add rax, rbp
neg rax
imul rax, rax, 0x160
mov r8, qword [r9 + rax]
mov rcx, rbx
mov rdx, r15
call fcn.1400c8d40
mov r9, rdi
jmp 0x1400fb68e
mov eax, dword [0x141dd3440]
add eax, dword [0x141dd3444]
imul eax, eax, 0xbc5d3614
and eax, 0x888caa8
cmp eax, 0x77141638
mov rcx, qword [rsp + 0x70]
ja 0x1400fb919
mov eax, dword [0x141dd3448]
imul eax, dword [0x141dd344c]
imul eax, eax, 0xd03af56
xor eax, 0x49a2252d
and eax, 0x49b2b56d
mov qword [rcx], r13
mov qword [rcx + 8], rdi
cmp eax, 0x7b2be007
jbe 0x1400fb922
mov qword [rcx], r13
mov qword [rcx + 8], rdi
jmp 0x1400fb8ee
mov r8, qword [rsp + 0x78]
sub r8, qword [rsp + 0x40]
mov eax, dword [0x141dd3450]
imul eax, dword [0x141dd3454]
xor eax, 0x5208022
and eax, 0x572080fb
xor eax, 0xb5f2d80e
cmp eax, 0x71018b19
mov r10, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x28]
jb 0x1400fb984
mov eax, dword [0x141dd3458]
xor edx, edx
div dword [0x141dd345c]
xor eax, 0x63004d00
and eax, 0x63024f25
xor eax, 0xe2fb7765
mov qword [rcx + 0x10], r8
cmp eax, 0x14a00278
jae 0x1400fb98a
mov qword [rcx + 0x10], r8
jmp 0x1400fb95c
mov r9, qword [rsp + 0x80]
test r9, r9
je 0x1400fc6c0
mov ecx, 0x160
mov eax, dword [0x141dd3460]
sub eax, dword [0x141dd3464]
imul r8d, eax, 0xaa6e7213
or r8d, 0x2c1cdd2c
mov rax, r10
mul rcx
cmp r8d, 0x581872eb
jb 0x1400fb9a0
lea rcx, [r9 + rax]
add rcx, 0x11
nop word cs:[rax + rax]
mov edx, dword [0x141dd3468]
imul edx, dword [0x141dd346c]
and edx, 0x129c5f22
imul edx, edx, 0xe63028f9
add edx, 0x38ee4e05
cmp edx, 0x3a4f6a65
jb 0x1400fb9e0
test rcx, rcx
je 0x1400fc6c0
neg rax
add rbx, rax
nop word cs:[rax + rax]
mov eax, dword [0x141dd3470]
xor edx, edx
div dword [0x141dd3474]
imul eax, eax, 0x2ce0e3b8
add eax, 0x68e672b8
imul rax, rax, 0x5009cd31
shr rax, 0x3b
cmp eax, 0x3aa4263b
ja 0x1400fba20
mov eax, dword [0x141dd3478]
sub eax, dword [0x141dd347c]
not eax
or eax, 0x7863c2c5
and eax, 0x7963c2e5
cmp eax, 0x452fa9eb
jne 0x1400fba7c
mov rcx, qword [0x141dd7fe0]
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [sym.imp.KERNEL32.dll_HeapFree]
nop word cs:[rax + rax]
mov edi, dword [0x141dd3480]
sub edi, dword [0x141dd3484]
add edi, 0xfef4a9cf
or edi, 0xa808201
and edi, 0x1ed783d3
mov rcx, qword [0x141dd7fe0]
xor edx, edx
mov r8, rbx
call rsi
cmp edi, 0x807a20a5
ja 0x1400fba90
jmp 0x1400fc6c0
mov eax, dword [0x141dd33a8]
and eax, dword [0x141dd33ac]
xor eax, 0x9610ecf5
imul eax, eax, 0xc5336822
ud2
ud2
ud2
mov eax, dword [0x141dd34c0]
add eax, dword [0x141dd34c4]
imul eax, eax, 0x5d60742c
add eax, 0xafeca524
and eax, 0xe58faa0
movdqa xmmword [r15 + r11], xmm0
cmp eax, 0xef263edd
jne 0x1400fbb50
movdqa xmmword [r15 + r11], xmm0
jmp 0x1400fbb17
mov eax, dword [0x141dd34c8]
or eax, dword [0x141dd34cc]
and eax, 0xf8256e0
imul eax, eax, 0x4a3706ea
or eax, 0xe02dad87
cmp eax, 0x65ba8b3f
jb 0x1400fbb50
nop word cs:[rax + rax]
mov eax, dword [0x141dd34d0]
xor edx, edx
div dword [0x141dd34d4]
add eax, 0x70dad84
xor eax, 0x60001014
or eax, 0x92eeed41
cmp eax, 0x16d6d02
jb 0x1400fbb80
cmp rbp, 0x10
jae 0x1400fbc61
mov eax, dword [0x141dd34f8]
xor edx, edx
div dword [0x141dd34fc]
and eax, 0xb2b00101
imul eax, eax, 0xc28f4e64
imul rax, rax, 0xc623291
shr rax, 0x3b
cmp eax, 0xf11a6b6b
jbe 0x1400fbbe8
lea rcx, [r15 + 0x10]
mov rdx, r15
mov r8, rbp
call sub.VCRUNTIME140.dll_memmove
lea rsi, [r15 + 0x10]
nop dword [rax]
mov eax, dword [0x141dd3500]
xor eax, dword [0x141dd3504]
add eax, 0x69639415
imul rax, rax, 0x34a37a9b
shr rax, 0x3c
imul edi, eax, 0xf90d94ea
mov rcx, rsi
mov rdx, r15
mov r8, rbp
call sub.VCRUNTIME140.dll_memmove
cmp edi, 0x98f07595
jb 0x1400fbbf0
nop dword [rax + rax]
mov eax, dword [0x141dd3508]
imul eax, dword [0x141dd350c]
xor eax, 0xf386de7d
imul eax, eax, 0x90bc9bf7
cmp eax, 0xb0f76bd6
je 0x1400fbc30
cmp r13, 0xffffffffffffffff
mov r8, qword [rsp + 0x30]
jne 0x1400fbcba
xor eax, eax
jmp 0x1400fc6b6
add rbp, r15
nop word cs:[rax + rax]
mov eax, dword [0x141dd34e8]
add eax, dword [0x141dd34ec]
xor eax, 0x114ace2
or eax, 0xe8e34205
xor eax, 0xa1b844fc
cmp eax, 0x7685f5b2
ja 0x1400fbc70
movdqu xmm0, xmmword [r15]
movdqu xmmword [rbp], xmm0
nop dword [rax]
mov eax, dword [0x141dd34f0]
imul eax, dword [0x141dd34f4]
imul eax, eax, 0xdb724b1e
cmp eax, 0xde37217
je 0x1400fbca0
mov qword [rsp + 0x48], r12
movabs r12, 0x736f6d6570736575
mov eax, 0xa4543723
lea rcx, [r15 - 0x160]
mov qword [rsp + 0x30], rcx
mov rbp, qword [rsp + 0x50]
xor r12, rbp
nop word cs:[rax + rax]
mov ecx, dword [0x141dd3510]
add ecx, dword [0x141dd3514]
or ecx, 0x4ed02f58
imul rcx, rax
shr rcx, 0x3f
imul ecx, ecx, 0x55a0a0ee
cmp ecx, 0x3061b834
ja 0x1400fbcf0
movabs rcx, 0x646f72616e646f6d
xor rcx, r8
movabs rax, 0x6c7967656e657261
add r12, rcx
rol rcx, 0xd
xor rbp, rax
xor rcx, r12
rol r12, 0x20
mov qword [rsp + 0x38], rcx
rol rcx, 0x11
mov qword [rsp + 0x68], rcx
xor edi, edi
movabs rax, 0x7465646279746573
xor rax, r8
mov qword [rsp + 0x60], rax
xor esi, esi
nop word cs:[rax + rax]
mov eax, dword [0x141dd3518]
add eax, dword [0x141dd351c]
imul eax, eax, 0x2905206
or eax, 0x40859680
and eax, 0xceb596ba
cmp eax, 0xe927eb15
ja 0x1400fbd70
cmp byte [r15 + rsi], 0x80
jne 0x1400fc65a
imul rax, rsi, 0xfffffffffffffea0
lea rcx, [r15 + rax]
mov qword [rsp + 0x28], rcx
add rax, r15
add rax, 0xfffffffffffffea0
mov qword [rsp + 0x58], rax
test dil, dil
jne 0x1400fbdbc
mov rax, rsi
not rax
imul r9, rax, 0x160
add r9, r15
mov rax, rsi
neg rax
imul r11, rax, 0x160
add r11, qword [rsp + 0x30]
nop word cs:[rax + rax]
mov eax, dword [0x141dd3520]
imul eax, dword [0x141dd3524]
and eax, 0xb49a4a18
xor eax, 0x8fb4f24f
imul rax, rax, 0x71a2eb07
shr rax, 0x3e
cmp eax, 0x74cc6319
ja 0x1400fbdf0
jmp 0x1400fc368
imul rax, rax, 0xfffffffffffffea0
add rax, r15
cmp qword [rsp + 0x58], rax
jae 0x1400fbf00
cmp rcx, qword [rsp + 0x28]
jae 0x1400fbf00
xor r8d, r8d
nop word cs:[rax + rax]
mov eax, dword [0x141dd3568]
xor edx, edx
div dword [0x141dd356c]
add eax, 0xc53dc219
or eax, 0x22861001
and eax, 0x7396b20b
cmp eax, 0xe0acc389
jne 0x1400fbea0
movzx eax, byte [r9 + r8]
movzx edx, byte [rcx + r8]
mov byte [r9 + r8], dl
mov byte [rcx + r8], al
mov rax, r8
or rax, 1
movzx edx, byte [r9 + rax]
movzx ebx, byte [rcx + rax]
mov byte [r9 + rax], bl
mov byte [rcx + rax], dl
nop dword [rax]
mov eax, dword [0x141dd3570]
imul eax, dword [0x141dd3574]
mov rdx, r8
or rdx, 1
movzx ebx, byte [r9 + r8]
movzx r14d, byte [rcx + r8]
mov byte [r9 + r8], r14b
mov byte [rcx + r8], bl
movzx ebx, byte [r9 + rdx]
movzx r14d, byte [rcx + rdx]
mov byte [r9 + rdx], r14b
mov byte [rcx + rdx], bl
or eax, 0xe1dbf59f
and eax, 0xe1fbf79f
cmp eax, 0x61cd5b5a
jb 0x1400fbea0
add r8, 2
cmp r8, 0x160
jne 0x1400fbe50
jmp 0x1400fc368
mov eax, dword [0x141dd3560]
or eax, dword [0x141dd3564]
movdqu xmm0, xmmword [r9]
and eax, 0xbe72539f
add eax, 0xef13ff9
cmp eax, 0xec41c6c1
jbe 0x1400fc130
movups xmm1, xmmword [r9 + 0x10]
movups xmm2, xmmword [rcx]
movups xmm3, xmmword [rcx + 0x10]
movups xmmword [r9], xmm2
movups xmmword [r9 + 0x10], xmm3
movdqu xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm1
movups xmm1, xmmword [r9 + 0x20]
movups xmm2, xmmword [r9 + 0x30]
movups xmm3, xmmword [rcx + 0x20]
movups xmm4, xmmword [rcx + 0x30]
movups xmmword [r9 + 0x20], xmm3
movups xmmword [r9 + 0x30], xmm4
movups xmmword [rcx + 0x20], xmm1
movups xmmword [rcx + 0x30], xmm2
movups xmm1, xmmword [r9 + 0x40]
movups xmm2, xmmword [r9 + 0x50]
movups xmm3, xmmword [rcx + 0x40]
movups xmm4, xmmword [rcx + 0x50]
movups xmmword [r9 + 0x40], xmm3
movups xmmword [r9 + 0x50], xmm4
movups xmmword [rcx + 0x40], xmm1
movups xmmword [rcx + 0x50], xmm2
movups xmm1, xmmword [r9 + 0x60]
movups xmm2, xmmword [r9 + 0x70]
movups xmm3, xmmword [rcx + 0x60]
movups xmm4, xmmword [rcx + 0x70]
movups xmmword [r9 + 0x60], xmm3
movups xmmword [r9 + 0x70], xmm4
movups xmmword [rcx + 0x60], xmm1
movups xmmword [rcx + 0x70], xmm2
movups xmm1, xmmword [r9 + 0x80]
movups xmm2, xmmword [r9 + 0x90]
movups xmm3, xmmword [rcx + 0x80]
movups xmm4, xmmword [rcx + 0x90]
movups xmmword [r9 + 0x80], xmm3
movups xmmword [r9 + 0x90], xmm4
movups xmmword [rcx + 0x80], xmm1
movups xmmword [rcx + 0x90], xmm2
movups xmm1, xmmword [r9 + 0xa0]
movups xmm2, xmmword [r9 + 0xb0]
movups xmm3, xmmword [rcx + 0xa0]
movups xmm4, xmmword [rcx + 0xb0]
movups xmmword [r9 + 0xa0], xmm3
movups xmmword [r9 + 0xb0], xmm4
movups xmmword [rcx + 0xa0], xmm1
movups xmmword [rcx + 0xb0], xmm2
movups xmm1, xmmword [r9 + 0xc0]
movups xmm2, xmmword [r9 + 0xd0]
movups xmm3, xmmword [rcx + 0xc0]
movups xmm4, xmmword [rcx + 0xd0]
movups xmmword [r9 + 0xc0], xmm3
movups xmmword [r9 + 0xd0], xmm4
movups xmmword [rcx + 0xc0], xmm1
movups xmmword [rcx + 0xd0], xmm2
movups xmm1, xmmword [r9 + 0xe0]
movups xmm2, xmmword [r9 + 0xf0]
movups xmm3, xmmword [rcx + 0xe0]
movups xmm4, xmmword [rcx + 0xf0]
movups xmmword [r9 + 0xe0], xmm3
movups xmmword [r9 + 0xf0], xmm4
movups xmmword [rcx + 0xe0], xmm1
movups xmmword [rcx + 0xf0], xmm2
movups xmm1, xmmword [r9 + 0x100]
movups xmm2, xmmword [r9 + 0x110]
movups xmm3, xmmword [rcx + 0x100]
movups xmm4, xmmword [rcx + 0x110]
movups xmmword [r9 + 0x100], xmm3
movups xmmword [r9 + 0x110], xmm4
movups xmmword [rcx + 0x100], xmm1
movups xmmword [rcx + 0x110], xmm2
movups xmm1, xmmword [r9 + 0x120]
movups xmm2, xmmword [r9 + 0x130]
movups xmm3, xmmword [rcx + 0x120]
movups xmm4, xmmword [rcx + 0x130]
movups xmmword [r9 + 0x120], xmm3
movups xmmword [r9 + 0x130], xmm4
movups xmmword [rcx + 0x120], xmm1
movups xmmword [rcx + 0x130], xmm2
movdqu xmm1, xmmword [rcx + 0x140]
movdqu xmmword [r9 + 0x140], xmm1
nop dword [rax + rax]
movups xmm1, xmmword [r9 + 0x10]
movups xmm2, xmmword [rcx]
movups xmm3, xmmword [rcx + 0x10]
movups xmmword [r9], xmm2
movups xmmword [r9 + 0x10], xmm3
movdqu xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm1
movups xmm1, xmmword [r9 + 0x20]
movups xmm2, xmmword [r9 + 0x30]
movups xmm3, xmmword [rcx + 0x20]
movups xmm4, xmmword [rcx + 0x30]
movups xmmword [r9 + 0x20], xmm3
movups xmmword [r9 + 0x30], xmm4
movups xmmword [rcx + 0x20], xmm1
movups xmmword [rcx + 0x30], xmm2
movups xmm1, xmmword [r9 + 0x40]
movups xmm2, xmmword [r9 + 0x50]
movups xmm3, xmmword [rcx + 0x40]
movups xmm4, xmmword [rcx + 0x50]
movups xmmword [r9 + 0x40], xmm3
movups xmmword [r9 + 0x50], xmm4
movups xmmword [rcx + 0x40], xmm1
movups xmmword [rcx + 0x50], xmm2
movups xmm1, xmmword [r9 + 0x60]
movups xmm2, xmmword [r9 + 0x70]
movups xmm3, xmmword [rcx + 0x60]
movups xmm4, xmmword [rcx + 0x70]
movups xmmword [r9 + 0x60], xmm3
movups xmmword [r9 + 0x70], xmm4
movups xmmword [rcx + 0x60], xmm1
movups xmmword [rcx + 0x70], xmm2
movups xmm1, xmmword [r9 + 0x80]
movups xmm2, xmmword [r9 + 0x90]
movups xmm3, xmmword [rcx + 0x80]
movups xmm4, xmmword [rcx + 0x90]
movups xmmword [r9 + 0x80], xmm3
movups xmmword [r9 + 0x90], xmm4
movups xmmword [rcx + 0x80], xmm1
movups xmmword [rcx + 0x90], xmm2
movups xmm1, xmmword [r9 + 0xa0]
movups xmm2, xmmword [r9 + 0xb0]
movups xmm3, xmmword [rcx + 0xa0]
movups xmm4, xmmword [rcx + 0xb0]
movups xmmword [r9 + 0xa0], xmm3
movups xmmword [r9 + 0xb0], xmm4
movups xmmword [rcx + 0xa0], xmm1
movups xmmword [rcx + 0xb0], xmm2
movups xmm1, xmmword [r9 + 0xc0]
movups xmm2, xmmword [r9 + 0xd0]
movups xmm3, xmmword [rcx + 0xc0]
movups xmm4, xmmword [rcx + 0xd0]
movups xmmword [r9 + 0xc0], xmm3
movups xmmword [r9 + 0xd0], xmm4
movups xmmword [rcx + 0xc0], xmm1
movups xmmword [rcx + 0xd0], xmm2
movups xmm1, xmmword [r9 + 0xe0]
movups xmm2, xmmword [r9 + 0xf0]
movups xmm3, xmmword [rcx + 0xe0]
movups xmm4, xmmword [rcx + 0xf0]
movups xmmword [r9 + 0xe0], xmm3
movups xmmword [r9 + 0xf0], xmm4
movups xmmword [rcx + 0xe0], xmm1
movups xmmword [rcx + 0xf0], xmm2
movups xmm1, xmmword [r9 + 0x100]
movups xmm2, xmmword [r9 + 0x110]
movups xmm3, xmmword [rcx + 0x100]
movups xmm4, xmmword [rcx + 0x110]
movups xmmword [r9 + 0x100], xmm3
movups xmmword [r9 + 0x110], xmm4
movups xmmword [rcx + 0x100], xmm1
movups xmmword [rcx + 0x110], xmm2
movups xmm1, xmmword [r9 + 0x120]
movups xmm2, xmmword [r9 + 0x130]
movups xmm3, xmmword [rcx + 0x120]
movups xmm4, xmmword [rcx + 0x130]
movups xmmword [r9 + 0x120], xmm3
movups xmmword [r9 + 0x130], xmm4
movups xmmword [rcx + 0x120], xmm1
movups xmmword [rcx + 0x130], xmm2
movdqu xmm1, xmmword [r9 + 0x140]
movups xmm2, xmmword [r9 + 0x150]
movups xmm4, xmmword [rcx + 0x140]
movups xmm3, xmmword [rcx + 0x150]
movups xmmword [r9 + 0x140], xmm4
test dil, dil
jne 0x1400fc130
movups xmmword [r9 + 0x150], xmm3
movdqu xmmword [rcx + 0x140], xmm1
movups xmmword [rcx + 0x150], xmm2
mov r8, qword [r11]
mov rbx, r8
xor rbx, qword [rsp + 0x60]
lea rax, [rbx + rbp]
rol rbx, 0x10
xor rbx, rax
add rax, qword [rsp + 0x38]
mov r10, r12
lea rcx, [rbx + r12]
mov rdx, rax
rol rbx, 0x15
xor rdx, qword [rsp + 0x68]
rol rax, 0x20
xor r8, rcx
movabs r14, 0x800000000000000
xor rcx, r14
xor rcx, rbx
add r8, rdx
add rax, rcx
rol rdx, 0xd
rol rcx, 0x10
xor rdx, r8
xor rcx, rax
rol r8, 0x20
add rax, rdx
add r8, rcx
rol rdx, 0x11
xor rdx, rax
rol rcx, 0x15
xor rcx, r8
rol rax, 0x20
xor r8, r14
xor rax, 0xff
mov ebx, dword [0x141dd3528]
or ebx, dword [0x141dd352c]
xor ebx, 0x40a37448
or ebx, 0xb7588aa6
imul rbx, rbx, 0x67d4ee8f
shr rbx, 0x3e
cmp ebx, 0x712495f
je 0x1400fc3e6
add r8, rdx
add rax, rcx
rol rdx, 0xd
xor rdx, r8
rol rcx, 0x10
rol r8, 0x20
xor rcx, rax
add rax, rdx
rol rdx, 0x11
add r8, rcx
xor rdx, rax
rol rcx, 0x15
xor rcx, r8
rol rax, 0x20
add r8, rdx
add rax, rcx
rol rdx, 0xd
xor rdx, r8
rol rcx, 0x10
rol r8, 0x20
xor rcx, rax
add rax, rdx
rol rdx, 0x11
add r8, rcx
xor rdx, rax
rol rcx, 0x15
xor rcx, r8
rol rax, 0x20
add r8, rdx
add rax, rcx
rol rdx, 0xd
xor rdx, r8
rol rcx, 0x10
xor rcx, rax
add rax, rdx
rol rdx, 0x11
rol rcx, 0x15
xor rcx, rdx
mov r8, rax
rol r8, 0x20
xor r8, rcx
xor r8, rax
mov rcx, r8
mov r12, r13
and rcx, r13
movdqu xmm0, xmmword [r15 + rcx]
pmovmskb eax, xmm0
mov r14, rcx
test ax, ax
jne 0x1400fc52c
mov r13d, 0x10
mov r14, rcx
xor ebx, ebx
nop word cs:[rax + rax]
mov eax, dword [0x141dd3530]
xor edx, edx
div dword [0x141dd3534]
mov eax, dword [0x141dd3538]
sub eax, dword [0x141dd353c]
add eax, 0x31c16b18
xor eax, 0xb39d5c05
imul rdx, rax, 0x9ff5f85
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
cmp eax, 0x4c06e4ed
ja 0x1400fc4de
add r14, r13
and r14, r12
movdqu xmm0, xmmword [r15 + r14]
pmovmskb eax, xmm0
add r13, 0x10
add rbx, 0x10
test ax, ax
je 0x1400fc4d0
tzcnt eax, eax
add rax, r14
mov r13, r12
and rax, r12
cmp byte [r15 + rax], 0
mov r12, r10
js 0x1400fc5b4
nop word cs:[rax + rax]
mov eax, dword [0x141dd3540]
imul eax, dword [0x141dd3544]
imul eax, eax, 0x81486f2a
and eax, 0x96379270
cmp eax, 0xf2676919
ja 0x1400fc550
movdqa xmm0, xmmword [r15]
pmovmskb ebx, xmm0
mov eax, dword [0x141dd3548]
xor edx, edx
div dword [0x141dd354c]
nop word cs:[rax + rax]
mov eax, dword [0x141dd3550]
xor edx, edx
div dword [0x141dd3554]
xor eax, 0x3bc106e8
imul eax, eax, 0x36a83f3a
cmp eax, 0xd3ac4e06
ja 0x1400fc590
tzcnt eax, ebx
mov edx, dword [0x141dd3558]
xor edx, dword [0x141dd355c]
add edx, 0xc5d0c8fd
and edx, 0xb8aa3add
add edx, 0x9e450ed5
cmp edx, 0x7d348633
jb 0x1400fc5b4
mov rdx, rsi
sub rdx, rcx
mov rbx, rax
sub rbx, rcx
xor rbx, rdx
and rbx, r13
cmp rbx, 0x10
jb 0x1400fc646
mov rcx, rax
not rcx
imul rcx, rcx, 0x160
add rcx, r15
movzx edx, byte [r15 + rax]
shr r8, 0x39
lea rbx, [rax - 0x10]
and rbx, r13
mov byte [r15 + rax], r8b
mov byte [r15 + rbx + 0x10], r8b
cmp dl, 0xff
jne 0x1400fbe20
lea rax, [rsi - 0x10]
and rax, r13
mov byte [r15 + rsi], 0xff
mov byte [rax + r15 + 0x10], 0xff
mov r8d, 0x160
mov rdx, r9
call sub.VCRUNTIME140.dll_memcpy
jmp 0x1400fc65a
shr r8, 0x39
lea rax, [rsi - 0x10]
and rax, r13
mov byte [r15 + rsi], r8b
mov byte [rax + r15 + 0x10], r8b
lea rcx, [rsi + 1]
mov eax, dword [0x141dd3578]
xor edx, edx
div dword [0x141dd357c]
nop dword [rax]
mov eax, dword [0x141dd3580]
or eax, dword [0x141dd3584]
add eax, 0x73e59167
shr eax, 4
imul rax, rax, 0x5b12c35
shr rax, 0x32
add eax, 0x78988a85
cmp eax, 0xc6cdc3d3
ja 0x1400fc670
cmp rsi, r13
mov rsi, rcx
jne 0x1400fbd70
mov rbx, qword [rsp + 0x70]
mov r14, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
sub rax, r14
mov qword [rbx + 0x10], rax
nop dword [rax]
mov eax, dword [0x141dd3588]
and eax, dword [0x141dd358c]
add eax, 0x5b4001d4
xor eax, 0x886aad8
cmp eax, 0x97838023
ja 0x1400fc6c0
movabs rax, 0x7ffffffffffffff0
add rax, 0x11
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret