Function at 0x180014dd4
Capabilities:
Link many functions at runtime

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rax, qword [0x1801563c0]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov qword [0x1801624f0], rcx
xor ebp, ebp
mov dword [rsp + 0x30], ebp
add rcx, 0x10
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea r15d, [rbp + 8]
mov rcx, r15
call fcn.1800d1934
mov rdi, rax
cmp rax, rbp
je 0x180014e3a
xor eax, eax
mov qword [rdi], rax
jmp 0x180014e3d
mov rdi, rbp
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rbx, rax
mov r14d, reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x58], rbp
mov byte [rsp + 0x48], bpl
lea r8d, [r14 - 4]
lea rdx, [0x18010e960]
lea rcx, [rsp + 0x40]
call fcn.180003768
nop
lea rax, str.L_kernel32.dll_
lea r13, str..SafariHooker.cpp
lea r12d, [r14 + 1]
cmp rbx, rbp
je 0x180014f33
lea rdx, [0x18010e960]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
mov r9, rdi
xor r8d, r8d
lea rdx, [0x1800103f4]
call qword [sym.imp.EasyHook64.dll_LhInstallHook]
mov r11d, eax
cmp eax, ebp
jne 0x180014ef8
lea r8, [rsp + 0x48]
cmp qword [rsp + 0x60], r12
cmovae r8, qword [rsp + 0x48]
lea rdx, str.__HOOK_on__s_succeeded___
lea rbx, [0x18015f578]
mov rcx, rbx
call fcn.18000de38
mov r8, rdi
xor edx, edx
lea rcx, [rsp + 0x30]
call qword [sym.imp.EasyHook64.dll_LhSetExclusiveACL]
jmp 0x180014f58
lea rax, [rsp + 0x48]
cmp qword [rsp + 0x60], r12
cmovae rax, qword [rsp + 0x48]
mov dword [rsp + 0x28], r11d
mov qword [rsp + 0x20], rax
lea r9, str.__HOOK_FAILED_on__s___Error_:__d_
mov r8d, reloc.WS2_32.dll_socket
mov rdx, r13
lea rbx, [0x18015f578]
mov rcx, rbx
call fcn.18000dc6c
jmp 0x180014f58
mov qword [rsp + 0x20], rax
lea r9, str.__Cannot_get_handle_on__s__
mov r8d, reloc.WS2_32.dll_socket
mov rdx, r13
lea rbx, [0x18015f578]
mov rcx, rbx
call fcn.18000dc6c
nop
cmp qword [rsp + 0x60], r12
jb 0x180014f69
mov rcx, qword [rsp + 0x48]
call fcn.1800d1290
mov rcx, r15
call fcn.1800d1934
mov rdi, rax
cmp rax, rbp
je 0x180014f80
xor eax, eax
mov qword [rdi], rax
jmp 0x180014f83
mov rdi, rbp
lea rcx, str.user32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rsi, rax
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x58], rbp
mov byte [rsp + 0x48], bpl
mov r8, r14
lea rdx, [0x18010ebe0]
lea rcx, [rsp + 0x40]
call fcn.180003768
nop
lea r14, str.L_user32.dll_
cmp rsi, rbp
je 0x180015059
lea rdx, [0x18010ebe0]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
mov r9, rdi
xor r8d, r8d
lea rdx, [0x1800104c0]
call qword [sym.imp.EasyHook64.dll_LhInstallHook]
mov r11d, eax
cmp eax, ebp
jne 0x180015025
lea r8, [rsp + 0x48]
cmp qword [rsp + 0x60], r12
cmovae r8, qword [rsp + 0x48]
lea rdx, str.__HOOK_on__s_succeeded___
mov rcx, rbx
call fcn.18000de38
mov r8, rdi
xor edx, edx
lea rcx, [rsp + 0x30]
call qword [sym.imp.EasyHook64.dll_LhSetExclusiveACL]
jmp 0x180015077
lea rax, [rsp + 0x48]
cmp qword [rsp + 0x60], r12
cmovae rax, qword [rsp + 0x48]
mov dword [rsp + 0x28], r11d
mov qword [rsp + 0x20], rax
lea r9, str.__HOOK_FAILED_on__s___Error_:__d_
mov r8d, 0x18
mov rdx, r13
mov rcx, rbx
call fcn.18000dc6c
jmp 0x180015077
mov qword [rsp + 0x20], r14
lea r9, str.__Cannot_get_handle_on__s__
mov r8d, 0x18
mov rdx, r13
mov rcx, rbx
call fcn.18000dc6c
nop
cmp qword [rsp + 0x60], r12
jb 0x180015088
mov rcx, qword [rsp + 0x48]
call fcn.1800d1290
mov rcx, r15
call fcn.1800d1934
mov rdi, rax
cmp rax, rbp
je 0x18001509f
xor eax, eax
mov qword [rdi], rax
jmp 0x1800150a2
mov rdi, rbp
lea rcx, str.user32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rsi, rax
mov qword [rsp + 0x60], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x58], rbp
mov byte [rsp + 0x48], bpl
mov r8d, ntohs
lea rdx, [0x18010ec10]
lea rcx, [rsp + 0x40]
call fcn.180003768
nop
cmp rsi, rbp
je 0x180015178
lea rdx, [0x18010ec10]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
mov r9, rdi
xor r8d, r8d
lea rdx, [0x1800105dc]
call qword [sym.imp.EasyHook64.dll_LhInstallHook]
mov r11d, eax
cmp eax, ebp
jne 0x180015144
lea r8, [rsp + 0x48]
cmp qword [rsp + 0x60], r12
cmovae r8, qword [rsp + 0x48]
lea rdx, str.__HOOK_on__s_succeeded___
mov rcx, rbx
call fcn.18000de38
mov r8, rdi
xor edx, edx
lea rcx, [rsp + 0x30]
call qword [sym.imp.EasyHook64.dll_LhSetExclusiveACL]
jmp 0x180015196
lea rax, [rsp + 0x48]
cmp qword [rsp + 0x60], r12
cmovae rax, qword [rsp + 0x48]
mov dword [rsp + 0x28], r11d
mov qword [rsp + 0x20], rax
lea r9, str.__HOOK_FAILED_on__s___Error_:__d_
mov r8d, 0x19
mov rdx, r13
mov rcx, rbx
call fcn.18000dc6c
jmp 0x180015196
mov qword [rsp + 0x20], r14
lea r9, str.__Cannot_get_handle_on__s__
mov r8d, 0x19
mov rdx, r13
mov rcx, rbx
call fcn.18000dc6c
nop
cmp qword [rsp + 0x60], r12
jb 0x1800151a7
mov rcx, qword [rsp + 0x48]
call fcn.1800d1290
mov rcx, r15
call fcn.1800d1934
mov rdi, rax
cmp rax, rbp
je 0x1800151be
xor eax, eax
mov qword [rdi], rax
jmp 0x1800151c1
mov rdi, rbp
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rsi, rax
mov r14d, reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x58], rbp
mov byte [rsp + 0x48], bpl
lea r8d, [r14 - 6]
lea rdx, [0x18010ea18]
lea rcx, [rsp + 0x40]
call fcn.180003768
nop
cmp rsi, rbp
je 0x180015297
lea rdx, [0x18010ea18]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
mov r9, rdi
xor r8d, r8d
lea rdx, [0x180010734]
call qword [sym.imp.EasyHook64.dll_LhInstallHook]
mov r11d, eax
cmp eax, ebp
jne 0x180015263
lea r8, [rsp + 0x48]
cmp qword [rsp + 0x60], r12
cmovae r8, qword [rsp + 0x48]
lea rdx, str.__HOOK_on__s_succeeded___
mov rcx, rbx
call fcn.18000de38
mov r8, rdi
xor edx, edx
lea rcx, [rsp + 0x30]
call qword [sym.imp.EasyHook64.dll_LhSetExclusiveACL]
jmp 0x1800152bc
lea rax, [rsp + 0x48]
cmp qword [rsp + 0x60], r12
cmovae rax, qword [rsp + 0x48]
mov dword [rsp + 0x28], r11d
mov qword [rsp + 0x20], rax
lea r9, str.__HOOK_FAILED_on__s___Error_:__d_
mov r8d, 0x1a
mov rdx, r13
mov rcx, rbx
call fcn.18000dc6c
jmp 0x1800152bc
lea rax, str.L_kernel32.dll_
mov qword [rsp + 0x20], rax
lea r9, str.__Cannot_get_handle_on__s__
mov r8d, 0x1a
mov rdx, r13
mov rcx, rbx
call fcn.18000dc6c
nop
cmp qword [rsp + 0x60], r12
jb 0x1800152cd
mov rcx, qword [rsp + 0x48]
call fcn.1800d1290
mov rcx, r15
call fcn.1800d1934
mov rdi, rax
cmp rax, rbp
je 0x1800152e4
xor eax, eax
mov qword [rdi], rax
jmp 0x1800152e7
mov rdi, rbp
lea rcx, str.Ws2_32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rsi, rax
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x58], rbp
mov byte [rsp + 0x48], bpl
mov r8d, reloc.WS2_32.dll_inet_addr
lea rdx, str.getaddrinfo
lea rcx, [rsp + 0x40]
call fcn.180003768
nop
lea r15, str.L_Ws2_32.dll_
cmp rsi, rbp
je 0x1800153c0
lea rdx, str.getaddrinfo
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
mov r9, rdi
xor r8d, r8d
lea rdx, [0x180010a54]
call qword [sym.imp.EasyHook64.dll_LhInstallHook]
mov r11d, eax
cmp eax, ebp
jne 0x18001538c
lea r8, [rsp + 0x48]
cmp qword [rsp + 0x60], r12
cmovae r8, qword [rsp + 0x48]
lea rdx, str.__HOOK_on__s_succeeded___
mov rcx, rbx
call fcn.18000de38
mov r8, rdi
xor edx, edx
lea rcx, [rsp + 0x30]
call qword [sym.imp.EasyHook64.dll_LhSetExclusiveACL]
jmp 0x1800153de
lea rax, [rsp + 0x48]
cmp qword [rsp + 0x60], r12
cmovae rax, qword [rsp + 0x48]
mov dword [rsp + 0x28], r11d
mov qword [rsp + 0x20], rax
lea r9, str.__HOOK_FAILED_on__s___Error_:__d_
mov r8d, 0x1c
mov rdx, r13
mov rcx, rbx
call fcn.18000dc6c
jmp 0x1800153de
mov qword [rsp + 0x20], r15
lea r9, str.__Cannot_get_handle_on__s__
mov r8d, 0x1c
mov rdx, r13
mov rcx, rbx
call fcn.18000dc6c
nop
cmp qword [rsp + 0x60], r12
jb 0x1800153ef
mov rcx, qword [rsp + 0x48]
call fcn.1800d1290
mov r14d, 8
mov rcx, r14
call fcn.1800d1934
mov rdi, rax
cmp rax, rbp
je 0x18001540c
xor eax, eax
mov qword [rdi], rax
jmp 0x18001540f
mov rdi, rbp
lea rcx, str.Ws2_32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rsi, rax
mov qword [rsp + 0x60], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x58], rbp
mov byte [rsp + 0x48], bpl
mov r8d, 6
lea rdx, str.socket
lea rcx, [rsp + 0x40]
call fcn.180003768
nop
cmp rsi, rbp
je 0x1800154e5
lea rdx, str.socket
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
mov r9, rdi
xor r8d, r8d
lea rdx, [0x180010994]
call qword [sym.imp.EasyHook64.dll_LhInstallHook]
mov r11d, eax
cmp eax, ebp
jne 0x1800154b1
lea r8, [rsp + 0x48]
cmp qword [rsp + 0x60], r12
cmovae r8, qword [rsp + 0x48]
lea rdx, str.__HOOK_on__s_succeeded___
mov rcx, rbx
call fcn.18000de38
mov r8, rdi
xor edx, edx
lea rcx, [rsp + 0x30]
call qword [sym.imp.EasyHook64.dll_LhSetExclusiveACL]
jmp 0x180015503
lea rax, [rsp + 0x48]
cmp qword [rsp + 0x60], r12
cmovae rax, qword [rsp + 0x48]
mov dword [rsp + 0x28], r11d
mov qword [rsp + 0x20], rax
lea r9, str.__HOOK_FAILED_on__s___Error_:__d_
mov r8d, 0x1d
mov rdx, r13
mov rcx, rbx
call fcn.18000dc6c
jmp 0x180015503
mov qword [rsp + 0x20], r15
lea r9, str.__Cannot_get_handle_on__s__
mov r8d, 0x1d
mov rdx, r13
mov rcx, rbx
call fcn.18000dc6c
nop
cmp qword [rsp + 0x60], r12
jb 0x180015514
mov rcx, qword [rsp + 0x48]
call fcn.1800d1290
mov rcx, r14
call fcn.1800d1934
mov rdi, rax
cmp rax, rbp
je 0x18001552b
xor eax, eax
mov qword [rdi], rax
jmp 0x18001552e
mov rdi, rbp
lea rcx, str.Ws2_32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rsi, rax
mov qword [rsp + 0x60], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x58], rbp
mov byte [rsp + 0x48], bpl
mov r14d, 7
mov r8, r14
lea rdx, str.connect
lea rcx, [rsp + 0x40]
call fcn.180003768
nop
cmp rsi, rbp
je 0x180015607
lea rdx, str.connect
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
mov r9, rdi
xor r8d, r8d
lea rdx, [0x1800109f4]
call qword [sym.imp.EasyHook64.dll_LhInstallHook]
mov r11d, eax
cmp eax, ebp
jne 0x1800155d3
lea r8, [rsp + 0x48]
cmp qword [rsp + 0x60], r12
cmovae r8, qword [rsp + 0x48]
lea rdx, str.__HOOK_on__s_succeeded___
mov rcx, rbx
call fcn.18000de38
mov r8, rdi
xor edx, edx
lea rcx, [rsp + 0x30]
call qword [sym.imp.EasyHook64.dll_LhSetExclusiveACL]
jmp 0x180015625
lea rax, [rsp + 0x48]
cmp qword [rsp + 0x60], r12
cmovae rax, qword [rsp + 0x48]
mov dword [rsp + 0x28], r11d
mov qword [rsp + 0x20], rax
lea r9, str.__HOOK_FAILED_on__s___Error_:__d_
mov r8d, 0x1e
mov rdx, r13
mov rcx, rbx
call fcn.18000dc6c
jmp 0x180015625
mov qword [rsp + 0x20], r15
lea r9, str.__Cannot_get_handle_on__s__
mov r8d, 0x1e
mov rdx, r13
mov rcx, rbx
call fcn.18000dc6c
nop
cmp qword [rsp + 0x60], r12
jb 0x180015636
mov rcx, qword [rsp + 0x48]
call fcn.1800d1290
mov ecx, 8
call fcn.1800d1934
mov rdi, rax
cmp rax, rbp
je 0x18001564f
xor eax, eax
mov qword [rdi], rax
jmp 0x180015652
mov rdi, rbp
lea rcx, str.Ws2_32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rsi, rax
mov qword [rsp + 0x60], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x58], rbp
mov byte [rsp + 0x48], bpl
mov r8, r14
lea rdx, [0x180116d60]
lea rcx, [rsp + 0x40]
call fcn.180003768
nop
cmp rsi, rbp
je 0x180015725
lea rdx, [0x180116d60]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
mov r9, rdi
xor r8d, r8d
lea rdx, [0x180010af0]
call qword [sym.imp.EasyHook64.dll_LhInstallHook]
mov r11d, eax
cmp eax, ebp
jne 0x1800156f1
lea r8, [rsp + 0x48]
cmp qword [rsp + 0x60], r12
cmovae r8, qword [rsp + 0x48]
lea rdx, str.__HOOK_on__s_succeeded___
mov rcx, rbx
call fcn.18000de38
mov r8, rdi
xor edx, edx
lea rcx, [rsp + 0x30]
call qword [sym.imp.EasyHook64.dll_LhSetExclusiveACL]
jmp 0x180015743
lea rax, [rsp + 0x48]
cmp qword [rsp + 0x60], r12
cmovae rax, qword [rsp + 0x48]
mov dword [rsp + 0x28], r11d
mov qword [rsp + 0x20], rax
lea r9, str.__HOOK_FAILED_on__s___Error_:__d_
mov r8d, 0x1f
mov rdx, r13
mov rcx, rbx
call fcn.18000dc6c
jmp 0x180015743
mov qword [rsp + 0x20], r15
lea r9, str.__Cannot_get_handle_on__s__
mov r8d, 0x1f
mov rdx, r13
mov rcx, rbx
call fcn.18000dc6c
nop
cmp qword [rsp + 0x60], r12
jb 0x180015754
mov rcx, qword [rsp + 0x48]
call fcn.1800d1290
xor eax, eax
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.1800d12b0
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret