Function at 0x180097740
Capabilities:
Encode data using xor
Read file on windows
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xf80]
mov eax, 0x1080
call fcn.1800bfbd0
sub rsp, rax
mov rax, qword [0x180106b38]
xor rax, rsp
mov qword [rbp + 0xf70], rax
mov r15, qword [rbp + 0xfe0]
mov eax, ecx
mov dword [rsp + 0x40], ecx
mov esi, ecx
imul ecx, ecx, 0xc5a
mov r12, r8
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x50], rdx
mov dword [rsp + 0x30], ecx
cmp eax, ecx
ja 0x180097ae6
mov edi, dword [rsp + 0x40]
mov r14d, dword [rsp + 0x40]
mov r13, qword [rsp + 0x50]
cmp esi, 0x67ba
ja 0x1800979a8
je 0x180097991
cmp esi, 0x2ec
ja 0x18009792e
je 0x180097921
mov eax, esi
sub eax, 4
je 0x18009789e
sub eax, 0x32
je 0x180097894
sub eax, 0x57
je 0x180097848
cmp eax, 1
jne 0x180097dbc
mov rax, qword [r12]
lea rdx, [rsp + 0x58]
mov qword [rsp + 0x28], 0
lea rcx, [rsp + 0x60]
mov r9d, PathYetAnotherMakeUniqueName
mov qword [r15 + 0x10], rax
xor r8d, r8d
mov qword [rsp + 0x58], rax
mov qword [r15 + 8], 0
mov qword [rsp + 0x60], ILClone
mov qword [rsp + 0x20], 0
call fcn.18004c450
mov qword [r15], rax
jmp 0x180097db8
cmp dword [r15], 3
je 0x180097dbc
mov ebx, 0x6e
nop word [rax + rax]
mov eax, ebx
sub eax, 0x6d
je 0x180097ae6
cmp eax, 1
jne 0x180097888
mov rdx, qword [r12]
lea rcx, str._Ui_lUiPlUi_lUiplUipmUi_
call fcn.1800bf220
mov dword [rsp + 0x38], 1
dec ebx
cmp ebx, 0x6c
ja 0x180097860
jmp 0x180097db8
mov byte [rsp + 0x38], 1
jmp 0x180097dbc
mov rax, qword [r9]
cmp byte [rax + rdx], 0x21
jne 0x1800978bd
inc rax
mov qword [r9], rax
mov dword [r15 + 0x88], 0x2a
jmp 0x180097dbc
mov ebx, 0x82
mov eax, ebx
sub eax, 0x7f
je 0x18009790a
sub eax, 1
je 0x1800978ed
sub eax, 1
je 0x1800978e3
cmp eax, 1
jne 0x180097915
mov qword [r12 + 0x10], 1
jmp 0x180097915
mov dword [r12], 0x14
jmp 0x180097915
inc qword [r15 + 0xd0]
mov rax, qword [r15 + 0xc0]
test rax, rax
je 0x180097915
mov rdx, r12
mov rcx, r15
call rax
jmp 0x180097915
mov dword [r15 + 0x88], 0
dec ebx
cmp ebx, 0x7e
ja 0x1800978c2
jmp 0x180097db8
mov rax, qword [r9]
mov qword [rsp + 0x38], rax
jmp 0x180097dbc
cmp esi, 0x5d4
je 0x180097ae6
cmp esi, 0x2772
je 0x180097ae6
cmp esi, 0x66ff
jne 0x180097dbc
mov rcx, qword [r12 + 8]
lea rdx, [0x1800ecba0]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
mov r13, rax
test rax, rax
je 0x180097de0
mov r9, rax
lea rcx, [rsp + 0x70]
mov edx, 1
mov r8d, 0x1000
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov rdi, rax
jmp 0x180097db8
cmp qword [r15], 0
je 0x180097df6
mov dword [rsp + 0x38], 0
jmp 0x180097dbc
cmp esi, 0x200c7
ja 0x180097c22
je 0x180097b15
cmp esi, 0xcd71
je 0x180097a7b
cmp esi, 0xcee6
je 0x180097ae6
cmp esi, 0x133e3
je 0x180097a02
cmp esi, 0x19a55
jne 0x180097dbc
mov rcx, qword [r12 + 0x10]
lea rdx, [0x1800ed6f8]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
mov qword [rsp + 0x48], rax
jmp 0x180097db8
cmp edi, 0x258
jle 0x180097a3e
movzx eax, byte [rbp - 0x80]
xor eax, r14d
cmp eax, 0x44
jne 0x180097a3e
movzx eax, byte [rbp - 0x7b]
xor eax, r14d
cmp eax, 0x47
jne 0x180097a3e
movzx eax, byte [rbp - 0x4f]
xor eax, r14d
cmp eax, 0x47
jne 0x180097a3e
movzx eax, byte [rbp - 0x4a]
xor eax, r14d
cmp eax, 0x4e
je 0x180097dbc
mov ebx, 0xa6
mov eax, ebx
sub eax, 0xa6
je 0x180097a57
cmp eax, 0x78
je 0x180097ae6
jmp 0x180097a6b
lea rcx, str.Invalid_sample_rate:__u
call fcn.1800bf220
mov dword [rsp + 0x38], 1
add ebx, 0x78
cmp ebx, 0x196
jb 0x180097a43
jmp 0x180097db8
test edi, edi
jne 0x180097ac3
mov ebx, 0x6f
cmp ebx, 0x6f
je 0x180097aa5
cmp ebx, 0x23fd
je 0x180097a9b
cmp ebx, 0x478b
je 0x180097ae6
jmp 0x180097ab1
mov dword [rsp + 0x38], 1
jmp 0x180097ab1
lea rcx, str.dasHostInfo
call fcn.1800bf220
add ebx, 0x238e
cmp ebx, 0x6aaa
jbe 0x180097a84
mov ecx, dword [rsp + 0x30]
movzx r14d, byte [rsp + 0x70]
test r14d, r14d
jne 0x180097dbc
lea rcx, str.icudt52l_mn_MN.res
call fcn.1800bf220
mov dword [rsp + 0x38], 1
mov rax, qword [rsp + 0x38]
mov rcx, qword [rbp + 0xf70]
xor rcx, rsp
call fcn.1800bfc40
mov rbx, qword [rsp + 0x10c0]
add rsp, 0x1080
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
cmp qword [rsp + 0x48], 0
jne 0x180097b65
mov ebx, 0xf5
cmp ebx, 0xf5
je 0x180097b46
cmp ebx, 0xc71
je 0x180097b3c
cmp ebx, 0x17ed
je 0x180097ae6
jmp 0x180097b57
mov dword [rsp + 0x38], 1
jmp 0x180097b57
mov rdx, qword [r12 + 0x10]
lea rcx, str.XpJwlPMxQwKnjtw7gDiB6A
call fcn.1800bf220
add ebx, 0xb7c
cmp ebx, 0x2274
jbe 0x180097b22
xor ecx, ecx
test edi, edi
jle 0x180097bfd
cmp edi, 0x40
jb 0x180097bfd
movsx eax, r14b
mov edx, edi
movd xmm2, eax
punpcklbw xmm2, xmm2
punpcklwd xmm2, xmm2
pshufd xmm2, xmm2, 0
and edx, 0x8000003f
jge 0x180097b9e
dec edx
or edx, 0xffffffc0
inc edx
mov eax, edi
sub eax, edx
movsxd rdx, eax
nop word [rax + rax]
movdqu xmm0, xmmword [rsp + rcx + 0x70]
movdqa xmm1, xmm2
pxor xmm0, xmm2
movdqu xmmword [rsp + rcx + 0x70], xmm0
movdqu xmm0, xmmword [rbp + rcx - 0x80]
pxor xmm0, xmm2
movdqu xmmword [rbp + rcx - 0x80], xmm0
movdqu xmm0, xmmword [rbp + rcx - 0x70]
pxor xmm1, xmm0
movdqu xmmword [rbp + rcx - 0x70], xmm1
movdqu xmm0, xmmword [rbp + rcx - 0x60]
pxor xmm0, xmm2
movdqu xmmword [rbp + rcx - 0x60], xmm0
add rcx, 0x40
cmp rcx, rdx
jl 0x180097bb0
movsxd rax, edi
cmp rcx, rax
jge 0x180097db8
nop dword [rax]
xor byte [rsp + rcx + 0x70], r14b
inc rcx
cmp rcx, rax
jl 0x180097c10
jmp 0x180097db8
cmp esi, 0x26739
je 0x180097c64
cmp esi, 0x2cdab
je 0x180097c43
cmp esi, 0x3341d
je 0x180097ae6
jmp 0x180097dbc
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov dword [rsp + 0x38], 0
jmp 0x180097db8
mov r9, qword [rsp + 0x48]
lea rcx, [rsp + 0x70]
movsxd rbx, edi
mov edx, 1
mov r8, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_feof]
test eax, eax
jne 0x180097db3
mov esi, PathYetAnotherMakeUniqueName
mov eax, esi
sub eax, 0x49
je 0x180097d7f
cmp eax, 1
jne 0x180097d97
mov r9, r13
lea rcx, [rsp + 0x70]
mov edx, eax
mov r8d, 0x1000
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
movsxd rdi, eax
test eax, eax
je 0x180097db3
xor eax, eax
test edi, edi
jle 0x180097d5d
cmp edi, 0x40
jb 0x180097d5d
movsx ecx, r14b
mov edx, edi
movd xmm2, ecx
punpcklbw xmm2, xmm2
punpcklwd xmm2, xmm2
pshufd xmm2, xmm2, 0
and edx, 0x8000003f
jge 0x180097d03
dec edx
or edx, 0xffffffc0
inc edx
mov ecx, edi
sub ecx, edx
movsxd rdx, ecx
nop word [rax + rax]
movdqu xmm0, xmmword [rsp + rax + 0x70]
movdqa xmm1, xmm2
pxor xmm0, xmm2
movdqu xmmword [rsp + rax + 0x70], xmm0
movdqu xmm0, xmmword [rbp + rax - 0x80]
pxor xmm0, xmm2
movdqu xmmword [rbp + rax - 0x80], xmm0
movdqu xmm0, xmmword [rbp + rax - 0x70]
pxor xmm1, xmm0
movdqu xmmword [rbp + rax - 0x70], xmm1
movdqu xmm0, xmmword [rbp + rax - 0x60]
pxor xmm0, xmm2
movdqu xmmword [rbp + rax - 0x60], xmm0
add rax, 0x40
cmp rax, rdx
jl 0x180097d10
mov rbx, rdi
cmp rax, rdi
jge 0x180097d97
nop word [rax + rax]
xor byte [rsp + rax + 0x70], r14b
inc rax
cmp rax, rbx
jl 0x180097d70
jmp 0x180097d97
mov r9, qword [rsp + 0x48]
lea rcx, [rsp + 0x70]
mov r8, rbx
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
dec esi
cmp esi, 0x48
ja 0x180097c95
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_feof]
test eax, eax
je 0x180097c90
mov esi, 0x26739
mov ecx, dword [rsp + 0x30]
imul eax, dword [rsp + 0x40], 0xba
add esi, eax
cmp esi, ecx
ja 0x180097ae6
mov r9, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x50]
jmp 0x1800977b2
mov rdx, qword [r12 + 8]
lea rcx, str.Camera.Unmuted
call fcn.1800bf220
jmp 0x180097ade
mov dword [rsp + 0x38], 0x10001
jmp 0x180097ae6