Function at 0x408c80
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
call fcn.00454540
mov ebx, dword [ebp + 0xc]
mov esi, eax
push str.spotraop
push ebx
call fcn.00454820
add esp, 8
mov dword [ebp - 0xc], eax
cmp byte [ebp + 0x10], 0
jne 0x408d3f
test ebx, ebx
je 0x408d3f
lea ecx, [ebp - 4]
push ecx
push 1
push eax
push esi
call fcn.00454900
push dword [ebp - 4]
push esi
call fcn.00453650
push str.device
push dword [ebp - 4]
call fcn.004548c0
mov ebx, eax
xor edi, edi
push ebx
call fcn.00454ae0
add esp, 0x24
test eax, eax
jle 0x408d1d
nop word [eax + eax]
push edi
push ebx
call fcn.00454a90
lea ecx, [ebp + 0x10]
mov dword [ebp + 0x10], eax
push ecx
push eax
push dword [ebp - 4]
call fcn.004541b0
push dword [ebp + 0x10]
call fcn.00453d70
push ebx
inc edi
call fcn.00454ae0
add esp, 0x1c
cmp edi, eax
jl 0x408cf0
test ebx, ebx
je 0x408d2a
push ebx
call fcn.00454a50
add esp, 4
push str.common
push dword [ebp - 4]
call fcn.00454820
mov ebx, dword [ebp + 0xc]
add esp, 8
jmp 0x408d62
push 0
push str.spotraop
push 0
push esi
call fcn.00454fb0
push 0
push str.common
push eax
push esi
mov dword [ebp - 4], eax
call fcn.00454fb0
add esp, 0x20
push dword [0x51c19c]
mov edi, eax
call fcn.00404780
push eax
push str.main_log
push 0
push dword [ebp - 4]
push esi
call fcn.004550e0
push dword [0x51c9cc]
call fcn.00404780
push eax
push str.raop_log
push 0
push dword [ebp - 4]
push esi
call fcn.004550e0
push dword [0x51c9c8]
call fcn.00404780
push eax
push str.util_log
push 0
push dword [ebp - 4]
push esi
call fcn.004550e0
add esp, 0x48
push dword [0x51c198]
push 0x4dd17c
push str.log_limit
push 0
push dword [ebp - 4]
push esi
call fcn.004550e0
push 0x51c118
push str.interface
push 0
push dword [ebp - 4]
push esi
call fcn.004550e0
movzx eax, word [0x5240a0]
push eax
movzx eax, word [0x5240a2]
push eax
push str._hu:_hu
push str.ports
push 0
push dword [ebp - 4]
push esi
call fcn.004550e0
add esp, 0x48
push 0x523fa0
push str.credentials_path
push 0
push dword [ebp - 4]
push esi
call fcn.004550e0
movzx eax, byte [0x523f84]
push eax
push 0x4dd17c
push str.credentials
push 0
push dword [ebp - 4]
push esi
call fcn.004550e0
movzx eax, byte [0x51c1a0]
push eax
push 0x4dd17c
push str.enabled
push 0
push edi
push esi
call fcn.004550e0
add esp, 0x44
push dword [0x51c8c0]
push 0x4dd17c
push str.volume_feedback
push 0
push edi
push esi
call fcn.004550e0
push dword [0x51c8bc]
push 0x4dd17c
push str.volume_mode
push 0
push edi
push esi
call fcn.004550e0
movzx eax, byte [0x51c6a7]
push eax
push 0x4dd17c
push str.send_metadata
push 0
push edi
push esi
call fcn.004550e0
movzx eax, byte [0x51c6a8]
add esp, 0x48
push eax
push 0x4dd17c
push str.send_coverart
push 0
push edi
push esi
call fcn.004550e0
push dword [0x51c6b0]
push 0x4dd17c
push str.remove_timeout
push 0
push edi
push esi
call fcn.004550e0
movzx eax, byte [0x51c8c4]
push eax
push 0x4dd17c
push str.alac_encode
push 0
push edi
push esi
call fcn.004550e0
movzx eax, byte [0x51c6b4]
add esp, 0x48
push eax
push 0x4dd17c
push str.encryption
push 0
push edi
push esi
call fcn.004550e0
push dword [0x51c8b8]
push 0x4dd17c
push str.read_ahead
push 0
push edi
push esi
call fcn.004550e0
add esp, 0x30
mov dword [ebp - 8], 0x20
mov edi, 0x5246dd
nop dword [eax + eax]
cmp byte [edi - 0x61d], 0
je 0x40907c
test ebx, ebx
lea ebx, [edi + 0x513]
je 0x408fdc
push ebx
push dword [ebp + 0xc]
call fcn.004083a0
add esp, 8
mov dword [ebp + 0x10], eax
test eax, eax
je 0x408fdc
lea ecx, [ebp + 0x10]
push ecx
push 1
push eax
push esi
call fcn.00454900
push dword [ebp + 0x10]
push dword [ebp - 4]
call fcn.00453650
add esp, 0x18
cmp byte [edi], 0
je 0x408fb0
push edi
push str.password
push 1
push dword [ebp + 0x10]
push esi
call fcn.004550e0
add esp, 0x14
jmp 0x408fc0
push str.password
push dword [ebp + 0x10]
call fcn.00455040
add esp, 8
lea eax, [edi - 0x614]
push eax
push str.credentials
push 1
push dword [ebp + 0x10]
push esi
call fcn.004550e0
jmp 0x409079
push 0
push str.device
push dword [ebp - 4]
push esi
call fcn.00454fb0
push ebx
push 0x4dd2e4
push eax
push esi
mov dword [ebp + 0x10], eax
call fcn.00454fb0
lea eax, [edi - 0x214]
push eax
push str.name
push dword [ebp + 0x10]
push esi
call fcn.00454fb0
lea eax, [edi + 0x60d]
push eax
push str.friendly_name
push dword [ebp + 0x10]
push esi
call fcn.00454fb0
add esp, 0x40
lea eax, [edi - 0x614]
push eax
push str.credentials
push dword [ebp + 0x10]
push esi
call fcn.00454fb0
lea eax, [edi - 0x100]
add esp, 0x10
cmp byte [eax], 0
je 0x40905e
push eax
push str.raop_credentials
push dword [ebp + 0x10]
push esi
call fcn.00454fb0
add esp, 0x10
movzx eax, byte [edi - 0x615]
push eax
push 0x4dd17c
push str.enabled
push dword [ebp + 0x10]
push esi
call fcn.00454fb0
add esp, 0x14
mov ebx, dword [ebp + 0xc]
add edi, 0xd70
sub dword [ebp - 8], 1
jne 0x408f50
push str.device
push dword [ebp - 0xc]
call fcn.004548c0
mov ebx, eax
xor edi, edi
push ebx
call fcn.00454ae0
add esp, 0xc
test eax, eax
jle 0x40910a
nop dword [eax]
push edi
push ebx
call fcn.00454a90
push 0x4dd2e4
push eax
mov dword [ebp + 0x10], eax
call fcn.00454820
push eax
call fcn.004540a0
push eax
call fcn.00454120
push eax
push esi
call fcn.004083a0
add esp, 0x20
test eax, eax
jne 0x4090fc
lea eax, [ebp + 0x10]
push eax
push 1
push dword [ebp + 0x10]
push esi
call fcn.00454900
push dword [ebp + 0x10]
push dword [ebp - 4]
call fcn.00453650
add esp, 0x18
push ebx
inc edi
call fcn.00454ae0
add esp, 4
cmp edi, eax
jl 0x4090b0
test ebx, ebx
je 0x409117
push ebx
call fcn.00454a50
add esp, 4
push 0x4dd314
push dword [ebp + 8]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
push esi
mov ebx, eax
call fcn.00454be0
mov edi, eax
add esp, 0xc
mov edx, edi
lea eax, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x409137
push ebx
sub edx, eax
push edx
push 1
push edi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
push ebx
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
push edi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
push esi
call fcn.004535b0
add esp, 0x1c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret