Function at 0x140047270
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rsi
push rdi
push r15
sub rsp, 0xd0
mov rsi, r8
mov r15, rdx
mov rdi, rcx
lea r8, str.vorbis_info_init
lea rdx, [0x1401a8e70]
mov rbx, r9
lea rcx, str.libvorbis.dll
call fcn.140028a70
test al, al
je 0x1400476b7
lea r8, str.ogg_stream_init
lea rdx, [0x1401a8e40]
lea rcx, str.ogg.dll
call fcn.140028a70
test al, al
je 0x1400476b7
mov qword [rsp + 0xf0], rbp
lea rbp, [rdi + 0x2e0]
mov qword [rsp + 0xf8], r13
mov rcx, rbp
xor r13d, r13d
mov qword [rdi], r15
mov eax, dword [rbx]
mov qword [rsp + 0x100], r14
movaps xmmword [rsp + 0xc0], xmm6
mov dword [rdi + 8], eax
cmp dword [rsp + 0x118], r13d
jne 0x140047389
movd xmm6, dword [rsp + 0x110]
cvtdq2ps xmm6, xmm6
mulss xmm6, dword [0x14013145c]
call qword [0x1401a8e70]
mov r8d, dword [rsi]
movaps xmm3, xmm6
mov edx, dword [rdi + 8]
mov rcx, rbp
call qword [0x1401a8f28]
test eax, eax
je 0x1400474e7
mov rcx, rbp
call qword [0x1401a8e78]
mov ecx, dword [rsi]
mov eax, 0x1f40
cmp ecx, eax
jae 0x14004735b
mov dword [rsi], eax
jmp 0x140047369
cmp ecx, 0xbb80
jbe 0x140047369
mov dword [rsi], 0xbb80
mov rcx, rbp
call qword [0x1401a8e70]
mov r8d, dword [rsi]
movaps xmm3, xmm6
mov edx, dword [rdi + 8]
mov rcx, rbp
call qword [0x1401a8f28]
jmp 0x1400474a1
mov r14d, dword [rsp + 0x110]
imul ebx, r14d, 0x3e8
call qword [0x1401a8e70]
cmp dword [rsp + 0x118], 1
mov r9d, ebx
mov r8d, dword [rsi]
mov eax, 0xffffffff
mov edx, dword [rdi + 8]
cmove r9d, eax
mov dword [rsp + 0x28], r9d
mov rcx, rbp
mov dword [rsp + 0x20], ebx
call qword [0x1401a8f20]
test eax, eax
je 0x1400474e7
mov rcx, rbp
call qword [0x1401a8e78]
mov edx, dword [rsi]
mov eax, 0x1f40
cmp edx, eax
jae 0x1400473ec
mov dword [rsi], eax
mov edx, eax
jmp 0x1400473ff
cmp edx, 0xbb80
jbe 0x1400473ff
mov dword [rsi], 0xbb80
mov edx, 0xbb80
mov r8d, r13d
lea r10, [0x14013e920]
mov rcx, r13
nop dword [rax]
movzx eax, ax
cmp edx, eax
jbe 0x14004742b
inc rcx
inc r8d
lea rax, [rcx + rcx*2]
movzx eax, word [r10 + rax*2]
test ax, ax
jne 0x140047410
mov r9d, dword [rdi + 8]
movsxd rax, r8d
lea rdx, [rax + rax*2]
cmp r9d, 1
jne 0x140047444
movzx ecx, byte [r10 + rdx*2 + 2]
jmp 0x14004744e
movzx ecx, byte [r10 + rdx*2 + 3]
imul ecx, r9d
cmp r14d, ecx
jl 0x140047466
movzx eax, byte [r10 + rdx*2 + 4]
mov ecx, r14d
imul eax, r9d
cmp r14d, eax
cmovg ecx, eax
imul ebx, ecx, 0x3e8
mov rcx, rbp
call qword [0x1401a8e70]
cmp dword [rsp + 0x118], 1
mov r9d, ebx
mov r8d, dword [rsi]
mov eax, 0xffffffff
mov edx, dword [rdi + 8]
cmove r9d, eax
mov dword [rsp + 0x28], r9d
mov rcx, rbp
mov dword [rsp + 0x20], ebx
call qword [0x1401a8f20]
test eax, eax
je 0x1400474e7
mov rcx, rbp
call qword [0x1401a8e78]
mov eax, 0x80040200
mov r14, qword [rsp + 0x100]
mov r13, qword [rsp + 0xf8]
mov rbp, qword [rsp + 0xf0]
movaps xmm6, xmmword [rsp + 0xc0]
mov rbx, qword [rsp + 0x108]
add rsp, 0xd0
pop r15
pop rdi
pop rsi
ret
lea rcx, [rdi + 0x308]
mov byte [rdi + 0xc], 1
call qword [0x1401a8e80]
mov rsi, qword [rsp + 0x120]
test rsi, rsi
je 0x14004755e
lea r8, [rsp + 0x30]
xor ecx, ecx
lea rdx, [rsp + 0x38]
mov ebx, r13d
call fcn.1400483a0
test al, al
je 0x14004755e
nop dword [rax]
mov rax, qword [rsi]
mov rcx, rsi
mov edx, dword [rsp + 0x30]
call qword [rax + 0x48]
test rax, rax
je 0x140047547
mov rdx, qword [rsp + 0x38]
lea rcx, [rdi + 0x308]
mov r8, rax
call qword [0x1401a8e88]
inc ebx
lea r8, [rsp + 0x30]
mov ecx, ebx
lea rdx, [rsp + 0x38]
call fcn.1400483a0
test al, al
jne 0x140047520
mov rdx, rbp
lea rcx, [rdi + 0x1d0]
call qword [0x1401a8ed8]
lea rdx, [rdi + 0x250]
lea rcx, [rdi + 0x1d0]
call qword [0x1401a8e98]
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov rcx, rax
call fcn.1400febb8
call fcn.1400feb8c
mov edx, eax
lea rcx, [rdi + 0x10]
call qword [0x1401a8e40]
lea rax, [rsp + 0x90]
lea r9, [rsp + 0x68]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x40]
lea rdx, [rdi + 0x308]
lea rcx, [rdi + 0x1d0]
call qword [0x1401a8ee0]
lea rdx, [rsp + 0x40]
lea rcx, [rdi + 0x10]
call qword [0x1401a8e58]
lea rdx, [rsp + 0x68]
lea rcx, [rdi + 0x10]
call qword [0x1401a8e58]
lea rdx, [rsp + 0x90]
lea rcx, [rdi + 0x10]
call qword [0x1401a8e58]
lea rdx, [rdi + 0x188]
lea rcx, [rdi + 0x10]
call qword [0x1401a8e60]
test eax, eax
je 0x1400476a6
mov ebx, dword [rdi + 0x190]
lea r9, [rsp + 0x30]
mov rdx, qword [rdi + 0x188]
mov r8d, ebx
mov rcx, qword [r15]
mov dword [rsp + 0x30], r13d
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x14004764c
cmp dword [rsp + 0x30], ebx
mov ebx, 1
je 0x14004764f
mov ebx, r13d
mov esi, dword [rdi + 0x1a0]
lea r9, [rsp + 0x30]
mov rdx, qword [rdi + 0x198]
mov r8d, esi
mov rcx, qword [r15]
mov dword [rsp + 0x30], r13d
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x140047686
mov eax, 1
cmp dword [rsp + 0x30], esi
je 0x140047689
mov eax, r13d
add eax, ebx
je 0x1400476ad
lea rdx, [rdi + 0x188]
lea rcx, [rdi + 0x10]
call qword [0x1401a8e60]
test eax, eax
jne 0x140047615
xor eax, eax
jmp 0x1400474b3
mov eax, 0x80040206
jmp 0x1400474b3
mov eax, 0x80040210
jmp 0x1400474d3