Function at 0x4024cf
Capabilities:
Resolve dns
Set registry value

Disassembly:
push 0xffffffffffffffff
push 0x419a74
mov eax, dword fs:[0]
push eax
sub esp, 0x548
mov eax, dword [0x4250c0]
xor eax, esp
mov dword [esp + 0x540], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4250c0]
xor eax, esp
push eax
lea eax, [esp + 0x55c]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x56c]
mov edi, dword [0x429258]
mov ebx, str.0.0.0.0
mov ecx, ebx
mov dword [esp + 0x18], edi
lea esi, [ebp + 0x40]
call fcn.0040105f
push eax
push ebx
push dword [esi + 0x10]
push ecx
mov ecx, esi
call fcn.004040d6
test eax, eax
jne 0x402559
push str.Checking_network_connections...
push str.Please_wait_nThis_might_take_10_seconds_or_more...
mov ecx, edi
call fcn.00401fca
call fcn.0040183d
xor eax, eax
inc eax
jmp 0x402961
cmp dword [esi + 0x14], 8
jb 0x402563
mov eax, dword [esi]
jmp 0x402565
mov eax, esi
push dword [esi + 0x10]
mov ebx, 0x42602c
push eax
push dword [0x42603c]
push ecx
mov ecx, ebx
call fcn.004040d6
test eax, eax
je 0x4026b1
mov edi, dword [sym.imp.WS2_32.dll_shutdown]
push 2
push dword [0x425fb4]
call edi
push dword [0x425fb4]
mov ebp, dword [sym.imp.WS2_32.dll_closesocket]
call ebp
or dword [0x425fb4], 0xffffffff
cmp dword [esi + 0x14], 8
jb 0x4025b3
mov ecx, dword [esi]
jmp 0x4025b5
mov ecx, esi
call fcn.00404bd8
test al, al
jne 0x4025fe
cmp dword [esi + 0x14], 8
jb 0x4025c6
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 0x402961
push 2
push dword [0x425fb4]
call edi
push dword [0x425fb4]
call ebp
or dword [0x425fb4], 0xffffffff
xor edi, edi
cmp esi, ebx
je 0x402628
push 0xffffffffffffffff
push edi
push esi
mov ecx, ebx
call fcn.004034d9
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 0x40265f
push str.JPLAY_Host_Port_not_set_in_registry___Software_JPLAY_
mov ecx, 0x425ffc
call fcn.00403085
push dword [esp + 0x18]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x4025f7
cmp dword [0x426040], 8
mov eax, dword [0x42603c]
cmovae ebx, dword [0x42602c]
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 0x40269d
push str.JPLAYS_Host_not_set_
mov ecx, 0x425ffc
call fcn.00403085
jmp 0x4026a0
xor edi, edi
inc edi
push dword [esp + 0x18]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, edi
jmp 0x402961
cmp dword [0x425fb4], 0xffffffff
jne 0x4026ea
xor ecx, ecx
call fcn.00404bd8
test al, al
jne 0x4026ea
cmp dword [0x426010], 8
mov eax, 0x425ffc
cmovae eax, dword [0x425ffc]
push str.JPLAY_message
push eax
mov ecx, edi
call fcn.00401fca
jmp 0x4025f7
xor edi, edi
cmp dword [ebp + 0x20], edi
je 0x4027fa
mov esi, dword [sym.imp.WS2_32.dll_gethostbyname]
push 0x420478
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
push eax
lea ecx, [esp + 0x54]
call fcn.004031f8
mov dword [esp + 0x564], edi
push dword [esp + 0x4c]
lea ecx, [esp + 0x38]
call fcn.00402c3c
lea eax, [esp + 0x50]
mov byte [esp + 0x564], 2
cmp dword [esp + 0x4c], eax
je 0x402757
push dword [esp + 0x4c]
call fcn.00408674
pop ecx
xor eax, eax
push str.127.0.0.1
lea ecx, [esp + 0x20]
mov dword [esp + 0x34], 7
mov dword [esp + 0x30], edi
mov word [esp + 0x20], ax
call fcn.00403085
mov byte [esp + 0x564], 3
cmp dword [0x426040], 8
push dword [0x42603c]
cmovae ebx, dword [0x42602c]
push ebx
push dword [esp + 0x4c]
push ecx
lea ecx, [esp + 0x44]
call fcn.004040d6
test eax, eax
je 0x4027cc
cmp dword [esp + 0x30], 8
push dword [esp + 0x2c]
lea eax, [esp + 0x20]
cmovae eax, dword [esp + 0x20]
push eax
push dword [esp + 0x4c]
push ecx
lea ecx, [esp + 0x44]
call fcn.004040d6
test eax, eax
jne 0x4027e2
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.004030f4
push edi
push 1
lea ecx, [esp + 0x3c]
call fcn.004030f4
cmp dword [ebp + 4], 3
jne 0x402827
cmp dword [0x427308], 0
je 0x40280e
cmp dword [ebp + 0x30], edi
jne 0x402827
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]
push str.sput
mov edi, 0x200
push edi
push ebx
call fcn.00401000
add esp, 0xc
push dword [ebp]
mov esi, eax
mov ecx, edi
sub ecx, esi
push str._Buffer__u_n
push ecx
lea ecx, [ebx + esi*2]
push ecx
call fcn.00401000
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.00401000
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.00401000
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.00401000
add esp, 0x40
push dword [ebp + 0x10]
add esi, eax
mov eax, edi
sub eax, esi
push str._Volume__u_n
push eax
lea eax, [ebx + esi*2]
push eax
call fcn.00401000
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.00401000
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.00401000
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.00401000
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.00401000
push dword [ebp + 0x2c]
add esi, eax
push str._Buffer192kHz__u_n
sub edi, esi
lea eax, [ebx + esi*2]
push edi
push eax
call fcn.00401000
add esp, 0x20
push ebx
call fcn.00402009
push 2
push dword [0x425fb4]
mov esi, eax
call dword [sym.imp.WS2_32.dll_shutdown]
push dword [0x425fb4]
call dword [sym.imp.WS2_32.dll_closesocket]
or dword [0x425fb4], 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.00407f04
add esp, 0x554
ret 4