Function at 0x14005ff40
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x110
movd r9d, xmm1
mov eax, r9d
shr eax, 0x17
movzx r11d, al
lea eax, [r9 + r9]
and eax, 0xfffffe
mov r10d, r9d
and r10d, 0x7fffff
or r10d, 0x800000
test r11d, r11d
cmove r10d, eax
mov rsi, rcx
mov eax, r9d
and eax, 0x7fffffff
cmp eax, 0x7f800000
jne 0x14005ff9a
mov al, 3
jmp 0x140060151
mov ecx, r11d
add ecx, 0xffffff6a
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x14005ffb0
ucomiss xmm1, xmm1
jp 0x14006017a
nop dword [rax]
mov eax, dword [0x141dc67d8]
or eax, dword [0x141dc67dc]
xor eax, 0x60180a0c
and eax, 0xf9591a6f
imul eax, eax, 0x9ccd0d25
cmp eax, 0x3f019f57
jb 0x14005ffc0
test r9d, 0x7fffffff
je 0x140060102
mov eax, dword [0x141dc67e0]
add eax, dword [0x141dc67e4]
or eax, 0x9f50b72f
add eax, 0xbe4d7547
cmp eax, 0xdec63a83
ja 0x14005fff0
mov eax, dword [0x141dc67e8]
xor edx, edx
div dword [0x141dc67ec]
nop dword [rax + rax]
mov eax, dword [0x141dc67f0]
or eax, dword [0x141dc67f4]
xor eax, 0x35a44159
imul rdx, rax, 0x16f0332b
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
cmp eax, 0x89d144b5
ja 0x140060020
test r9d, 0x7f800000
je 0x140060106
mov eax, 0x97e17429
lea rdi, [r10 + r10]
nop word cs:[rax + rax]
mov ecx, dword [0x141dc6808]
xor ecx, dword [0x141dc680c]
xor ecx, 0x7d9fe6bb
add ecx, 0xcc64e332
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x7e3130e
je 0x140060070
cmp r10d, 0x800000
mov eax, 0x2000000
cmove rdi, rax
movzx r11d, r11w
nop dword [rax]
xor ecx, ecx
cmp r10, 0x800000
sete dl
test r10b, 1
sete al
mov ebx, dword [0x141dc6810]
and ebx, dword [0x141dc6814]
imul rbx, rbx, 0x681b48bb
shr rbx, 0x3e
add ebx, 0xa7da9651
and ebx, 0x20521441
cmp ebx, 0x4d4b0ae3
je 0x1400600b0
mov cl, dl
lea rdx, [rcx + 1]
xor ecx, 0xffffff69
add ecx, r11d
mov r10, rdi
jmp 0x140060151
mov al, 4
jmp 0x140060151
mov eax, dword [0x141dc67f8]
xor edx, edx
div dword [0x141dc67fc]
nop word cs:[rax + rax]
test r10b, 1
sete al
mov edx, dword [0x141dc6800]
add edx, dword [0x141dc6804]
imul rdx, rdx, 0x1611d4c3
shr rdx, 0x3c
imul edx, edx, 0x30585019
cmp edx, 0x83ad67eb
je 0x140060120
mov edx, 1
mov r11d, dword [0x141dc6818]
mov edi, dword [0x141dc681c]
add r11d, edi
add r11d, 0x175a59e6
or r11d, 0xe1266a48
cmp r11d, 0x5401b8f0
jae 0x14006017e
jmp 0x1400601d5
mov al, 2
jmp 0x140060151
mov edi, dword [0x141dc6820]
and edi, dword [0x141dc6824]
add edi, 0xd227d118
xor edi, 0x7955d91d
add edi, 0xdd8d175f
lea r11d, [rax - 2]
movzx ebx, r11b
cmp bl, 3
mov r11d, 3
cmovb r11d, ebx
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], 1
mov qword [rsp + 0x30], rdx
mov word [rsp + 0x38], cx
mov byte [rsp + 0x3a], al
cmp edi, 0xe5526fed
jbe 0x1400601f3
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], 1
mov qword [rsp + 0x30], rdx
mov word [rsp + 0x38], cx
mov byte [rsp + 0x3a], al
jmp 0x14006017e
test r11b, r11b
je 0x140060374
movzx eax, r11b
mov ecx, dword [0x141dc6828]
and ecx, dword [0x141dc682c]
add ecx, 0xc11c6792
or ecx, 0x587c582d
and ecx, 0x5dfcfe6d
cmp ecx, 0x180c8390
jb 0x140060200
mov r15d, r9d
shr r15d, 0x1f
nop dword [rax]
mov ecx, dword [0x141dc6830]
and ecx, dword [str..Wz_S_Vw]
add ecx, 0x9ceabbcc
xor ecx, 0x428a143
and ecx, 0xcfb9bf63
cmp ecx, 0xa0aa0211
je 0x140060230
test r9d, r9d
lea rcx, [0x141db2f1d]
mov edx, 1
cmovs rdx, rcx
lea r12, [0x141db2f1e]
cmovs r12, rcx
mov ecx, 1
test r8b, r8b
cmovne r15, rcx
cmove r12, rdx
cmp eax, 1
je 0x14006045e
cmp eax, 2
jne 0x140060320
mov eax, dword [0x141dc6868]
and eax, dword [0x141dc686c]
xor eax, 0xbdccbd9d
imul rax, rax, 0xb89665d
shr rax, 0x3b
imul eax, eax, 0xce6415d7
cmp eax, 0xcafcd8a9
jbe 0x1400602c6
mov word [rsp + 0x68], 2
mov eax, 0xc8383f39
nop dword [rax + rax]
mov ecx, dword [0x141dc6870]
xor ecx, dword [0x141dc6874]
xor ecx, 0xbf24541
imul rcx, rax
shr rcx, 0x3e
or ecx, 0xce901ba8
mov word [rsp + 0x68], 2
cmp ecx, 0xf27428d2
ja 0x1400602d0
lea rax, [0x141db2f26]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 3
mov r10d, 1
jmp 0x1400609fe
mov eax, dword [0x141dc6878]
sub eax, dword [0x141dc687c]
or eax, 0x80598f71
imul rax, rax, 0x5dfbe213
shr rax, 0x3d
xor eax, 0x323a31d2
cmp eax, 0x22d403ae
jb 0x140060320
mov eax, dword [0x141dc6880]
add eax, dword [0x141dc6884]
imul eax, eax, 0x626bd1cf
add eax, 0x89bffc3d
or eax, 0x447654f1
cmp eax, 0x4bf916ed
jne 0x1400604e5
jmp 0x14006051c
mov eax, dword [0x141dc6838]
mov ecx, dword [0x141dc683c]
add eax, ecx
add eax, 0x34e715a2
or eax, 0xfefebbff
cmp eax, 0x289e0fab
jne 0x1400603a6
mov word [rsp + 0x68], 2
lea rax, [0x141db2f1f]
mov qword [rsp + 0x70], rax
lea rax, [0x141db2f1f]
nop dword [rax]
mov ecx, dword [0x141dc6840]
imul ecx, dword [0x141dc6844]
add ecx, 0x789786cf
or ecx, 0x6cdd5c16
imul rcx, rcx, 0x378f3f97
shr rcx, 0x3d
mov word [rsp + 0x68], 2
mov qword [rsp + 0x70], rax
cmp ecx, 0x32d9ea52
ja 0x1400603b0
mov eax, dword [0x141dc6848]
add eax, dword [0x141dc684c]
imul eax, eax, 0xd487e5f5
xor eax, 0xe5a848f4
imul eax, eax, 0x3edc9e9e
cmp eax, 0x1c25a22c
jae 0x140060415
mov qword [rsp + 0x78], 3
xor r15d, r15d
nop dword [rax + rax]
mov eax, dword [0x141dc6850]
imul eax, dword [0x141dc6854]
xor eax, 0x450184f0
imul eax, eax, 0x8c5d9419
or eax, 0x2aa088d2
mov qword [rsp + 0x78], 3
cmp eax, 0xa99b4bbe
je 0x140060420
mov r12d, 1
mov r10d, 1
jmp 0x1400609fe
mov word [rsp + 0x68], 2
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x140060470
mov eax, dword [0x141dc6858]
sub eax, dword [0x141dc685c]
add eax, 0x9a884334
xor eax, 0xd4660888
or eax, 0x23105706
cmp eax, 0xb321c629
ja 0x1400604c3
mov eax, dword [0x141dc6860]
or eax, dword [0x141dc6864]
or eax, 0x7de6b311
lea rcx, [0x141db2f22]
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], 3
cmp eax, 0xc58b1753
jne 0x1400604da
lea rax, [0x141db2f22]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 3
jmp 0x140060496
mov r10d, 1
jmp 0x1400609fe
mov edi, dword [0x141dc6888]
add edi, dword [0x141dc688c]
and edi, 0x8a450040
add edi, 0x7a202502
lea rcx, [rsp + 0x68]
lea rdx, [rsp + 0x20]
lea r8, [rsp + 0xff]
call fcn.14004eef0
cmp edi, 0xf45ac792
jbe 0x140060535
lea rcx, [rsp + 0x68]
lea rdx, [rsp + 0x20]
lea r8, [rsp + 0xff]
call fcn.14004eef0
jmp 0x1400604e5
mov rcx, qword [rsp + 0x68]
nop word [rax + rax]
mov eax, dword [0x141dc6890]
xor edx, edx
div dword [0x141dc6894]
xor eax, 0x836e43fe
imul eax, eax, 0x47e265c6
xor eax, 0x1abaf37e
cmp eax, 0x998920d2
jb 0x140060540
test rcx, rcx
je 0x140060580
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x50], rax
movups xmm0, xmmword [rsp + 0x68]
movaps xmmword [rsp + 0x40], xmm0
jmp 0x1400605fe
mov eax, dword [0x141dc6898]
imul eax, dword [0x141dc689c]
imul eax, eax, 0x1b5f6599
add eax, 0xaf685a46
and eax, 0x130f27c8
cmp eax, 0xcadb90c
jbe 0x1400605bb
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x20]
lea r8, [rsp + 0xff]
call fcn.140047150
lea rdi, [rsp + 0x40]
lea rbx, [rsp + 0x20]
lea r14, [rsp + 0xff]
nop dword [rax]
mov eax, dword [0x141dc68a0]
add eax, dword [0x141dc68a4]
imul ebp, eax, 0x64e4b385
add ebp, 0x98b778bf
mov rcx, rdi
mov rdx, rbx
mov r8, r14
call fcn.140047150
cmp ebp, 0x4fd5e5a0
jb 0x1400605d0
mov r8, qword [rsp + 0x40]
mov r9, qword [rsp + 0x48]
movzx ecx, word [rsp + 0x50]
nop dword [rax]
mov eax, dword [0x141dc68a8]
mov edx, dword [0x141dc68ac]
add eax, edx
add eax, 0x3b3d9cf3
or eax, 0x8df5f4cf
cmp eax, 0xe051092
jb 0x140060610
nop
mov eax, dword [0x141dc68b0]
sub eax, dword [0x141dc68b4]
and eax, 0x7cfc0e35
imul eax, eax, 0xd86d4249
imul rax, rax, 0x26976c71
shr rax, 0x3b
cmp eax, 0x62265db5
je 0x140060630
test r9, r9
je 0x1400606ed
movzx eax, byte [r8]
nop word cs:[rax + rax]
mov edx, dword [0x141dc68c0]
and edx, dword [0x141dc68c4]
and edx, 0x397d1653
cmp edx, 0xf2c0c538
je 0x140060670
nop word [rax + rax]
mov edx, dword [0x141dc68c8]
xor edx, dword [0x141dc68cc]
xor edx, 0xcc58e98f
imul edx, edx, 0x9793fb5e
add edx, 0x347a02dc
cmp edx, 0x4e60f1a1
jb 0x140060690
cmp al, 0x30
jbe 0x1400606f5
mov word [rsp + 0x68], 2
mov eax, dword [0x141dc68e0]
or eax, dword [0x141dc68e4]
add eax, 0xabbb2057
or eax, 0x4cfd3ca7
imul eax, eax, 0x1030f395
cmp eax, 0xced3f199
jbe 0x140060788
jmp 0x1400607b9
xor eax, eax
test al, al
je 0x140060722
jmp 0x140060748
mov eax, dword [0x141dc68d0]
add eax, dword [0x141dc68d4]
and eax, 0x5f1ddf7f
mov ecx, 0x858f2c1d
imul rcx, rax
shr rcx, 0x3d
imul eax, ecx, 0xba045cbf
cmp eax, 0x3ff1d5be
jne 0x14006074e
jmp 0x140060784
mov eax, dword [0x141dc68b8]
xor edx, edx
div dword [0x141dc68bc]
and eax, 0x3cd7c4de
add eax, 0x49760476
or eax, 0x9a499443
ud2
ud2
mov eax, dword [0x141dc68d8]
imul eax, dword [0x141dc68dc]
imul eax, eax, 0x4ede6b71
imul rcx, rax, 0x514a5b5
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
imul eax, eax, 0x84ea6429
ud2
ud2
mov eax, dword [0x141dc68e8]
xor eax, dword [0x141dc68ec]
imul eax, eax, 0x8bf035fd
add eax, 0x8131b0c1
xor eax, 0x653f0489
mov qword [rsp + 0x70], r8
mov qword [rsp + 0x78], 1
cmp eax, 0x3b5be99c
jae 0x1400607d0
mov qword [rsp + 0x70], r8
mov qword [rsp + 0x78], 1
jmp 0x140060788
mov eax, dword [0x141dc68f0]
or eax, dword [0x141dc68f4]
xor eax, 0x44450080
or eax, 0x319a984f
cmp eax, 0x31d2ef76
je 0x1400607d0
mov r10d, 1
cmp r9, 2
jb 0x1400608b8
mov word [rsp + 0x80], 2
mov eax, dword [0x141dc68f8]
xor edx, edx
div dword [0x141dc68fc]
or eax, 0xbe5bfe38
add eax, 0x9b0f728e
cmp eax, 0xab1706f8
jbe 0x140060863
lea rax, [0x141db64fb]
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], 1
lea rax, [r8 + 1]
lea rdx, [r9 - 1]
mov word [rsp + 0x98], 2
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rdx
inc r8
dec r9
lea rax, [0x141db64fb]
mov edx, dword [0x141dc6900]
and edx, dword [0x141dc6904]
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], 1
mov word [rsp + 0x98], 2
mov qword [rsp + 0xa0], r8
mov qword [rsp + 0xa8], r9
cmp edx, 0xcb9ba66e
je 0x140060870
mov r10d, 3
test cx, cx
jle 0x1400608f6
dec ecx
lea rax, [r10 + r10*2]
lea r8, [rsp + rax*8]
add r8, 0x68
mov word [rsp + rax*8 + 0x68], 2
mov eax, dword [0x141dc6908]
xor edx, edx
div dword [0x141dc690c]
add eax, 0xeef19132
xor eax, 0x4fd07d4c
cmp eax, 0x61c307ee
jae 0x14006094e
jmp 0x140060981
lea rax, [r10 + r10*2]
lea r8, [rsp + rax*8]
add r8, 0x68
mov word [rsp + rax*8 + 0x68], 2
nop dword [rax]
mov eax, dword [0x141dc6918]
xor eax, dword [0x141dc691c]
add eax, 0x9b224b78
cmp eax, 0x5afbe478
jb 0x140060910
mov eax, dword [0x141dc6920]
xor edx, edx
div dword [0x141dc6924]
or eax, 0x8060c
xor eax, 0x80100010
and eax, 0x8318069f
cmp eax, 0xf5490d4a
jbe 0x140060996
jmp 0x1400609c6
mov eax, dword [0x141dc6910]
xor edx, edx
div dword [0x141dc6914]
and eax, 0x7e14a93e
imul eax, eax, 0xbbc598a4
lea rdx, [0x141db2f1a]
mov qword [r8 + 8], rdx
mov qword [r8 + 0x10], 1
cmp eax, 0xfb9f786c
jne 0x1400609e4
lea rax, [0x141db2f1a]
mov qword [r8 + 8], rax
mov qword [r8 + 0x10], 1
jmp 0x14006094e
lea rax, [0x141db2f1b]
mov qword [r8 + 8], rax
mov eax, dword [0x141dc6928]
sub eax, dword [0x141dc692c]
add eax, 0xa0a30a00
and eax, 0x3c848248
mov qword [r8 + 0x10], 2
cmp eax, 0xf4ebaac6
jbe 0x1400609db
lea rax, [0x141db2f1b]
mov qword [r8 + 8], rax
mov qword [r8 + 0x10], 2
jmp 0x140060996
mov eax, 1
sub eax, ecx
mov ecx, eax
lea rax, [r10 + r10*2]
mov word [rsp + rax*8 + 0x80], 1
mov word [rsp + rax*8 + 0x82], cx
add r10, 2
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r15
lea rax, [rsp + 0x68]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], r10
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.140060a40
nop
add rsp, 0x110
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret