Function at 0x140069a00
Capabilities:
Initialize winsock library

Disassembly:
mov rax, rsp
push rdi
sub rsp, 0x7c0
mov qword [rax - 0x710], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x140232230]
xor rax, rsp
mov qword [rsp + 0x7b0], rax
mov rdi, rcx
mov qword [0x140239248], rcx
lea r8, str.GlobalPeerBlock
xor edx, edx
mov ecx, 0x1f0001
call qword [sym.imp.KERNEL32.dll_OpenMutexW]
test rax, rax
je 0x140069a83
lea rcx, str.PeerBlockSetVisible
call qword [sym.imp.USER32.dll_RegisterWindowMessageW]
test eax, eax
je 0x14006a226
mov r9d, 1
xor r8d, r8d
mov edx, eax
mov ecx, 0xffff
call qword [sym.imp.USER32.dll_SendNotifyMessageW]
jmp 0x14006a226
lea r8, str.GlobalPeerBlock
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov edx, 0x104
lea rcx, [rsp + 0x310]
lea r8, str.peerblock.log
lea rax, [rsp + 0x310]
sub r8, rax
lea rax, [rdx + 0x7ffffefa]
test rax, rax
je 0x140069ad7
movzx eax, word [r8 + rcx]
test ax, ax
je 0x140069ad7
mov word [rcx], ax
add rcx, 2
dec rdx
jne 0x140069ab3
jmp 0x140069adc
test rdx, rdx
jne 0x140069ae0
sub rcx, 2
xor ebx, ebx
mov word [rcx], bx
lea rcx, [rsp + 0x100]
call fcn.140007df0
mov rcx, rax
lea r8, [rsp + 0x310]
lea rdx, [rsp + 0x520]
call fcn.140007bf0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rbx
mov word [rsp + 0x30], bx
cmp word [rsp + 0x520], bx
jne 0x140069b36
mov r8d, ebx
jmp 0x140069b4c
lea rax, [rsp + 0x520]
or r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], bx
jne 0x140069b42
lea rdx, [rsp + 0x520]
lea rcx, [rsp + 0x30]
call fcn.14000dc20
nop
lea rdx, [rsp + 0x30]
call fcn.140078d50
lea rax, [rsp + 0x30]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rbx
mov word [rsp + 0x30], bx
mov r8d, reloc.WS2_32.dll_select
lea rdx, str.PeerBlock_Starting
lea rcx, [rsp + 0x30]
call fcn.14000dc20
nop
mov r8d, 1
lea rdx, [rsp + 0x30]
call fcn.140078560
lea r9, str.PeerBlock_1.2
lea r8, [0x1401d6d38]
mov edx, 0x40
lea rcx, [rsp + 0x730]
call fcn.140167410
lea rax, [rsp + 0x30]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rbx
mov word [rsp + 0x30], bx
cmp word [rsp + 0x730], 0
jne 0x140069bfb
mov r8, rbx
jmp 0x140069c1b
lea rax, [rsp + 0x730]
or r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140069c10
lea rdx, [rsp + 0x730]
lea rcx, [rsp + 0x30]
call fcn.14000dc20
nop
mov r8d, 1
lea rdx, [rsp + 0x30]
call fcn.140078560
call fcn.140078400
lea rax, [rsp + 0x30]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rbx
mov word [rsp + 0x30], bx
mov r8d, reloc.WS2_32.dll_recv
lea rdx, str.Flushed_tracelog
lea rcx, [rsp + 0x30]
call fcn.14000dc20
nop
mov r8d, 4
lea rdx, [rsp + 0x30]
call fcn.140078560
call fcn.1400691c0
test al, al
jne 0x140069cde
lea rax, [rsp + 0x30]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rbx
mov word [rsp + 0x30], bx
mov r8d, 0x23
lea rdx, str.ERROR:__Failed_checking_for_OS_rev_
lea rcx, [rsp + 0x30]
call fcn.14000dc20
nop
mov r8d, 2
lea rdx, [rsp + 0x30]
call fcn.140078560
or eax, 0xffffffff
jmp 0x14006a228
call qword [sym.imp.SHELL32.dll_IsUserAnAdmin]
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rbx
mov word [rsp + 0x30], bx
lea rcx, [rsp + 0x30]
test eax, eax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x50], rax
jne 0x140069d49
mov r8d, 0x22
lea rdx, str.ERROR:__User_not_running_as_Admin_
call fcn.14000dc20
nop
mov r8d, 2
lea rdx, [rsp + 0x30]
call fcn.140078560
mov edx, 0xa8
xor ecx, ecx
lea r9d, [rcx + 0x10]
lea r8d, [rdx + 1]
call fcn.1400681f0
or eax, 0xffffffff
jmp 0x14006a228
mov r8d, reloc.WS2_32.dll_setsockopt
lea rdx, str.User_running_as_Admin
call fcn.14000dc20
nop
mov r8d, 4
lea rdx, [rsp + 0x30]
call fcn.140078560
lea r8, str.GlobalPeerGuardian2
xor edx, edx
mov ecx, 0x1f0001
call qword [sym.imp.KERNEL32.dll_OpenMutexW]
test rax, rax
je 0x140069de3
lea rax, [rsp + 0x30]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rbx
mov word [rsp + 0x30], bx
mov r8d, gethostname
lea rdx, str.PeerGuardian_already_running___Warning_user_and_exiting.
lea rcx, [rsp + 0x30]
call fcn.14000dc20
nop
mov r8d, 3
lea rdx, [rsp + 0x30]
call fcn.140078560
mov edx, pe_nt_image_headers64
xor ecx, ecx
lea r9d, [rcx + 0x30]
lea r8d, [rdx - 1]
call fcn.1400681f0
jmp 0x14006a226
lea r8, str.GlobalPeerGuardian2
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rbx
mov word [rsp + 0x30], bx
mov r8d, reloc.WS2_32.dll_setsockopt
lea rdx, str.Created_program_mutex
lea rcx, [rsp + 0x30]
call fcn.14000dc20
nop
mov r8d, 4
lea rdx, [rsp + 0x30]
call fcn.140078560
mov edx, 2
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeEx]
mov qword [rsp + 0x50], 8
mov dword [rsp + 0x54], 0xbff
lea rcx, [rsp + 0x50]
call qword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rbx
mov word [rsp + 0x30], bx
mov r8d, 0x1b
lea rdx, str.Initialized_common_controls
lea rcx, [rsp + 0x30]
call fcn.14000dc20
nop
mov r8d, 4
lea rdx, [rsp + 0x30]
call fcn.140078560
mov rcx, rdi
call fcn.14000e760
lea rax, [rsp + 0x30]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rbx
mov word [rsp + 0x30], bx
mov r8d, reloc.WS2_32.dll_socket
lea rdx, str.Registered_color_picker
lea rcx, [rsp + 0x30]
call fcn.14000dc20
nop
mov r8d, 4
lea rdx, [rsp + 0x30]
call fcn.140078560
mov ecx, 0x202
lea rdx, [rsp + 0x310]
call qword [sym.imp.WS2_32.dll_WSAStartup]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rbx
mov word [rsp + 0x30], bx
mov r8d, reloc.WS2_32.dll_send
lea rdx, str.Initialized_winsock
lea rcx, [rsp + 0x30]
call fcn.14000dc20
nop
mov r8d, 4
lea rdx, [rsp + 0x30]
call fcn.140078560
lea rcx, [0x140028500]
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
call fcn.1400283f0
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rbx
mov word [rsp + 0x30], bx
lea rcx, [rsp + 0x30]
test eax, eax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x50], rax
je 0x140069f9f
mov r8d, 0x31
lea rdx, str.Successfully_PreventSetUnhandledExceptionFilter__
call fcn.14000dc20
nop
mov r8d, 4
jmp 0x140069fb8
mov r8d, 0x2e
lea rdx, str.Could_NOT_PreventSetUnhandledExceptionFilter__
call fcn.14000dc20
nop
mov r8d, 3
lea rdx, [rsp + 0x30]
call fcn.140078560
nop
lea rax, [rsp + 0x98]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xb0], 7
mov qword [rsp + 0xa8], rbx
mov word [rsp + 0x98], bx
mov r8d, reloc.WS2_32.dll_socket
lea rdx, str.Creating_main_UI_window
lea rcx, [rsp + 0x98]
call fcn.14000dc20
nop
mov r8d, 5
lea rdx, [rsp + 0x98]
call fcn.140078560
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
mov qword [rsp + 0x20], rbx
lea r9, [0x140066960]
xor r8d, r8d
lea edx, [r8 + 0x65]
call qword [sym.imp.USER32.dll_CreateDialogParamW]
mov rsi, rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x90], 7
mov qword [rsp + 0x88], rbx
mov word [rsp + 0x78], bx
mov r8d, socket
lea rdx, [0x1401d7080]
lea rcx, [rsp + 0x78]
call fcn.14000dc20
nop
mov r8d, 4
lea rdx, [rsp + 0x78]
call fcn.140078560
lea rdx, str.peerblock.conf.bak
lea rcx, [0x140239840]
call fcn.140014180
mov ecx, 0x800
call fcn.140167bc0
mov rdi, rax
lea r9, str.PeerBlock_1.2
lea r8, [0x1401d6d38]
mov edx, 0x100
mov rcx, rax
call fcn.140167410
mov rdx, rdi
mov rcx, rsi
call qword [sym.imp.USER32.dll_SetWindowTextW]
mov rcx, rdi
call fcn.1401673d0
lea rax, [rsp + 0x58]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x70], 7
mov qword [rsp + 0x68], rbx
mov word [rsp + 0x58], bx
mov r8d, reloc.WS2_32.dll_setsockopt
lea rdx, str.Starting_message_loop
lea rcx, [rsp + 0x58]
call fcn.14000dc20
nop
mov r8d, 4
lea rdx, [rsp + 0x58]
call fcn.140078560
nop word [rax + rax]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0xc8]
call qword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
jle 0x14006a188
lea rcx, [rsp + 0xc8]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rsp + 0xc8]
call qword [sym.imp.USER32.dll_DispatchMessageW]
jmp 0x14006a150
lea rax, [rsp + 0x30]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rbx
mov word [rsp + 0x30], bx
mov r8d, 0x2b
lea rdx, str.Message_loop_ended__shutting_down_PeerBlock
lea rcx, [rsp + 0x30]
call fcn.14000dc20
nop
mov r8d, 4
lea rdx, [rsp + 0x30]
call fcn.140078560
nop
jmp 0x14006a1dc
call fcn.140061200
lea rax, [rsp + 0x30]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], rbx
mov word [rsp + 0x30], bx
mov r8d, 0x40
lea rdx, str.PeerBlock_is_now_exiting__due_to_user_request.__Have_a_nice_day_
lea rcx, [rsp + 0x30]
call fcn.14000dc20
nop
mov r8d, 4
lea rdx, [rsp + 0x30]
call fcn.140078560
xor eax, eax
mov rcx, qword [rsp + 0x7b0]
xor rcx, rsp
call fcn.140166980
lea r11, [rsp + 0x7c0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret