Function at 0x405610
Capabilities:
Contain obfuscated stackstrings
Create thread
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1b4
mov eax, dword [0x40b004]
xor eax, ebp
mov dword [ebp - 4], eax
push edi
mov dword [ebp - 0x14], 0x50414e41
mov dword [ebp - 0x10], 0x4f535065
mov dword [ebp - 0xc], 0x616e6170
mov dword [ebp - 8], 0x40746962
mov dword [0x50b5f0], 0x401750
call fcn.00403030
mov dword [0x50b95c], eax
test eax, eax
jne 0x40567d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Failed_to_load_WIN_TUN_driver__d_n
call fcn.00402ef0
add esp, 8
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00406188
mov esp, ebp
pop ebp
ret
push str.SD_WAN
push str.Panabit
call dword [0x50b91c]
mov dword [0x50b910], eax
test eax, eax
jne 0x4056cd
push eax
lea eax, [ebp - 0x14]
push eax
push str.SD_WAN
push str.Panabit
call dword [0x50b900]
mov dword [0x50b910], eax
test eax, eax
jne 0x4056cd
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Failed_to_create_adapter__d
call fcn.00402ef0
add esp, 8
jmp 0x405938
call dword [0x50b6ac]
movzx ecx, al
shr eax, 0x10
push ecx
movzx eax, al
push eax
push str.Wintun_v_u._u_loaded
call fcn.00402ef0
add esp, 0xc
push 0x400000
push dword [0x50b910]
call dword [0x50b954]
mov dword [0x50b698], eax
test eax, eax
jne 0x40570f
push str.Failed_to_create_adapter
jmp 0x405930
lea eax, [ebp - 0x1b0]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x40572f
push str.winsocket_STARTUP_failed_n
jmp 0x405930
push str.System_initial_POLL_mode_success
mov dword [0x50b920], 0xffffffff
mov dword [0x50b924], 0
mov dword [0x50b928], 0
mov dword [0x50b92c], 0xffffffff
mov dword [0x50b930], 0
mov dword [0x50b934], 0
mov dword [0x50b938], 0xffffffff
mov dword [0x50b93c], 0
mov dword [0x50b940], 0
mov dword [0x50b944], 0xffffffff
mov dword [0x50b948], 0
mov dword [0x50b94c], 0
call fcn.00402ef0
xorps xmm0, xmm0
mov byte [0x50b5f8], 0
add esp, 4
movlpd qword [0x50b600], xmm0
movlpd qword [0x50b610], xmm0
movlpd qword [0x50b608], xmm0
mov dword [0x50b61c], 0
push str.System_initial_timer_success
mov dword [0x50b618], 0
mov byte [0x50b620], 0
movlpd qword [0x50b628], xmm0
movlpd qword [0x50b638], xmm0
movlpd qword [0x50b630], xmm0
mov dword [0x50b644], 0
mov dword [0x50b640], 0
mov byte [0x50b648], 0
movlpd qword [0x50b650], xmm0
movlpd qword [0x50b660], xmm0
movlpd qword [0x50b658], xmm0
mov dword [0x50b66c], 0
mov dword [0x50b668], 0
mov byte [0x50b670], 0
movlpd qword [0x50b678], xmm0
movlpd qword [0x50b688], xmm0
movlpd qword [0x50b680], xmm0
mov dword [0x50b694], 0
mov dword [0x50b690], 0
call fcn.00402ef0
add esp, 4
call fcn.00404c00
mov edi, eax
test edi, edi
je 0x405938
lea eax, [ebp - 0x20]
push eax
push dword [0x50b910]
call dword [0x50b6a0]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.IPHLPAPI.DLL_ConvertInterfaceLuidToIndex]
mov eax, dword [ebp - 0x18]
mov word [edi + 0x22], ax
movzx eax, ax
push eax
push str.WinTun_interface_index__u
call fcn.00402ef0
add esp, 8
push 0
push 0
push dword [0x50b698]
push 0x404e30
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push 0
push 0x405080
push 0
push 0
mov dword [0x50b8f4], eax
call dword [sym.imp.KERNEL32.dll_CreateThread]
cmp dword [0x50b8f4], 0
mov dword [0x50b8f8], eax
je 0x40592b
test eax, eax
je 0x40592b
mov eax, edi
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00406188
mov esp, ebp
pop ebp
ret
push str.Failed_to_create_threads
call fcn.00402ef0
add esp, 4
call fcn.00405240
call dword [sym.imp.WS2_32.dll_WSACleanup]
push dword [0x50b95c]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ecx, dword [ebp - 4]
xor eax, eax
xor ecx, ebp
pop edi
call fcn.00406188
mov esp, ebp
pop ebp
ret