Function at 0x4025c6
Capabilities:
Resolve dns
Set registry value

Disassembly:
push 0xffffffffffffffff
push 0x41aabd
mov eax, dword fs:[0]
push eax
sub esp, 0x548
mov eax, dword [0x426010]
xor eax, esp
mov dword [esp + 0x540], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x426010]
xor eax, esp
push eax
lea eax, [esp + 0x55c]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x56c]
mov ebx, str.0.0.0.0
mov edi, dword [0x42a3c8]
mov ecx, ebx
mov dword [esp + 0x18], edi
lea esi, [ebp + 0x44]
call fcn.0040113f
push eax
push ebx
push dword [esi + 0x10]
push ecx
mov ecx, esi
call fcn.0040414c
test eax, eax
jne 0x402650
push str.Checking_network_connections...
push str.Please_wait_nThis_might_take_10_seconds_or_more...
mov ecx, edi
call fcn.0040209b
call fcn.00401958
xor eax, eax
inc eax
jmp 0x402a58
cmp dword [esi + 0x14], 8
jb 0x40265a
mov eax, dword [esi]
jmp 0x40265c
mov eax, esi
push dword [esi + 0x10]
mov ebx, 0x4273a0
push eax
push dword [0x4273b0]
push ecx
mov ecx, ebx
call fcn.0040414c
test eax, eax
je 0x4027a8
mov edi, dword [sym.imp.WS2_32.dll_shutdown]
push 2
push dword [0x427310]
call edi
push dword [0x427310]
mov ebp, dword [sym.imp.WS2_32.dll_closesocket]
call ebp
or dword [0x427310], 0xffffffff
cmp dword [esi + 0x14], 8
jb 0x4026aa
mov ecx, dword [esi]
jmp 0x4026ac
mov ecx, esi
call fcn.00404c70
test al, al
jne 0x4026f5
cmp dword [esi + 0x14], 8
jb 0x4026bd
mov esi, dword [esi]
push esi
lea eax, [esp + 0x158]
push str.Server__s_is_not_accessible__n_changes_have_not_been_saved__n_nIs_JPLAY_installed__running_on_it__nIs_firewall_blocking_port_48168__n_nPlease_check_and_try_again_
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea eax, [esp + 0x154]
push 0x50040
push str.JPLAY_Settings
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
xor eax, eax
jmp 0x402a58
push 2
push dword [0x427310]
call edi
push dword [0x427310]
call ebp
or dword [0x427310], 0xffffffff
xor edi, edi
cmp esi, ebx
je 0x40271f
push 0xffffffffffffffff
push edi
push esi
mov ecx, ebx
call fcn.004037c5
lea eax, [esp + 0x18]
push eax
push 3
push edi
push str.SoftwareJPLAY
push closesocket
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x402756
push str.JPLAY_Host_Port_not_set_in_registry___Software_JPLAY_
mov ecx, 0x427360
call fcn.004032c9
push dword [esp + 0x18]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x4026ee
cmp dword [0x4273b4], 8
mov eax, dword [0x4273b0]
cmovae ebx, dword [0x4273a0]
add eax, eax
push eax
push ebx
push 1
push edi
push str.Host
push dword [esp + 0x2c]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
je 0x402794
push str.JPLAYS_Host_not_set_
mov ecx, 0x427360
call fcn.004032c9
jmp 0x402797
xor edi, edi
inc edi
push dword [esp + 0x18]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, edi
jmp 0x402a58
cmp dword [0x427310], 0xffffffff
jne 0x4027e1
xor ecx, ecx
call fcn.00404c70
test al, al
jne 0x4027e1
cmp dword [0x427374], 8
mov eax, 0x427360
push str.JPLAY_message
cmovae eax, dword [0x427360]
mov ecx, edi
push eax
call fcn.0040209b
jmp 0x4026ee
xor edi, edi
cmp dword [ebp + 0x20], edi
je 0x4028f1
mov esi, dword [sym.imp.WS2_32.dll_gethostbyname]
push 0x4216f8
call esi
push dword [eax]
call esi
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
push dword [eax]
call dword [sym.imp.WS2_32.dll_inet_ntoa]
lea ecx, [esp + 0x50]
push 3
mov dword [esp + 0x50], ecx
lea ecx, [esp + 0x50]
push eax
call fcn.00403440
mov dword [esp + 0x564], edi
lea ecx, [esp + 0x34]
push dword [esp + 0x4c]
call fcn.00402d20
lea eax, [esp + 0x50]
mov byte [esp + 0x564], 2
cmp dword [esp + 0x4c], eax
je 0x40284e
push dword [esp + 0x4c]
call fcn.00408814
pop ecx
xor eax, eax
mov dword [esp + 0x30], 7
push str.127.0.0.1
lea ecx, [esp + 0x20]
mov dword [esp + 0x30], edi
mov word [esp + 0x20], ax
call fcn.004032c9
mov byte [esp + 0x564], 3
cmp dword [0x4273b4], 8
push dword [0x4273b0]
cmovae ebx, dword [0x4273a0]
push ebx
push dword [esp + 0x4c]
push ecx
lea ecx, [esp + 0x44]
call fcn.0040414c
test eax, eax
je 0x4028c3
cmp dword [esp + 0x30], 8
lea eax, [esp + 0x1c]
push dword [esp + 0x2c]
cmovae eax, dword [esp + 0x20]
push eax
push dword [esp + 0x4c]
push ecx
lea ecx, [esp + 0x44]
call fcn.0040414c
test eax, eax
jne 0x4028d9
push 0x50040
push str.JPLAY_Settings
push str.Please_plug_in__any__USB_stick_for_playback_in_Hibernate_to_start._nYou_can_stop_Hibernate_by_unplugging_USB_stick_n_n_USB_stick_with_highest_Windows_drive_letter_will_be_used_
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
push edi
push 1
lea ecx, [esp + 0x24]
call fcn.00403338
push edi
push 1
lea ecx, [esp + 0x3c]
call fcn.00403338
cmp dword [ebp + 4], 3
jne 0x40291e
cmp dword [0x428470], 0
je 0x402905
cmp dword [ebp + 0x30], edi
jne 0x40291e
push 0x50040
push str.Windows_8_required_
push str.UltraStream__requires__Windows_8_and_Kernel_Streaming__nSwitching_back_to_River
push edi
mov dword [ebp + 4], edi
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ebx, dword [esp + 0x18]
mov edi, 0x200
push str.sput
push edi
push ebx
call fcn.004010e0
add esp, 0xc
mov esi, eax
mov ecx, edi
sub ecx, esi
push dword [ebp]
push str._Buffer__u_n
push ecx
lea ecx, [ebx + esi*2]
push ecx
call fcn.004010e0
push dword [ebp + 4]
add esi, eax
mov eax, edi
sub eax, esi
push str._Engine__u_n
push eax
lea eax, [ebx + esi*2]
push eax
call fcn.004010e0
push dword [ebp + 8]
add esi, eax
mov eax, edi
sub eax, esi
push str._Interface__u_n
push eax
lea eax, [ebx + esi*2]
push eax
call fcn.004010e0
push dword [ebp + 0xc]
add esi, eax
mov eax, edi
sub eax, esi
push str._Bitstream__u_n
push eax
lea eax, [ebx + esi*2]
push eax
call fcn.004010e0
add esp, 0x40
add esi, eax
mov eax, edi
sub eax, esi
push dword [ebp + 0x10]
push str._Volume__u_n
push eax
lea eax, [ebx + esi*2]
push eax
call fcn.004010e0
push dword [ebp + 0x14]
add esi, eax
mov eax, edi
sub eax, esi
push str._ThrottleMode__u_n
push eax
lea eax, [ebx + esi*2]
push eax
call fcn.004010e0
push dword [ebp + 0x24]
add esi, eax
mov eax, edi
sub eax, esi
push str._Polarity__u_n
push eax
lea eax, [ebx + esi*2]
push eax
call fcn.004010e0
push dword [ebp + 0x20]
add esi, eax
mov eax, edi
sub eax, esi
push str._HibernateMode__u_n
push eax
lea eax, [ebx + esi*2]
push eax
call fcn.004010e0
add esp, 0x40
push dword [ebp + 0x28]
add esi, eax
mov eax, edi
sub eax, esi
push str._Buffer96kHz__u_n
push eax
lea eax, [ebx + esi*2]
push eax
call fcn.004010e0
push dword [ebp + 0x2c]
add esi, eax
push str._Buffer192kHz__u_n
sub edi, esi
push edi
lea eax, [ebx + esi*2]
push eax
call fcn.004010e0
add esp, 0x20
push ebx
call fcn.004020da
push 2
push dword [0x427310]
mov esi, eax
call dword [sym.imp.WS2_32.dll_shutdown]
push dword [0x427310]
call dword [sym.imp.WS2_32.dll_closesocket]
or dword [0x427310], 0xffffffff
mov eax, esi
mov ecx, dword [esp + 0x55c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x540]
xor ecx, esp
call fcn.0040809e
add esp, 0x554
ret 4