Function at 0x4134a0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
push ebx
mov ebx, dword [ebp + 8]
mov ecx, 0x1ca
push esi
push edi
add ebx, 8
mov byte [ebp - 8], 0
mov esi, 0x51c1a0
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp + 0xc]
push ebx
push dword [edi + 8]
push dword [0x52042c]
call fcn.00408bf0
add esp, 0xc
cmp byte [ebx], 0
je 0x413519
push str.AirSonos
push dword [edi + 8]
call fcn.00407070
add esp, 8
test eax, eax
je 0x413522
mov eax, dword [0x51c9d0]
cmp dword [eax], 4
jl 0x413519
push dword [ebp + 8]
push 0x1fa
push str.AddRaopDevice
call fcn.004048f0
push eax
push str._s__s:_d___p_:_skipping_AirSonos_player_n
call fcn.004048b0
add esp, 0x14
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret
push 0x4de4c8
push dword [edi + 0x24]
push dword [edi + 0x20]
call fcn.00413d80
push 0x4de6b8
push dword [edi + 0x24]
mov ebx, eax
push dword [edi + 0x20]
mov dword [ebp - 0x3c], ebx
call fcn.00413d80
push 0x4de6bc
push dword [edi + 0x24]
mov esi, eax
push dword [edi + 0x20]
mov dword [ebp - 0x40], esi
call fcn.00413d80
add esp, 0x24
mov dword [ebp - 0x24], eax
test ebx, ebx
je 0x413627
push str.airport
push ebx
call fcn.00407070
add esp, 8
test eax, eax
je 0x4135aa
mov eax, dword [0x51c9d0]
cmp dword [eax], 3
jl 0x4135a6
push dword [ebp + 8]
push 0x204
push str.AddRaopDevice
call fcn.004048f0
push eax
push str._s__s:_d___p_:_AirPort_Express_n
call fcn.004048b0
add esp, 0x14
mov byte [ebp - 8], 1
push str.appletv
push ebx
call fcn.00407070
mov ebx, dword [ebp + 8]
add esp, 8
test eax, eax
je 0x41362a
test esi, esi
je 0x41362a
cmp byte [esi], 0
je 0x41362a
cmp byte [ebx + 0x51d], 0
lea ecx, [ebx + 0x51d]
mov eax, dword [0x51c9d0]
je 0x413602
cmp dword [eax], 3
jl 0x41362a
push ecx
push ebx
push 0x20a
push str.AddRaopDevice
call fcn.004048f0
push eax
push str._s__s:_d___p_:_AppleTV_with_valid_authentication_key__s_n
call fcn.004048b0
add esp, 0x18
jmp 0x41362a
cmp dword [eax], 3
jl 0x41362a
push ebx
push 0x20c
push str.AddRaopDevice
call fcn.004048f0
push eax
push str._s__s:_d___p_:_AppleTV_with_no_authentication_key__create_one_using__l_option_n
call fcn.004048b0
add esp, 0x14
jmp 0x41362a
mov ebx, dword [ebp + 8]
mov byte [ebx], 1
call fcn.00406780
movsd xmm0, qword [0x4df198]
lea esi, [ebx + 0xb30]
sub eax, 0x7d0
mov edx, esi
mov dword [ebx + 0xd3c], eax
mov eax, dword [edi + 0x10]
mov dword [ebx + 0xd4c], eax
mov ax, word [edi + 0x14]
movsd qword [ebx + 0xd30], xmm0
xorps xmm0, xmm0
mov word [ebx + 0xd50], ax
mov byte [ebx + 0xd52], 0
mov dword [ebx + 0xd68], 0
mov byte [ebx + 0xd6c], 0
mov dword [ebx + 0xd24], 0
mov dword [ebx + 0xd48], 0
mov dword [ebx + 4], 0
movups xmmword [ebx + 0xd58], xmm0
mov ecx, dword [edi + 8]
nop dword [eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx], al
lea edx, [edx + 1]
test al, al
jne 0x4136b0
push esi
call fcn.00406920
push eax
lea eax, [ebx + 0xd58]
push 0x4de784
push eax
call fcn.00404950
add esp, 0x10
cmp byte [0x523f84], 0
je 0x4136f4
lea ecx, [ebx + 9]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + 0x726], al
test al, al
jne 0x4136e5
cmp byte [0x523fa0], 0
je 0x413754
push esi
call fcn.00406920
push eax
push 0x523fa0
lea eax, [ebp - 4]
push str._s_spotraop__08x.json
push eax
call fcn.00406de0
push 0x4de788
push dword [ebp - 4]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
push dword [ebp - 4]
mov esi, eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 0x20
test esi, esi
je 0x413754
push esi
lea eax, [ebx + 0x730]
push 0x400
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fgets]
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 0x10
mov ecx, dword [edi + 0xc]
lea esi, [ebx + 0xc2a]
mov edx, esi
nop
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx], al
lea edx, [edx + 1]
test al, al
jne 0x413760
push str..local
push esi
call fcn.00407070
add esp, 8
test eax, eax
je 0x413783
mov byte [eax], 0
cmp dword [ebx + 0x509], 0
lea esi, [ebx + 0x509]
mov edx, 0xaaaaaaaa
jne 0x4137d8
movzx eax, word [esi + 4]
test ax, ax
jne 0x4137d8
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], 6
push eax
push esi
push 0
push dword [edi + 0x10]
call dword [sym.imp.IPHLPAPI.DLL_SendARP]
test eax, eax
je 0x4137d0
lea eax, [ebx + 0xb30]
push eax
call fcn.00406920
add esp, 4
mov dword [ebx + 0x50b], eax
mov edx, 0xaaaaaaaa
mov word [esi], dx
mov ecx, 0x20
mov esi, 0x5240c0
mov dword [ebp - 4], ecx
cmp byte [esi], 0
je 0x413853
cmp ebx, esi
je 0x413853
mov eax, dword [esi + 0x509]
cmp eax, dword [ebx + 0x509]
jne 0x413853
movzx eax, word [esi + 0x50d]
cmp ax, word [ebx + 0x50d]
jne 0x413853
lea eax, [ebx + 0xb30]
mov word [ebx + 0x509], dx
push eax
call fcn.00406920
mov dword [ebx + 0x50b], eax
add esp, 4
mov eax, dword [0x51c9d0]
cmp dword [eax], 3
jl 0x413850
push ebx
push 0x242
push str.AddRaopDevice
call fcn.004048f0
push eax
push str._s__s:_d___p_:_duplicated_mac_..._updating_n
call fcn.004048b0
add esp, 0x14
mov ecx, dword [ebp - 4]
add esi, 0xd70
mov edx, 0xaaaaaaaa
sub ecx, 1
mov dword [ebp - 4], ecx
jne 0x4137e5
mov eax, dword [0x51c9d0]
cmp dword [eax], 3
jl 0x4138b4
push dword [ebx + 0x50b]
movzx eax, word [ebx + 0x509]
push eax
push dword [ebx + 0xd4c]
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea eax, [ebx + 0xc2a]
push eax
push ebx
push 0x247
push str.AddRaopDevice
call fcn.004048f0
push eax
push str._s__s:_d___p_:_adding_renderer___s__s__with_mac__hX__X_n
call fcn.004048b0
add esp, 0x24
push 0x4de7f8
push dword [edi + 0x24]
push dword [edi + 0x20]
call fcn.00413d80
push 0x4de7fc
push dword [edi + 0x24]
mov dword [ebp - 0x28], eax
push dword [edi + 0x20]
call fcn.00413d80
push 0x4de800
push dword [edi + 0x24]
mov dword [ebp - 4], eax
push dword [edi + 0x20]
call fcn.00413d80
push 0x4de804
push dword [edi + 0x24]
mov dword [ebp - 0x2c], eax
push dword [edi + 0x20]
call fcn.00413d80
push 0x4de808
push dword [edi + 0x24]
mov esi, eax
push dword [edi + 0x20]
mov dword [ebp - 0x44], esi
call fcn.00413d80
add esp, 0x3c
mov edi, eax
mov dword [ebp - 0x30], edi
test esi, esi
je 0x41392d
push 0x31
push esi
call sub.VCRUNTIME140.dll_strchr
add esp, 8
test eax, eax
jne 0x413956
mov eax, dword [0x51c9d0]
cmp dword [eax], 2
jl 0x413956
push esi
push ebx
push 0x251
push str.AddRaopDevice
call fcn.004048f0
push eax
push str._s__s:_d___p_:_ALAC_not_in_codecs__player_might_not_work__s_n
call fcn.004048b0
add esp, 0x18
cmp byte [ebx + 0x51c], 0
jne 0x413965
cmp byte [ebp - 8], 0
je 0x41397b
push 0x31
push edi
call sub.VCRUNTIME140.dll_strchr
add esp, 8
mov dword [ebp - 0x18], 1
test eax, eax
jne 0x413982
mov dword [ebp - 0x18], 0
xor edi, edi
lea esi, [ebx + 0x61d]
cmp byte [esi], 0
mov dword [ebp - 0x20], edi
je 0x413a25
push esi
lea eax, [ebp + 0xc]
push str._s
push eax
call fcn.00406de0
mov ecx, esi
add esp, 0xc
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4139b0
sub ecx, edx
lea edx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x4139c0
mov eax, dword [ebp + 0xc]
sub esi, edx
and esi, 3
add esi, ecx
mov byte [esi + eax], 0
mov ecx, dword [ebp + 0xc]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4139e0
sub ecx, edx
push ecx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov edi, eax
push edi
push dword [ebp + 0xc]
mov dword [ebp - 0x20], edi
call fcn.00406520
push dword [ebp + 0xc]
mov esi, eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 0x10
xor ecx, ecx
test esi, esi
je 0x413a21
mov al, byte [ebx + ecx + 0xb30]
xor byte [ecx + edi], al
inc ecx
cmp ecx, esi
jb 0x413a12
mov byte [esi + edi], 0
mov eax, dword [ebp - 0x2c]
mov esi, dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
test eax, eax
je 0x413a3d
push eax
call esi
add esp, 4
mov dword [ebp - 0xc], eax
jmp 0x413a44
mov dword [ebp - 0xc], 2
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x413a56
push eax
call esi
add esp, 4
mov dword [ebp - 0x14], eax
jmp 0x413a5d
mov dword [ebp - 0x14], 0x10
mov eax, dword [ebp - 4]
test eax, eax
je 0x413a7b
push eax
call esi
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 4]
push eax
call esi
mov dword [ebp - 0x1c], eax
add esp, 8
mov eax, dword [ebp - 0x34]
jmp 0x413a83
mov eax, 0xac44
mov dword [ebp - 0x1c], eax
movsd xmm0, qword [ebx + 0xd30]
push ecx
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push dword [ebp - 0xc]
push dword [ebp - 0x14]
push eax
push dword [ebp - 0x24]
lea eax, [ebx + 0x51d]
push dword [ebp - 0x30]
push edi
push eax
push dword [ebp - 8]
mov eax, dword [ebx + 0x720]
push dword [ebp - 0x18]
cdq
mov esi, eax
mov ecx, edx
mov eax, dword [ebp - 0x1c]
cdq
push edx
push eax
push ecx
push esi
call fcn.004d42c0
mov edi, eax
mov ecx, edx
mov ebx, 0x1a9fbe77
mov dword [ebp - 0x14], edi
mul ebx
mov eax, edi
mov dword [ebp - 0x1c], ecx
mov esi, edx
mov edx, 0x624dd2f
mul edx
mov edi, eax
mov dword [ebp - 0x34], edx
mov eax, ecx
mul ebx
mov ecx, eax
mov ebx, edx
mov eax, dword [ebp - 0x1c]
mov edx, 0x624dd2f
mul edx
add ecx, esi
mov dword [ebp - 0x18], eax
adc ebx, 0
add edi, ecx
mov ecx, dword [ebp - 0x34]
adc ecx, 0
xor eax, eax
add ebx, ecx
mov ecx, dword [ebp - 0x18]
adc eax, eax
add ecx, ebx
mov ebx, dword [ebp - 0x14]
adc edx, eax
mov eax, dword [ebp - 0x1c]
sub ebx, ecx
sbb eax, edx
shrd ebx, eax, 1
shr eax, 1
add ebx, ecx
adc eax, edx
shrd ebx, eax, 9
xor eax, eax
push ebx
mov ebx, dword [ebp + 8]
push 0x160
cmp byte [ebx + 0x72c], al
setne al
inc eax
push eax
lea eax, [ebx + 0xd58]
push eax
movzx eax, word [0x5240a0]
push str.1A2B3D4EA1B2C3D5
push eax
movzx eax, word [0x5240a2]
push eax
push dword [0x520430]
call fcn.0044aa10
mov esi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 0x48
mov dword [ebx + 0xd48], eax
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x413b89
push eax
call esi
add esp, 4
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x413b96
push eax
call esi
add esp, 4
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x413ba3
push eax
call esi
add esp, 4
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x413bb0
push eax
call esi
add esp, 4
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x413bbd
push eax
call esi
add esp, 4
mov eax, dword [ebp - 4]
test eax, eax
je 0x413bca
push eax
call esi
add esp, 4
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x413bd7
push eax
call esi
add esp, 4
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x413be4
push eax
call esi
add esp, 4
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x413bf1
push eax
call esi
add esp, 4
cmp dword [ebx + 0xd48], 0
jne 0x413c2f
mov eax, dword [0x51c9d0]
cmp dword [eax], 1
jl 0x413519
push ebx
push 0x27d
push str.AddRaopDevice
call fcn.004048f0
push eax
push str._s__s:_d___p_:_cannot_create_raop_device_n
call fcn.004048b0
add esp, 0x14
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret