Function at 0x1400fa5b0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
mov rsi, rcx
mov eax, dword [0x1415bb1c8]
mov ecx, dword [0x1415bb1cc]
not eax
not ecx
mov edx, eax
or edx, ecx
and ecx, eax
not ecx
and ecx, edx
mov eax, ecx
not eax
and eax, 0x8c8df4d9
and ecx, 0x73720b26
sub ecx, eax
cmp ecx, 0xccc31a0d
movd ecx, xmm1
nop dword [rax + rax]
mov eax, dword [0x1415bb1d0]
xor edx, edx
div dword [0x1415bb1d4]
mov edx, eax
xor edx, 0x82241000
or eax, 0x80028
and eax, edx
and eax, 0x822c1028
cmp eax, 0x9db60da
ja 0x1400fa600
mov r10d, ecx
shr r10d, 0x17
lea edi, [rcx + rcx]
and edi, 0xfffffe
mov ebx, ecx
and ebx, 0x7fffff
or ebx, 0x800000
mov r11d, ecx
shr r11d, 0x16
and r11d, 0xd4
mov ebp, ecx
and ebp, 0x7fffffff
nop dword [rax]
mov eax, dword [0x1415bb1d8]
xor edx, edx
div dword [0x1415bb1dc]
or eax, 0xd06c14dd
and eax, 0xd2fe17fd
add eax, 0x3c119180
movzx edx, r10b
test edx, edx
mov r9d, ebx
cmove r9d, edi
cmp ebp, 0x7f800000
sete r14b
cmp eax, 0xbf3cdc3b
ja 0x1400fa660
test r14b, r14b
je 0x1400fa6a8
mov r11b, 3
jmp 0x1400fa895
mov r10d, edx
xor r10d, 0xffffff6a
add r10d, r11d
mov eax, r9d
and eax, 1
nop dword [rax + rax]
mov r11d, dword [0x1415bb1e0]
or r11d, dword [0x1415bb1e4]
mov edi, r11d
and edi, 0xfc00cd00
mov ebx, edi
not ebx
mov ebp, r11d
and ebp, 0x7c004100
and ebx, 0x802abec7
imul ebx, ebp
and r11d, 0x80008c00
or edi, 0x802abec7
imul edi, r11d
add edi, ebx
mov r11d, edi
xor r11d, 0xb6861b88
add r11d, edi
and edi, 0x4979e400
sub r11d, edi
cmp r11d, 0x6cc41907
jb 0x1400fa6c0
ucomiss xmm1, xmm1
jp 0x1400fa8ec
test ecx, 0x7fffffff
je 0x1400fa892
mov r11d, ecx
and r11d, 0x7f800000
xor edi, edi
test dil, dil
jne 0x1400fa740
nop word cs:[rax + rax]
mov edi, dword [0x1415bb1ec]
add edi, dword [0x1415bb1e8]
mov ebx, edi
and ebx, 0x121ae857
add ebx, ebx
sub edi, ebx
lea ebx, [rdi - 0x6de517a9]
mov ebp, ebx
and ebp, 0x53417f8b
xor ebx, 0xacbe8074
add edi, ebx
add edi, 0x921ae857
sub edi, ebp
or edi, 0x2475d3b4
cmp edi, 0xe87c0307
jb 0x1400fa750
test r11d, r11d
je 0x1400fa850
lea rbx, [r9 + r9]
nop word cs:[rax + rax]
mov r10d, dword [0x1415bb1f8]
mov r11d, dword [0x1415bb1fc]
mov edi, r10d
not edi
and edi, r11d
mov ebp, r11d
not ebp
and ebp, r10d
imul ebp, edi
mov edi, r10d
and edi, r11d
or r10d, r11d
imul r10d, edi
add r10d, ebp
mov r11d, r10d
and r11d, 0x7001272
xor r10d, 0x7001272
lea r10d, [r10 + r11*2]
add r10d, 0x371fe3ae
and r10d, 0x1e774202
cmp r10d, 0xf02005a2
ja 0x1400fa7b0
xor r14d, r14d
cmp r9, 0x800000
sete r14b
cmp r9d, 0x800000
mov r9d, 0x2000000
cmove rbx, r9
lea rdi, [r14 + 1]
test rax, rax
sete r11b
xor r14d, 0xffffff69
movzx r10d, dx
add r10d, r14d
mov r9, rbx
jmp 0x1400fa895
test rax, rax
sete r11b
mov edx, dword [0x1415bb1f0]
mov edi, dword [0x1415bb1f4]
mov ebx, edx
not ebx
or edx, edi
not edi
and edi, ebx
not edi
and edi, edx
and edi, 0x5b85e2c
imul edx, edi, 0x96a6df74
and edx, 0xb564bc80
cmp edx, 0xcf5bd446
ja 0x1400fa850
mov edi, 1
jmp 0x1400fa895
mov r11b, 4
mov eax, dword [0x1415bb200]
xor edx, edx
div dword [0x1415bb204]
mov edx, eax
not edx
mov ebx, eax
and ebx, 0x6ccff20d
and edx, 0x93300df2
imul edx, ebx
mov ebx, eax
and ebx, 0x93300df2
or eax, 0x93300df2
imul eax, ebx
add eax, edx
mov edx, eax
and edx, 0x42709a6c
xor eax, 0x42709a6c
lea eax, [rax + rdx*2]
xor eax, 0x73a5c339
cmp eax, 0xa539ee9e
jb 0x1400fa986
jmp 0x1400fa8f1
mov r11b, 2
jmp 0x1400fa895
mov eax, dword [0x1415bb208]
mov edx, dword [0x1415bb20c]
mov ebx, eax
not ebx
mov ebp, edx
not ebp
mov r14d, ebx
and r14d, 0x90a210a1
and eax, 0x2318a706
or eax, r14d
or ebx, ebp
and ebp, 0x90a210a1
and edx, 0x2318a706
or edx, ebp
xor edx, eax
not ebx
or ebx, edx
and ebx, 0xb3bab7a7
imul edx, ebx, 0x41f1623b
and edx, 0xb62b31b7
lea eax, [r11 - 2]
movzx ebx, al
cmp bl, 3
mov eax, 3
cmovb eax, ebx
mov qword [rsp + 0x80], r9
mov qword [rsp + 0x88], 1
mov qword [rsp + 0x90], rdi
mov word [rsp + 0x98], r10w
mov byte [rsp + 0x9a], r11b
cmp edx, 0xc1e79c1c
jne 0x1400fa9b8
mov qword [rsp + 0x80], r9
mov qword [rsp + 0x88], 1
mov qword [rsp + 0x90], rdi
mov word [rsp + 0x98], r10w
mov byte [rsp + 0x9a], r11b
jmp 0x1400fa8f1
test al, al
je 0x1400fab23
movzx eax, al
nop word cs:[rax + rax]
mov edx, dword [0x1415bb210]
add edx, dword [0x1415bb214]
mov r9d, edx
and r9d, 0x377dd962
xor edx, 0xb77dd962
lea edx, [rdx + r9*2]
cmp edx, 0xbb0d3383
je 0x1400fa9d0
mov ebx, ecx
shr ebx, 0x1f
test ecx, ecx
lea rcx, [0x14159b5ad]
mov edx, 1
cmovs rdx, rcx
lea r14, [0x14159b5ae]
cmovs r14, rcx
test r8b, r8b
cmove r14, rdx
mov ecx, 1
cmovne rbx, rcx
cmp rax, 2
jge 0x1400fabb7
cmp eax, 1
jne 0x1400fab80
mov word [rsp + 0x20], 2
lea rax, [0x14159b5b2]
mov qword [rsp + 0x28], rax
mov eax, dword [0x1415bb238]
and eax, dword [0x1415bb23c]
imul rcx, rax, 0xebd1f7f
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x19
add eax, 0xfa9074d
cmp eax, 0xf7ba33a2
jbe 0x1400faa85
mov qword [rsp + 0x30], 3
xor eax, eax
nop word [rax + rax]
mov qword [rsp + 0x30], 3
test al, al
jne 0x1400faa90
nop dword [rax]
mov ecx, dword [0x1415bb240]
mov eax, dword [0x1415bb244]
mov edx, ecx
xor edx, eax
not eax
and eax, ecx
add eax, eax
sub eax, edx
mov ecx, eax
not ecx
and ecx, 0x73f62f26
and eax, 0x8c09d0d9
sub eax, ecx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x8926a71
and ecx, 0xf76d958e
imul ecx, edx
mov edx, eax
and edx, 0xf76d958e
or eax, 0xf76d958e
imul eax, edx
add eax, ecx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xbb45d89a
and ecx, 0x44ba2764
imul ecx, edx
mov edx, eax
and edx, 0x44ba2764
or eax, 0x44ba2764
imul eax, edx
add eax, ecx
cmp eax, 0x1d16088e
jae 0x1400faaa0
jmp 0x1400fb200
mov eax, dword [str.Psg]
add eax, dword [0x1415bb21c]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xc343aa13
and ecx, 0x3cbc55ec
imul ecx, edx
mov edx, eax
and edx, 0x3cbc55ec
or eax, 0x3cbc55ec
imul eax, edx
add eax, ecx
or eax, 0x73b7f043
imul rax, rax, 0xa92b103
shr rax, 0x38
cmp eax, 0x22c6b9fb
ja 0x1400fb195
jmp 0x1400fb15f
mov eax, dword [0x1415bb230]
mov ecx, dword [0x1415bb234]
not ecx
not eax
mov edx, eax
or edx, ecx
and eax, ecx
not eax
and eax, edx
or eax, 0x7365d738
mov ecx, eax
and ecx, 0x607081ab
add ecx, ecx
sub eax, ecx
cmp eax, 0xde668e34
je 0x1400fab80
jmp 0x1400fb0a4
jg 0x1400fac19
mov word [rsp + 0x20], 2
lea rax, [0x14159b5a8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 2
mov word [rsp + 0x38], 0
mov qword [rsp + 0x40], 1
nop word cs:[rax + rax]
mov eax, dword [0x1415bb2e8]
imul eax, dword [0x1415bb2ec]
add eax, 0x688a349
or eax, 0xe1081ef4
cmp eax, 0xfcf3a561
je 0x1400fabf0
mov r15d, 2
jmp 0x1400fb206
lea rcx, [rsp + 0xd8]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0xf7]
call fcn.14021b180
mov rax, qword [rsp + 0xd8]
nop
mov edx, dword [0x1415bb248]
sub edx, dword [0x1415bb24c]
mov ecx, edx
and ecx, 0x44f8c053
mov r8d, ecx
not r8d
and r8d, 0x19d6660d
mov r9d, edx
and r9d, 0x44288052
imul r9d, r8d
and edx, 0xd04001
or ecx, 0x19d6660d
imul ecx, edx
add ecx, r9d
mov edx, ecx
not edx
mov r8d, ecx
and r8d, 0x74031e23
and edx, 0x8bfce1dc
imul edx, r8d
mov r8d, ecx
and r8d, 0x8bfce1dc
or ecx, 0x8bfce1dc
imul ecx, r8d
add ecx, edx
cmp ecx, 0x3d4efb9a
ja 0x1400fac40
test rax, rax
je 0x1400fad1a
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0xd0], rax
movups xmm0, xmmword [rsp + 0xd8]
movaps xmmword [rsp + 0xc0], xmm0
mov eax, 0xab4cff87
nop word cs:[rax + rax]
mov ecx, dword [0x1415bb258]
sub ecx, dword [0x1415bb25c]
and ecx, 0xd542801a
add ecx, 0x640c795d
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0x59cbe848
je 0x1400facf0
jmp 0x1400fad64
lea rcx, [rsp + 0xc0]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0xf7]
call fcn.1400aa110
nop word [rax + rax]
mov eax, dword [0x1415bb250]
xor edx, edx
div dword [0x1415bb254]
and eax, 0x1b1bcb06
add eax, 0xae469e3a
or eax, 0x492bac4a
cmp eax, 0x5e97e368
jb 0x1400fad40
mov r9, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0xc8]
movzx r8d, word [rsp + 0xd0]
movsx r10, r8w
nop word cs:[rax + rax]
mov eax, dword [str.wgM]
or eax, dword [0x1415bb264]
add eax, 0xff4ee0e9
mov edx, eax
not edx
mov r11d, eax
and r11d, 0xf8fdc7e
and edx, 0x702381
imul edx, r11d
mov r11d, eax
and r11d, 0x702381
or eax, 0x702381
imul eax, r11d
add eax, edx
or eax, 0xf788bff9
cmp eax, 0xa352eb38
je 0x1400fad90
nop word [rax + rax]
mov eax, dword [0x1415bb268]
mov edx, dword [0x1415bb26c]
mov r11d, eax
not r11d
or eax, edx
not edx
and edx, r11d
not eax
or eax, edx
not eax
and eax, 0x3892c3ea
add eax, 0x1ac8074f
and eax, 0x38180b1b
cmp eax, 0xb2ab6ae5
ja 0x1400fade0
test rcx, rcx
je 0x1400fb05c
mov eax, dword [0x1415bb278]
xor edx, edx
div dword [0x1415bb27c]
nop dword [rax]
mov eax, dword [0x1415bb280]
mov edx, dword [0x1415bb284]
not eax
not edx
or edx, eax
not edx
imul eax, edx, 0x5a8b9cc7
mov edx, eax
and edx, 0x79bb3193
add edx, edx
neg edx
add eax, edx
add eax, 0xf9bb3193
or eax, 0x43c62b2d
cmp eax, 0xf53c3035
ja 0x1400fae30
cmp byte [r9], 0x30
jbe 0x1400fb0a4
nop word cs:[rax + rax]
mov eax, dword [0x1415bb288]
add eax, dword [0x1415bb28c]
not eax
or eax, 0x53000000
xor eax, 0x21c0
and eax, 0x5700a1c1
cmp eax, 0x1d8613f2
jb 0x1400fae80
nop word cs:[rax + rax]
mov eax, dword [0x1415bb290]
or eax, dword [0x1415bb294]
and eax, 0xac9eb360
lea edx, [rax - 0x217a7df]
not edx
or edx, 0x2d1f3f24
add eax, edx
add eax, 0xfde85822
cmp eax, 0xa82ccc07
ja 0x1400faeb0
test r8w, r8w
jle 0x1400fafef
nop word [rax + rax]
mov eax, dword [0x1415bb298]
mov edx, dword [0x1415bb29c]
mov r10d, eax
and r10d, edx
or eax, edx
add eax, r10d
mov edx, eax
not edx
and edx, 0x4a2a5ed7
mov r10d, eax
and r10d, 0x35d5a128
imul r10d, edx
mov edx, eax
and edx, 0x4a2a5ed7
or eax, 0x4a2a5ed7
imul eax, edx
add eax, r10d
or eax, 0xacd4db83
add eax, 0xdd5c75bc
cmp eax, 0x9dadb95d
jb 0x1400faef0
mov eax, dword [0x1415bb2a0]
and eax, dword [0x1415bb2a4]
mov edx, eax
not edx
or edx, 0x1e72227a
add eax, edx
add eax, 0x536127cf
or eax, 0xe38e9f5f
cmp eax, 0xfcadcd70
jbe 0x1400faf80
mov word [rsp + 0x20], 2
mov qword [rsp + 0x28], r9
nop dword [rax + rax]
mov eax, dword [0x1415bb2a8]
xor eax, dword [0x1415bb2ac]
add eax, 0xd1ee1b34
mov edx, eax
and edx, 0x15bf797a
add edx, edx
sub eax, edx
add eax, 0x15bf797a
or eax, 0xbfc1a13a
mov word [rsp + 0x20], 2
mov qword [rsp + 0x28], r9
cmp eax, 0xd504c837
ja 0x1400faf80
cmp rcx, r8
jbe 0x1400fb036
mov eax, dword [0x1415bb2b0]
sub eax, dword [0x1415bb2b4]
mov edx, 0xad11d4bd
imul rdx, rax
shr rdx, 0x3f
or edx, 0xc7619c0
cmp edx, 0x15875ea8
ja 0x1400fb108
jmp 0x1400fb0a6
neg r10
mov word [rsp + 0x20], 2
lea rax, [0x14159b5a8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 2
mov word [rsp + 0x38], 0
mov qword [rsp + 0x40], r10
mov word [rsp + 0x50], 2
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x60], rcx
mov r15d, 3
jmp 0x1400fb206
mov eax, dword [str.Fnx]
sub eax, dword [0x1415bb2c4]
add eax, 0x2c4de834
xor eax, 0x2d4c2f32
cmp eax, 0xc0684673
je 0x1400fb363
jmp 0x1400fb2ee
ud2
ud2
mov eax, dword [0x1415bb2b8]
mov edx, dword [0x1415bb2bc]
not edx
mov r10d, eax
or r10d, edx
and edx, eax
not r10d
or r10d, edx
imul eax, r10d, 0xe2e7b74d
add eax, 0xcad8019d
imul rax, rax, 0x76e4a57b
shr rax, 0x3e
mov qword [rsp + 0x30], r8
mov word [rsp + 0x38], 2
lea rdx, [0x14159eb13]
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], 1
mov word [rsp + 0x50], 2
cmp eax, 0x15e97b7f
jne 0x1400fb135
mov qword [rsp + 0x30], r8
mov word [rsp + 0x38], 2
lea rax, [0x14159eb13]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 1
mov word [rsp + 0x50], 2
jmp 0x1400fb0a6
mov rax, rcx
xor rax, r8
add r9, r8
not r8
and r8, rcx
add r8, r8
sub r8, rax
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x60], r8
mov r15d, 3
jmp 0x1400fb206
mov eax, dword [0x1415bb220]
add eax, dword [0x1415bb224]
mov ecx, eax
and ecx, 0x1290e54d
add ecx, ecx
sub eax, ecx
imul eax, eax, 0x12c45a37
add eax, 0xe6b2558b
or eax, 0xa2fdc2e6
mov word [rsp + 0x20], 2
cmp eax, 0xed8eb22e
jne 0x1400fb19e
mov word [rsp + 0x20], 2
jmp 0x1400fb15f
lea rax, [0x14159b5af]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 3
xor ebx, ebx
nop word cs:[rax + rax]
mov eax, dword [0x1415bb228]
or eax, dword [0x1415bb22c]
mov ecx, eax
and ecx, 0xd3e972b
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0xd3e972b
mov ecx, eax
xor ecx, 0xa298eba5
or eax, 0x5d67145a
and eax, ecx
add eax, 0xf773baf9
cmp eax, 0xc2cd8739
ja 0x1400fb1c0
mov r14d, 1
mov r15d, 1
mov eax, dword [0x1415bb2f0]
xor edx, edx
div dword [0x1415bb2f4]
imul eax, eax, 0x972d607d
imul rax, rax, 0x72eabe1d
shr rax, 0x3e
or eax, 0x38e13832
cmp eax, 0xfb1349f7
jbe 0x1400fb266
mov qword [rsp + 0xa0], r14
mov qword [rsp + 0xa8], rbx
lea rax, [rsp + 0x20]
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], r15
lea rdx, [rsp + 0xa0]
mov rcx, rsi
call fcn.1400fc8e0
lea r12, [rsp + 0x20]
lea rdi, [rsp + 0xa0]
nop word cs:[rax + rax]
mov eax, dword [0x1415bb2f8]
mov ecx, dword [0x1415bb2fc]
mov edx, ecx
and edx, eax
add eax, ecx
sub eax, edx
imul r13, rax, 0x186bdee9
shr r13, 0x39
or r13d, 0xd53d6910
mov qword [rsp + 0xa0], r14
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xb0], r12
mov qword [rsp + 0xb8], r15
mov rcx, rsi
mov rdx, rdi
call fcn.1400fc8e0
cmp r13d, 0x8bb67354
je 0x1400fb280
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x1415bb2c8]
and eax, dword [0x1415bb2cc]
and eax, 0xf2a740ac
mov edx, eax
xor edx, 0x24218142
or eax, 0x10004080
and eax, edx
or eax, 0xc38e3a3d
mov rdx, r8
not rdx
and rdx, rcx
mov r9d, ecx
not r9d
and r9d, r8d
sub r9, rdx
mov qword [rsp + 0x30], rcx
mov word [rsp + 0x38], 0
mov qword [rsp + 0x40], r9
mov word [rsp + 0x50], 2
lea rdx, [0x14159eb13]
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], 1
mov word [rsp + 0x68], 0
cmp eax, 0xef3be8bd
jbe 0x1400fb3af
mov qword [rsp + 0x30], rcx
mov rax, r8
xor rax, rcx
mov edx, ecx
not edx
and edx, r8d
add rdx, rdx
sub rdx, rax
mov word [rsp + 0x38], 0
mov qword [rsp + 0x40], rdx
mov word [rsp + 0x50], 2
lea rax, [0x14159eb13]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 1
mov word [rsp + 0x68], 0
jmp 0x1400fb2ee
mov eax, dword [0x1415bb2d0]
or eax, dword [0x1415bb2d4]
imul eax, eax, 0x658ea871
mov ecx, eax
and ecx, 0x302c468c
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0xb02c468c
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x4cf4a36a
and ecx, 0xb30b5c95
imul ecx, edx
mov edx, eax
and edx, 0xb30b5c95
or eax, 0xb30b5c95
imul eax, edx
add eax, ecx
cmp eax, 0xa2fc5a3a
jbe 0x1400fb410
mov qword [rsp + 0x70], 1
nop dword [rax + rax]
mov eax, dword [0x1415bb2d8]
mov ecx, dword [0x1415bb2dc]
mov edx, eax
and edx, ecx
or eax, ecx
add eax, edx
add eax, 0x5b57b49e
or eax, 0xdf3ebabb
mov qword [rsp + 0x70], 1
cmp eax, 0x4f0735b8
jb 0x1400fb410
nop
mov eax, dword [0x1415bb2e0]
mov ecx, dword [0x1415bb2e4]
add eax, ecx
add eax, 0xec157a7d
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x19e08cae
and ecx, 0xe61f7351
imul ecx, edx
mov edx, eax
and edx, 0xe61f7351
or eax, 0xe61f7351
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0x605e8b96
add ecx, ecx
sub eax, ecx
add eax, 0xe05e8b96
cmp eax, 0x5a98de44
jae 0x1400fb440
mov r15d, 4
jmp 0x1400fb206