Function at 0x412380
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
call fcn.004535d0
mov edi, dword [ebp + 0xc]
mov esi, eax
push str.spotupnp
push edi
call fcn.004538d0
add esp, 8
mov dword [ebp - 0xc], eax
cmp byte [ebp + 0x10], 0
jne 0x412449
test edi, edi
je 0x412449
lea ecx, [ebp - 4]
push ecx
push 1
push eax
push esi
call fcn.004539b0
push dword [ebp - 4]
push esi
call fcn.00456140
push str.device
push dword [ebp - 4]
call fcn.00453970
mov ebx, eax
xor edi, edi
push ebx
call fcn.004570d0
add esp, 0x24
test eax, eax
jle 0x41241d
nop word [eax + eax]
push edi
push ebx
call fcn.00457080
lea ecx, [ebp + 0x10]
mov dword [ebp + 0x10], eax
push ecx
push eax
push dword [ebp - 4]
call fcn.00456d70
push dword [ebp + 0x10]
call fcn.00456860
push ebx
inc edi
call fcn.004570d0
add esp, 0x1c
cmp edi, eax
jl 0x4123f0
test ebx, ebx
je 0x41242a
push ebx
call fcn.00457040
add esp, 4
push str.common
push dword [ebp - 4]
call fcn.004538d0
mov edi, eax
push str.protocolInfo
push edi
call fcn.004538d0
add esp, 0x10
jmp 0x41247c
push 0
push str.spotupnp
push 0
push esi
call fcn.00454240
push 0
push str.common
push eax
push esi
mov dword [ebp - 4], eax
call fcn.00454240
push 0
mov edi, eax
push str.protocolInfo
push edi
push esi
call fcn.00454240
add esp, 0x30
push dword [0x55b328]
mov ebx, eax
call fcn.00401530
push eax
push str.main_log
push 0
push dword [ebp - 4]
push esi
call fcn.004544d0
push dword [0x55b330]
call fcn.00401530
push eax
push str.upnp_log
push 0
push dword [ebp - 4]
push esi
call fcn.004544d0
push dword [0x55b32c]
call fcn.00401530
push eax
push str.util_log
push 0
push dword [ebp - 4]
push esi
call fcn.004544d0
add esp, 0x48
push dword [0x55a078]
push 0x51425c
push str.log_limit
push 0
push dword [ebp - 4]
push esi
call fcn.004544d0
push dword [0x55a07c]
push 0x51425c
push str.max_players
push 0
push dword [ebp - 4]
push esi
call fcn.004544d0
push 0x55b2a8
push str.interface
push 0
push dword [ebp - 4]
push esi
call fcn.004544d0
add esp, 0x44
push 0x562fe0
push str.credentials_path
push 0
push dword [ebp - 4]
push esi
call fcn.004544d0
movzx eax, byte [0x562fcd]
push eax
push 0x51425c
push str.credentials
push 0
push dword [ebp - 4]
push esi
call fcn.004544d0
movzx eax, word [0x5630e0]
push eax
movzx eax, word [0x5630e2]
push eax
push str._hu:_hu
push str.ports
push 0
push dword [ebp - 4]
push esi
call fcn.004544d0
movzx eax, byte [0x55a080]
add esp, 0x48
push eax
push 0x51425c
push str.enabled
push 0
push edi
push esi
call fcn.004544d0
push dword [0x55a58c]
push 0x51425c
push str.max_volume
push 0
push edi
push esi
call fcn.004544d0
push dword [0x55a69c]
push dword [0x55a698]
push str._lld
push str.http_content_length
push 0
push edi
push esi
call fcn.004544d0
add esp, 0x4c
push dword [0x55a588]
push 0x51425c
push str.upnp_max
push 0
push edi
push esi
call fcn.004544d0
push str.flac
push str.codec
push 0
push edi
push esi
call fcn.004544d0
push dword [0x55a690]
push 0x51425c
push str.vorbis_rate
push 0
push edi
push esi
call fcn.004544d0
movzx eax, byte [0x55a694]
add esp, 0x44
push eax
push 0x51425c
push str.flow
push 0
push edi
push esi
call fcn.004544d0
movzx eax, byte [0x55a695]
push eax
push 0x51425c
push str.gapless
push 0
push edi
push esi
call fcn.004544d0
push 0x55a6a2
push 0x5136ec
push str.artwork
push 0
push edi
push esi
call fcn.004544d0
add esp, 0x48
push str.http_get::audio_L16_rate44100_channels2:DLNA.ORG_PNLPCM_DLNA.ORG_OP_s_DLNA.ORG_CI0_DLNA.ORG_FLAGS_s
push 0x5136ec
push 0x513a60
push 0
push ebx
push esi
call fcn.004544d0
push str.http_get::audio_wav:DLNA.ORG_OP_s_DLNA.ORG_CI0_DLNA.ORG_FLAGS_s
push 0x5136ec
push 0x513a64
push 0
push ebx
push esi
call fcn.004544d0
push str.http_get::audio_flac:DLNA.ORG_OP_s_DLNA.ORG_CI0_DLNA.ORG_FLAGS_s
push 0x5136ec
push 0x513a68
push 0
push ebx
push esi
call fcn.004544d0
add esp, 0x48
push str.http_get::audio_mpeg:DLNA.ORG_PNMP3_DLNA.ORG_OP_s_DLNA.ORG_CI0_DLNA.ORG_FLAGS_s
push 0x5136ec
push 0x513a80
push 0
push ebx
push esi
call fcn.004544d0
push 0x55aea2
push str.DLNA_OP
push 0
push ebx
push esi
call fcn.004544d0
push str.01700000000000000000000000000000
push str.DLNA_FLAGS
push 0
push ebx
push esi
call fcn.004544d0
add esp, 0x40
push 0x55b0a2
push str.DLNA_OP_flow
push 0
push ebx
push esi
call fcn.004544d0
push str.0c700000000000000000000000000000
push str.DLNA_FLAGS_flow
push 0
push ebx
push esi
call fcn.004544d0
add esp, 0x28
mov dword [ebp - 8], 0
cmp dword [0x55a07c], 0
jle 0x41286b
xor ebx, ebx
nop word [eax + eax]
mov edi, dword [0x5630e4]
add edi, ebx
cmp byte [edi + 4], 0
je 0x412852
mov eax, dword [ebp + 0xc]
lea ecx, [edi + 0x1630]
test eax, eax
je 0x4127a4
push ecx
push eax
call fcn.00411790
add esp, 8
mov dword [ebp + 0x10], eax
test eax, eax
je 0x4127a4
lea ecx, [ebp + 0x10]
push ecx
push 1
push eax
push esi
call fcn.004539b0
push dword [ebp + 0x10]
push dword [ebp - 4]
call fcn.00456140
lea eax, [edi + 9]
push eax
push str.credentials
push 1
push dword [ebp + 0x10]
push esi
call fcn.004544d0
add esp, 0x2c
jmp 0x412852
push 0
push str.device
push dword [ebp - 4]
push esi
call fcn.00454240
lea ecx, [edi + 0x1630]
mov dword [ebp + 0x10], eax
push ecx
push 0x5147d4
push eax
push esi
call fcn.00454240
lea eax, [edi + 9]
push eax
push str.credentials
push dword [ebp + 0x10]
push esi
call fcn.00454240
lea eax, [edi + 0x409]
push eax
push str.name
push dword [ebp + 0x10]
push esi
call fcn.00454240
movzx eax, byte [edi + 0x50e]
add esp, 0x40
push eax
movzx eax, byte [edi + 0x50d]
push eax
movzx eax, byte [edi + 0x50c]
push eax
movzx eax, byte [edi + 0x50b]
push eax
movzx eax, byte [edi + 0x50a]
push eax
movzx eax, byte [edi + 0x509]
push eax
push str._02x:_02x:_02x:_02x:_02x:_02x
push 0x514800
push dword [ebp + 0x10]
push esi
call fcn.00454240
movzx eax, byte [edi + 8]
push eax
push 0x51425c
push str.enabled
push dword [ebp + 0x10]
push esi
call fcn.00454240
add esp, 0x3c
mov eax, dword [ebp - 8]
add ebx, 0x3058
inc eax
mov dword [ebp - 8], eax
cmp eax, dword [0x55a07c]
jl 0x412740
push str.device
push dword [ebp - 0xc]
call fcn.00453970
mov ebx, eax
xor edi, edi
push ebx
call fcn.004570d0
add esp, 0xc
test eax, eax
jle 0x4128ea
nop dword [eax]
push edi
push ebx
call fcn.00457080
push 0x5147d4
push eax
mov dword [ebp + 0x10], eax
call fcn.004538d0
push eax
call fcn.00456c00
push eax
call fcn.00456cc0
push eax
push esi
call fcn.00411790
add esp, 0x20
test eax, eax
jne 0x4128dc
lea eax, [ebp + 0x10]
push eax
push 1
push dword [ebp + 0x10]
push esi
call fcn.004539b0
push dword [ebp + 0x10]
push dword [ebp - 4]
call fcn.00456140
add esp, 0x18
push ebx
inc edi
call fcn.004570d0
add esp, 4
cmp edi, eax
jl 0x412890
test ebx, ebx
je 0x4128f7
push ebx
call fcn.00457040
add esp, 4
push 0x5145f4
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.00453ba0
mov edi, eax
add esp, 0xc
mov edx, edi
lea eax, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x412917
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.004538b0
add esp, 0x1c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret