Function at 0x140004000
Capabilities:
Create thread
Set socket configuration

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x9d0]
sub rsp, 0xad0
mov rax, qword [0x140057c30]
xor rax, rsp
mov qword [rbp + 0x9c0], rax
xor esi, esi
mov qword [rbp - 0x78], 0xffffffffffffffff
mov edi, 1
mov qword [rbp - 0x60], 0xffffffffffffffff
mov r13d, 0x1388
mov dword [rsp + 0x54], esi
mov r14, rdx
mov dword [rsp + 0x58], edi
mov r15d, ecx
mov dword [rsp + 0x64], esi
lea edx, [rsi + 8]
mov dword [rsp + 0x50], esi
mov r12d, esi
mov qword [rsp + 0x70], rsi
mov qword [rbp - 0x80], rsi
lea rcx, [rbp + 0x580]
mov qword [rbp - 0x70], rsi
lea rax, str.__u_never_ask_for_username_n__u2_always_ask_for_username_n__fFORMAT_logging_format__see_documentation__n__l_log_to_stderr_n__lFILENAME_log_to_FILENAME_n__b_BUFSIZE__size_of_network_buffer__default_4096_for_TCP__16384_for_UDP__n__S_STACKSIZE__value_to_add_to_default_client_thread_stack_size_n__t_be_silent__do_not_log_service_start_stop__n_n__iIP_ip_address_or_internal_interface__clients_are_expected_to_connect__n__eIP_ip_address_or_external_interface__outgoing_connection_will_have_this__n__rHOST:PORT_Use_IP:port_for_connect_back_proxy_instead_of_listen_port_n__RHOST:PORT_Use_PORT_to_listen_connect_back_proxy_connection_to_pass_data_to_n__4_Use_IPv4_for_outgoing_connections_n__6_Use_IPv6_for_outgoing_connections_n__46_Prefer_IPv4_for_outgoing_connections__use_both_IPv4_and_IPv6_n__64_Prefer_IPv6_for_outgoing_connections__use_both_IPv4_and_IPv6_n__ocOPTIONS___osOPTIONS___olOPTIONS___orOPTIONS__oROPTIONS___options_for_n_to_client__oc___to_server__os___listening__ol__socket__connect_back_client_n__or__socket__connect_back_server__oR__listening_socket_n_where_possible_options_are:
mov dword [rsp + 0x78], r13d
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm1
sub rdx, rdi
jne 0x140004091
movups xmm0, xmmword [rax]
mov r8d, 0x1c0
mov dword [rsp + 0x68], edi
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx], xmm0
movups xmm0, xmmword [rax + 0x20]
movzx eax, byte [rax + 0x30]
movups xmmword [rcx + 0x10], xmm1
movups xmmword [rcx + 0x20], xmm0
mov byte [rcx + 0x30], al
lea rcx, [rbp - 0x50]
call fcn.140024b90
mov eax, dword [0x140057224]
mov rcx, qword [0x1400572f0]
inc eax
cmp dword [0x1400588d0], esi
mov dword [rbp + 4], eax
mov eax, dword [0x14005720c]
mov dword [rbp], eax
lea rax, [0x14001b930]
cmovne rax, qword [0x1400572d0]
mov qword [rbp - 0x30], rax
mov eax, dword [0x140057228]
mov dword [rbp + 0x40], eax
test rcx, rcx
je 0x140004163
call fcn.140031e4c
mov qword [rbp + 0x148], rax
jmp 0x14000416a
mov qword [rbp + 0x148], rsi
mov rax, qword [fcn.140019a40]
xor ecx, ecx
mov qword [rbp - 0x28], rax
mov eax, dword [0x140057218]
mov dword [rbp - 4], eax
mov eax, dword [0x1400571f8]
mov dword [rbp + 0x3c], eax
mov dword [rbp + 0xc], esi
call fcn.140029234
cmp dword [0x1400588d0], esi
mov qword [rbp + 0x168], rax
je 0x1400041b8
mov rcx, qword [0x1400572e8]
test rcx, rcx
je 0x1400041b8
call fcn.140031e4c
mov qword [rbp + 0x150], rax
mov eax, dword [0x140057338]
lea rcx, [rbp + 0x170]
mov dword [rbp + 0x60], eax
xor edx, edx
mov eax, dword [0x14005733c]
mov r8d, 0x2d0
mov dword [rbp + 0x64], eax
mov qword [rbp - 0x18], 0xffffffffffffffff
mov qword [rbp - 0x10], 0xffffffffffffffff
mov dword [rbp + 0x10], edi
call fcn.140024b90
mov ebx, 2
mov qword [rbp + 0x1f8], 0xffffffffffffffff
lea rax, [rbp - 0x50]
mov qword [rbp + 0x1f0], 0xffffffffffffffff
mov qword [rbp + 0x180], rax
lea rcx, [rbp + 0xd8]
mov eax, dword [rbp + 4]
mov dword [rbp + 0x278], eax
mov eax, dword [rbp]
mov dword [rbp + 0x274], eax
mov qword [rbp + 0x1e0], 0xffffffffffffffff
mov qword [rbp + 0x1e8], 0xffffffffffffffff
mov word [rbp + 0x2e8], bx
mov word [rbp + 0x304], bx
mov word [rbp + 0x33c], bx
mov word [rbp + 0x320], bx
mov word [rbp + 0x358], bx
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov eax, dword [0x140057278]
movups xmm0, xmmword [reloc.WS2_32.dll_bind]
mov rcx, qword [0x1400571c0]
movsd xmm1, qword [0x140057270]
mov dword [rbp + 0x80], eax
mov eax, dword [0x1400572b0]
mov dword [rbp + 0xb8], eax
mov eax, dword [0x140057294]
mov dword [rbp + 0x9c], eax
mov rax, qword [0x140055a80]
movsd qword [rbp + 0x78], xmm1
movsd xmm1, qword [0x1400572a8]
mov qword [rbp - 0x20], rax
mov eax, dword [0x140055a8c]
movsd qword [rbp + 0xb0], xmm1
movsd xmm1, qword [0x14005728c]
mov dword [rsp + 0x60], eax
mov eax, dword [0x140055a90]
movsd qword [rbp + 0x94], xmm1
mov dword [rbp + 0x1d8], eax
mov dword [rbp - 0x38], eax
movups xmmword [rbp + 0x68], xmm0
movups xmm0, xmmword [reloc.WS2_32.dll_bind]
movaps xmmword [rbp + 0xa0], xmm0
movups xmm0, xmmword [reloc.WS2_32.dll_socket]
movups xmmword [rbp + 0x84], xmm0
test rcx, rcx
je 0x140004335
call fcn.140002700
mov ecx, dword [0x1400588a0]
test rax, rax
mov qword [rbp + 0x130], rax
cmove ecx, ebx
mov dword [0x1400588a0], ecx
mov rbx, qword [0x140057308]
test rbx, rbx
je 0x1400043c3
mov ecx, 0x20
call fcn.14002930c
mov rdi, rax
test rax, rax
je 0x140004365
movups xmm0, xmmword [rbx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rax + 0x10], xmm1
mov rbx, rax
test rax, rax
je 0x1400043a8
nop dword [rax]
mov rax, qword [rbx]
test rax, rax
je 0x1400043a0
mov ecx, 0x20
mov rsi, rax
call fcn.14002930c
test rax, rax
je 0x140004398
movups xmm0, xmmword [rsi]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [rax + 0x10], xmm1
mov qword [rbx], rax
test rax, rax
je 0x1400043e0
mov rbx, rax
test rax, rax
jne 0x140004370
mov qword [rbp + 0x138], rdi
test rdi, rdi
jne 0x1400043be
mov dword [0x1400588a0], 2
mov edi, 1
mov rax, qword [0x1400571f0]
test rax, rax
jne 0x1400043fc
lea rax, [rbp - 0x50]
mov qword [0x1400571f0], rax
jmp 0x14000440f
mov rbx, qword [rdi]
mov rcx, rdi
call fcn.1400292f8
mov rdi, rbx
test rbx, rbx
jne 0x1400043e0
mov qword [rbp + 0x138], r12
jmp 0x1400043b4
lea rcx, [rbp - 0x50]
mov qword [rbp - 0x50], rax
mov qword [rax + 8], rcx
mov qword [0x1400571f0], rcx
mov ebx, edi
cmp r15d, 1
jle 0x140004745
mov r13d, dword [rsp + 0x54]
lea rdi, [r14 + 8]
lea rsi, [0x140000000]
lea r9, [0x14001b7f0]
mov rdx, qword [rdi]
cmp byte [rdx], 0x2d
jne 0x140004736
movsx eax, byte [rdx + 1]
add eax, 0xffffffcc
cmp eax, 0x41
ja case.0x140004462.72
cdqe
movzx eax, byte [rsi + rax + 0x57b8]
mov ecx, dword [rsi + rax*4 + 0x5764]
add rcx, rsi
jmp rcx
cmp dword [0x140057214], 0
jne 0x140004473
call qword [sym.imp.KERNEL32.dll_FreeConsole]
mov dword [0x140057214], 1
jmp 0x140004720
mov rcx, qword [rbp + 0x150]
mov qword [rbp - 0x30], r9
test rcx, rcx
je 0x14000449a
call fcn.1400292f8
mov rdx, qword [rdi]
lea rcx, [rdx + 2]
call fcn.140031e4c
mov rcx, qword [rdi]
add rcx, 2
mov qword [rbp + 0x150], rax
test byte [rcx], 0xbf
je 0x140004720
lea rdx, [0x14004256c]
call fcn.140025e40
mov qword [rbp - 0x70], rax
test rax, rax
je 0x140004720
mov qword [rbp + 0x110], rax
jmp 0x140004720
add rdx, 2
lea r8, [rbp + 0x68]
mov ecx, 0x2e
call fcn.140019f80
jmp 0x140004720
xor eax, eax
lea r8, [rbp + 0x440]
add rdx, 2
mov qword [rbp + 0x440], rax
mov qword [rbp + 0x448], rax
mov qword [rbp + 0x450], rax
lea ecx, [rax + 0x2e]
mov dword [rbp + 0x458], eax
call fcn.140019f80
xor r13d, r13d
test eax, eax
sete r13b
test eax, eax
je 0x140004720
cmp word [rbp + 0x440], 2
movups xmm0, xmmword [rbp + 0x440]
mov eax, dword [rbp + 0x458]
movsd xmm1, qword [rbp + 0x450]
jne 0x140004570
movaps xmmword [rbp + 0xa0], xmm0
movsd qword [rbp + 0xb0], xmm1
mov dword [rbp + 0xb8], eax
jmp 0x140004720
movups xmmword [rbp + 0x84], xmm0
mov dword [rbp + 0x9c], eax
movsd qword [rbp + 0x94], xmm1
jmp 0x140004720
add rdx, 2
lea r8, [rbp + 0xbc]
mov ecx, 0x2e
call fcn.140019f80
jmp 0x140004720
lea rcx, [rdx + 2]
call fcn.140029984
mov ecx, eax
call qword [sym.imp.WS2_32.dll_htons]
mov word [rbp + 0x6a], ax
jmp 0x140004720
lea rcx, [rdx + 1]
call fcn.140029984
mov dword [rbp + 0x38], eax
jmp 0x140004720
lea rcx, [rdx + 2]
call fcn.140029984
mov dword [rbp + 0x5c], eax
jmp 0x140004720
lea rcx, [rdx + 2]
call fcn.140029984
mov dword [rbp + 0xc], eax
jmp 0x140004720
mov rcx, qword [rbp + 0x148]
test rcx, rcx
je 0x140004605
call fcn.1400292f8
mov rdx, qword [rdi]
lea rcx, [rdx + 2]
call fcn.140031e4c
mov qword [rbp + 0x148], rax
jmp 0x140004720
mov dword [rbp + 0x14], 1
jmp 0x140004720
lea r12, [rdx + 2]
jmp 0x140004720
lea rcx, [rdx + 2]
call fcn.140031e4c
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x50], 1
jmp 0x140004720
lea rcx, [rdx + 2]
call fcn.140031e4c
mov qword [rbp - 0x80], rax
mov dword [rsp + 0x64], 1
jmp 0x140004720
lea rcx, [rdx + 2]
mov dword [rbp + 0x10], 0
cmp byte [rcx], 0
je 0x140004720
call fcn.140029984
mov dword [rbp + 0x10], eax
jmp 0x140004720
mov dword [rbp + 0x18], 1
jmp 0x140004720
lea rcx, [rdx + 2]
call fcn.140029984
mov dword [rbp + 0x3c], eax
jmp 0x140004720
lea rcx, [rdx + 2]
call fcn.140029984
inc eax
mov dword [rbp + 0x44], eax
jmp 0x140004720
lea rcx, [rdx + 2]
call fcn.140029984
inc eax
mov dword [rbp + 8], eax
jmp 0x140004720
movsx ecx, byte [rdx + 2]
sub ecx, 0x52
je 0x140004709
sub ecx, 0x11
je 0x1400046fb
sub ecx, 9
je 0x1400046ed
sub ecx, 6
je 0x140004709
cmp ecx, 1
jne case.0x140004462.72
lea rcx, [rdx + 3]
call fcn.140003f80
mov dword [rbp + 0x4c], eax
jmp 0x140004715
lea rcx, [rdx + 3]
call fcn.140003f80
mov dword [rbp + 0x50], eax
jmp 0x140004715
lea rcx, [rdx + 3]
call fcn.140003f80
mov dword [rbp + 0x48], eax
jmp 0x140004715
lea rcx, [rdx + 3]
call fcn.140003f80
mov dword [rbp + 0x54], eax
test r13d, r13d
je 0x140004720
mov r13d, 1
inc ebx
lea r9, [0x14001b7f0]
add rdi, 8
cmp ebx, r15d
jl 0x140004432
mov dword [rsp + 0x54], r13d
mov edi, 1
mov r13d, dword [rsp + 0x78]
cmp word [0x140055a88], 0
je 0x1400047e8
cmp dword [rsp + 0x54], 0
jne 0x140004763
cmp ebx, r15d
je 0x14000485c
mov rsi, qword [0x140057320]
mov dword [0x1400588a0], edi
mov dword [0x1400571fc], 0
test rsi, rsi
je 0x140004785
mov rsi, qword [rsi + 0x18]
jmp 0x14000478c
lea rsi, str.3proxy_0.9.3__201203211618_
mov rdi, qword [r14]
lea rcx, [0x140042864]
call fcn.140003cf0
mov ecx, 2
mov rbx, rax
call fcn.1400258bc
mov rcx, rax
lea rdx, [rbp + 0x580]
lea rax, [0x140042552]
mov qword [rsp + 0x48], rax
mov rax, qword [r14]
mov qword [rsp + 0x40], rax
mov rax, qword [0x140055a98]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rdx
lea rdx, str._s_of__s_nUsage:__s_options_nAvailable_options_are:_n_s_n_t_s_n__pPORT___service_port_to_accept_connections_n_s_tExample:__s__i127.0.0.1_n_n_s
jmp 0x14000571e
cmp dword [rsp + 0x54], 0
jne 0x1400056a0
lea eax, [rbx + 3]
cmp r15d, eax
jne 0x1400056a0
movsxd rbx, ebx
mov rcx, qword [r14 + rbx*8]
cmp byte [rcx], 0x2d
je 0x1400056a0
call fcn.140029984
mov ecx, eax
call qword [sym.imp.WS2_32.dll_htons]
mov word [rbp + 0x6a], ax
test ax, ax
je 0x1400056a0
mov rcx, qword [r14 + rbx*8 + 0x10]
call fcn.140029984
mov ecx, eax
call qword [sym.imp.WS2_32.dll_htons]
mov word [rbp + 0x160], ax
test ax, ax
je 0x1400056a0
mov rcx, qword [r14 + rbx*8 + 8]
call fcn.140031e4c
mov qword [rbp + 0x118], rax
mov rcx, qword [rbp + 0x148]
test rcx, rcx
je 0x1400048cd
cmp byte [rcx], 0x2d
jne 0x1400048cd
inc rcx
mov edx, 0x2b
call fcn.140024490
mov rdi, rax
test rax, rax
je 0x1400048cd
cmp byte [rax + 1], 0
je 0x1400048cd
mov rbx, qword [rbp + 0x148]
mov byte [rax], 0
mov rcx, qword [rbp + 0x148]
inc rcx
call fcn.140031e4c
mov qword [rbp + 0x158], rax
lea rcx, [rdi + 2]
movzx eax, byte [rdi + 1]
mov byte [rbp + 0x162], al
call fcn.140031e4c
mov qword [rbp + 0x148], rax
mov rcx, rbx
mov byte [rdi], 0x2b
call fcn.1400292f8
xor edx, edx
lea rcx, [rbp + 0x320]
lea r8d, [rdx + 0x54]
call fcn.140024b90
mov eax, dword [rbp + 0x80]
mov ebx, 2
movups xmm1, xmmword [rbp + 0x68]
mov dword [rbp + 0x300], eax
movsd xmm0, qword [rbp + 0x78]
mov dword [rbp + 0x31c], eax
mov eax, dword [rbp + 0x38]
mov word [rbp + 0x320], bx
mov word [rbp + 0x358], bx
movsd qword [rbp + 0x2f8], xmm0
movsd qword [rbp + 0x314], xmm0
movups xmmword [rbp + 0x2e8], xmm1
movups xmmword [rbp + 0x304], xmm1
cmp eax, 6
je 0x14000494f
cmp eax, 0x40
je 0x14000494f
movaps xmm0, xmmword [rbp + 0xa0]
movsd xmm1, qword [rbp + 0xb0]
mov eax, dword [rbp + 0xb8]
jmp 0x140004964
movups xmm0, xmmword [rbp + 0x84]
mov eax, dword [rbp + 0x9c]
movsd xmm1, qword [rbp + 0x94]
cmp word [rbp + 0x68], 0
mov dword [rbp + 0x354], eax
movsd qword [rbp + 0x34c], xmm1
movups xmmword [rbp + 0x33c], xmm0
jne 0x140004984
mov word [rbp + 0x68], bx
cmp word [rbp + 0x6a], 0
jne 0x14000499c
movzx ecx, word [0x140055a88]
call qword [sym.imp.WS2_32.dll_htons]
mov word [rbp + 0x6a], ax
mov word [rbp + 0xa0], bx
mov r14d, reloc.WS2_32.dll_socket
mov word [rbp + 0x84], r14w
test r12, r12
je 0x1400049cd
movzx r8d, word [0x140055a88]
lea rdx, [rbp + 0x170]
mov rcx, r12
call fcn.14001a450
mov rbx, qword [0x140057300]
xor edi, edi
mov ecx, edi
test rbx, rbx
je 0x140004b13
mov rax, rbx
mov qword [rbp + 0x140], rbx
nop dword [rax + rax]
mov rax, qword [rax]
inc ecx
mov qword [rbp + 0x140], rax
test rax, rax
jne 0x1400049f0
movsxd rax, ecx
imul rcx, rax, 0x68
call fcn.14002930c
mov qword [rbp + 0x140], rax
test rax, rax
je 0x140004b13
nop dword [rax]
mov rax, qword [rbx + 0x18]
test rax, rax
je 0x140004b07
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp - 0x50]
call rax
mov rdx, rax
test rax, rax
je 0x140004b07
movsxd rax, dword [rbp + 0x1c]
movups xmm0, xmmword [rbx]
imul rcx, rax, 0x68
mov rax, qword [rbp + 0x140]
movups xmmword [rcx + rax], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rcx + rax + 0x10], xmm1
movups xmm0, xmmword [rbx + 0x20]
movups xmmword [rcx + rax + 0x20], xmm0
movups xmm1, xmmword [rbx + 0x30]
movups xmmword [rcx + rax + 0x30], xmm1
movups xmm0, xmmword [rbx + 0x40]
movups xmmword [rcx + rax + 0x40], xmm0
movups xmm1, xmmword [rbx + 0x50]
movups xmmword [rcx + rax + 0x50], xmm1
movsd xmm0, qword [rbx + 0x60]
movsd qword [rcx + rax + 0x60], xmm0
movsxd rax, dword [rbp + 0x1c]
imul rcx, rax, 0x68
mov rax, qword [rbp + 0x140]
mov qword [rcx + rax + 0x10], rdx
movsxd rcx, dword [rbp + 0x1c]
test ecx, ecx
jle 0x140004acc
mov rdx, qword [rbp + 0x140]
lea eax, [rcx - 1]
imul r8, rcx, 0x68
movsxd rcx, eax
add r8, rdx
imul rax, rcx, 0x68
mov qword [rax + rdx], r8
mov ecx, dword [rbp + 0x1c]
inc ecx
mov dword [rbp + 0x1c], ecx
cmp qword [rbx + 0x28], rdi
je 0x140004ada
inc dword [rbp + 0x20]
cmp qword [rbx + 0x38], rdi
je 0x140004ae3
inc dword [rbp + 0x28]
cmp qword [rbx + 0x30], rdi
je 0x140004aec
inc dword [rbp + 0x24]
cmp qword [rbx + 0x40], rdi
je 0x140004af5
inc dword [rbp + 0x2c]
cmp qword [rbx + 0x50], rdi
je 0x140004afe
inc dword [rbp + 0x34]
cmp qword [rbx + 0x48], rdi
je 0x140004b07
inc dword [rbp + 0x30]
mov rbx, qword [rbx]
test rbx, rbx
jne 0x140004a20
mov ebx, dword [rsp + 0x50]
mov esi, SQLFreeHandle
mov r15d, dword [rsp + 0x60]
mov dword [0x1400571fc], edi
test ebx, ebx
jne 0x140004dc8
cmp qword [rbp - 0x18], 0xffffffffffffffff
jne 0x140004c09
test r15d, r15d
jne 0x140004b71
cmp word [rbp + 0x68], r14w
lea r8d, [rsi - 0x16]
movzx eax, word [0x14005719c]
mov ebx, 1
mov ecx, 2
mov word [rsp + 0x6c], bx
cmove ecx, r14d
mov word [rsp + 0x6e], ax
mov edx, ebx
call qword [0x1400570d0]
jmp 0x140004b92
cmp word [rbp + 0x68], r14w
mov eax, 2
mov ecx, eax
mov edx, eax
cmove ecx, r14d
lea r8d, [rax + 0xf]
call qword [0x1400570d0]
mov ebx, 1
mov r14, rax
cmp rax, 0xffffffffffffffff
jne 0x140004bb0
lea rcx, str.socket__
call fcn.140025f70
lea eax, [r14 - 1]
jmp 0x140005733
mov edx, dword [rbp + 0x50]
mov rcx, r14
call fcn.140003c50
lea r8, [rsp + 0x68]
mov edx, 0x8004667e
mov rcx, r14
call qword [sym.imp.WS2_32.dll_ioctlsocket]
lea r9, [rsp + 0x58]
mov qword [rbp - 0x18], r14
mov edx, 0xffff
mov dword [rsp + 0x58], ebx
mov r8d, 4
mov dword [rsp + 0x20], 4
mov rcx, r14
call qword [0x140057110]
test eax, eax
je 0x140004c0d
lea rcx, str.setsockopt__
call fcn.140025f70
jmp 0x140004c0d
mov r14, qword [rbp - 0x78]
cmp word [rbp + 0x68], 0x17
lea rdx, [rbp + 0x68]
mov r8d, reloc.WS2_32.dll_recv
mov dword [rsp + 0x5c], esi
cmove r8d, esi
mov rcx, r14
mov ebx, 0x64
call qword [0x1400570e0]
cmp eax, 0xffffffff
jne 0x140004ca3
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, eax
call fcn.140029b3c
mov r8, rax
lea rdx, str.bind__:__s
lea rcx, [rbp + 0x480]
call fcn.140002420
cmp dword [rbp + 0x14], edi
jne 0x140004c72
lea rdx, [rbp + 0x480]
lea rcx, [rbp + 0x170]
call fcn.14001aa70
add ebx, ebx
je 0x140004d03
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp word [rbp + 0x68], 0x17
lea rdx, [rbp + 0x68]
mov r8d, reloc.WS2_32.dll_recv
mov rcx, r14
cmove r8d, esi
call qword [0x1400570e0]
cmp eax, 0xffffffff
je 0x140004c37
test r15d, r15d
jne 0x140004d16
mov edx, dword [rbp - 4]
mov rcx, r14
sar edx, 4
inc edx
call qword [0x1400570e8]
cmp eax, 0xffffffff
jne 0x140004d1d
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, eax
call fcn.140029b3c
mov r8, rax
lea rdx, str.listen__:__s
lea rcx, [rbp + 0x480]
call fcn.140002420
cmp dword [rbp + 0x14], edi
jne 0x140004cf9
lea rdx, [rbp + 0x480]
lea rcx, [rbp + 0x170]
call fcn.14001aa70
mov eax, 0xfffffffc
jmp 0x140005733
mov rcx, r14
call qword [0x140057148]
mov eax, 0xfffffffd
jmp 0x140005733
mov qword [rbp + 0x1e0], r14
cmp dword [rbp + 0x14], edi
jne 0x140004d5c
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov r9d, ebx
lea rdx, str.Accepting_connections___u__u_
mov r8d, eax
lea rcx, [rbp + 0x480]
call fcn.140002420
lea rdx, [rbp + 0x480]
lea rcx, [rbp + 0x170]
call fcn.14001aa70
mov ebx, dword [rsp + 0x50]
cmp dword [rsp + 0x64], edi
je 0x140004e78
mov rdx, qword [rbp - 0x80]
lea r8, [rbp + 0x460]
mov ecx, dword [rbp + 0x38]
call fcn.14001a340
cmp word [rbp + 0x460], 0x17
mov eax, reloc.WS2_32.dll_socket
mov ecx, 2
mov edi, 1
cmove ecx, eax
mov edx, edi
lea r8d, [rax - 0x11]
call qword [0x1400570d0]
mov qword [rbp - 0x10], rax
cmp rax, 0xffffffffffffffff
jne 0x140004dce
lea rdx, str.Failed_to_allocate_connect_back_socket
lea rcx, [rbp + 0x170]
call fcn.14001aa70
lea eax, [rdi - 7]
jmp 0x140005733
mov r14, qword [rbp - 0x78]
jmp 0x140004d60
lea r9, [rsp + 0x58]
mov dword [rsp + 0x58], edi
mov edx, 0xffff
mov dword [rsp + 0x20], 4
mov r8d, 4
mov rcx, rax
call qword [0x140057110]
mov edx, dword [rbp + 0x58]
mov rcx, qword [rbp - 0x10]
call fcn.140003c50
cmp word [rbp + 0x460], 0x17
lea rdx, [rbp + 0x460]
mov rcx, qword [rbp - 0x10]
mov r8d, reloc.WS2_32.dll_recv
cmove r8d, esi
call qword [0x1400570e0]
cmp eax, 0xffffffff
jne 0x140004e44
lea rdx, str.Failed_to_bind_connect_back_socket
lea rcx, [rbp + 0x170]
call fcn.14001aa70
mov eax, 0xfffffff9
jmp 0x140005733
mov edx, dword [rbp - 4]
mov rcx, qword [rbp - 0x10]
sar edx, 4
inc edx
call qword [0x1400570e8]
cmp eax, 0xffffffff
jne 0x140004e78
lea rdx, str.Failed_to_listen_connect_back_socket
lea rcx, [rbp + 0x170]
call fcn.14001aa70
mov eax, 0xfffffff8
jmp 0x140005733
mov edi, dword [rsp + 0x54]
mov edx, 0x300
mov rsi, qword [rbp - 0x60]
mov r12, qword [rsp + 0x70]
mov word [rbp + 0x108], dx
mov qword [rbp + 0x100], r14
nop dword [rax + rax]
mov eax, dword [0x14005720c]
mov ecx, dword [rbp]
cmp eax, ecx
jne 0x140004f1b
mov r12d, 1
mov r8d, dword [rbp - 8]
mov r9d, dword [rbp - 4]
cmp r8d, r9d
jl 0x140004f11
inc r13d
cmp dword [rbp + 0x14], 0
jne 0x140004efb
cmp r13d, 0x1388
jle 0x140004efb
lea rdx, str.Warning:_too_many_connected_clients___d__d_
lea rcx, [rbp + 0x480]
call fcn.140002420
lea rdx, [rbp + 0x480]
lea rcx, [rbp + 0x170]
call fcn.14001aa70
xor r13d, r13d
mov ecx, r12d
call qword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [0x14005720c]
mov ecx, dword [rbp]
cmp eax, ecx
je 0x140004eb3
mov r12, qword [rsp + 0x70]
mov edx, 0x300
test ebx, ebx
jne 0x140004fdb
cmp eax, ecx
jne 0x1400054d2
test word [rbp + 0x108], dx
je 0x14000508c
lea edx, [rbx + 1]
mov r8d, 0x3e8
lea rcx, [rbp + 0x100]
call qword [0x140057118]
mov edi, eax
cmp eax, 1
jge 0x140004fd2
test eax, eax
je 0x140004f66
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x140004f70
mov edx, 0x300
jmp 0x140004ea0
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x140004f87
mov edx, 0x300
jmp 0x140004ea0
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, eax
call fcn.140029b3c
mov r8, rax
lea rdx, str.poll__:__s__d
mov r9d, ebx
lea rcx, [rbp + 0x480]
call fcn.140002420
cmp dword [rbp + 0x14], 0
jne 0x140004fce
lea rdx, [rbp + 0x480]
lea rcx, [rbp + 0x170]
call fcn.14001aa70
mov ebx, dword [rsp + 0x50]
mov ecx, dword [rbp]
mov eax, dword [0x14005720c]
cmp eax, ecx
jne 0x1400054d2
test edi, edi
js 0x1400054d2
xor eax, eax
mov edi, eax
test r15d, r15d
jne 0x140005257
mov eax, SQLFreeHandle
mov dword [rsp + 0x5c], eax
test ebx, ebx
je 0x1400050d9
cmp word [rbp + 0x304], 0x17
lea r8d, [r15 + 6]
mov eax, reloc.WS2_32.dll_socket
mov ecx, 2
cmove ecx, eax
lea edx, [rax - 0x16]
call qword [0x1400570d0]
mov rsi, rax
cmp rax, 0xffffffffffffffff
je 0x14000508c
mov edx, dword [rbp + 0x54]
mov rcx, rax
call fcn.140003c50
mov ecx, dword [rbp + 0x38]
lea r8, [rbp + 0x304]
mov rdx, r12
call fcn.14001a340
cmp word [rbp + 0x304], 0x17
lea r9d, [r15 + 9]
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rbp + 0x304]
mov eax, SQLFreeHandle
mov rcx, rsi
cmove r8d, eax
call fcn.14001a870
test eax, eax
je 0x1400050a1
mov rcx, rsi
call qword [0x140057148]
or rsi, 0xffffffffffffffff
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
mov edx, 0x300
jmp 0x140004ea0
mov r9d, 1
mov dword [rsp + 0x20], 0xea60
lea r8, [rbp + 0x480]
mov rcx, rsi
lea rdx, [rbp + 0x304]
call fcn.140019230
cmp eax, 1
jne 0x14000507f
cmp byte [rbp + 0x480], 0x43
je 0x140005195
jmp 0x14000507f
lea r8, [rsp + 0x5c]
mov rcx, r14
lea rdx, [rbp + 0x304]
call qword [0x1400570d8]
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x14000518a
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
sub eax, 0x2714
je 0x140005124
sub eax, 0x14
je 0x140005117
sub eax, 0x1a
je 0x140005117
cmp eax, 5
jne 0x140005129
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140005129
mov edi, 1
inc r13d
cmp dword [rbp + 0x14], 0
jne 0x140004f66
test edi, edi
jne 0x140005147
cmp r13d, 0x1388
jle 0x140004f66
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, eax
call fcn.140029b3c
mov r8, rax
lea rdx, str.accept__:__s
lea rcx, [rbp + 0x480]
call fcn.140002420
lea rdx, [rbp + 0x480]
lea rcx, [rbp + 0x170]
call fcn.14001aa70
xor r13d, r13d
mov edx, 0x300
jmp 0x140004ea0
mov edx, dword [rbp + 0x48]
mov rcx, rax
call fcn.140003c50
mov eax, SQLFreeHandle
lea r8, [rsp + 0x5c]
lea rdx, [rbp + 0x2e8]
mov dword [rsp + 0x5c], eax
mov rcx, rsi
call qword [0x140057100]
test eax, eax
je 0x140005200
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, eax
call fcn.140029b3c
mov r8, rax
lea rdx, str.getsockname__:__s
lea rcx, [rbp + 0x480]
call fcn.140002420
cmp dword [rbp + 0x14], edi
jne 0x140004f66
lea rdx, [rbp + 0x480]
lea rcx, [rbp + 0x170]
call fcn.14001aa70
mov edx, 0x300
jmp 0x140004ea0
lea r8, [rsp + 0x68]
mov edx, 0x8004667e
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_ioctlsocket]
lea r9, [rsp + 0x6c]
mov dword [rsp + 0x20], 4
mov edx, 0xffff
mov r8d, 0x80
mov rcx, rsi
call qword [0x140057110]
lea r9, [rsp + 0x58]
mov dword [rsp + 0x20], 4
mov edx, 0xffff
mov r8d, pe_nt_image_headers64
mov rcx, rsi
call qword [0x140057110]
jmp 0x14000525e
mov word [rbp + 0x108], ax
mov ecx, 0x2d0
call fcn.14002930c
mov rbx, rax
test rax, rax
jne 0x1400052b9
test r15d, r15d
jne 0x14000527e
mov rcx, rsi
call qword [0x140057148]
mov dword [rbp + 0x24c], reloc.WS2_32.dll_setsockopt
cmp dword [rbp + 0x14], edi
jne 0x1400052a0
lea rdx, str.Memory_Allocation_Failed
lea rcx, [rbp + 0x170]
call fcn.14001aa70
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ebx, dword [rsp + 0x50]
mov edx, 0x300
jmp 0x140004ea0
lea rcx, [rbp + 0x170]
mov edx, 5
lea rax, [rax + 0x80]
movups xmm0, xmmword [rcx]
lea rcx, [rcx + 0x80]
movups xmmword [rax - 0x80], xmm0
movups xmm1, xmmword [rcx - 0x70]
movups xmmword [rax - 0x70], xmm1
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rax - 0x60], xmm0
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rax - 0x50], xmm1
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rax - 0x40], xmm0
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rax - 0x30], xmm1
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rax - 0x20], xmm0
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rax - 0x10], xmm1
sub rdx, 1
jne 0x1400052c5
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x40], xmm0
mov rcx, qword [rbp + 0x280]
test rcx, rcx
je 0x140005356
call fcn.140031e4c
mov qword [rbx + 0x110], rax
mov rcx, rbx
call fcn.14001b960
test r15d, r15d
jne 0x140005367
mov qword [rbx + 0x70], rsi
mov rdx, rbx
lea rcx, [rbp - 0x50]
call fcn.140003070
cmp eax, 1
jle 0x14000538e
mov rcx, rbx
call fcn.140002490
mov ebx, dword [rsp + 0x50]
mov edx, 0x300
jmp 0x140004ea0
xor eax, eax
lea rcx, [rbp + 0xd8]
mov qword [rbx], rax
mov qword [rbx + 8], rax
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [rbp - 0x40]
test rax, rax
je 0x1400053b8
mov qword [rbx], rax
mov rax, qword [rbp - 0x40]
mov qword [rax + 8], rbx
mov edx, dword [rbp + 0x3c]
lea rax, [rsp + 0x7c]
mov qword [rsp + 0x28], rax
lea r8, [0x140003da0]
xor eax, eax
mov qword [rbp - 0x40], rbx
add edx, 0x4000
mov dword [rsp + 0x20], eax
mov r9, rbx
xor ecx, ecx
call fcn.140029d1c
inc dword [rbp - 8]
test rax, rax
je 0x140005403
mov ecx, dword [rsp + 0x7c]
mov dword [rbx + 0xe8], ecx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14000543d
xor ecx, ecx
call fcn.1400299b0
mov r8, rax
lea rdx, str._beginthreadex__:__s
lea rcx, [rbp + 0x480]
call fcn.140002420
cmp dword [rbp + 0x14], edi
jne 0x140005438
lea rdx, [rbp + 0x480]
lea rcx, [rbp + 0x170]
call fcn.14001aa70
mov edi, 1
lea rcx, [rbp + 0xd8]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test edi, edi
je 0x140005456
mov rcx, rbx
call fcn.140002490
mov ebx, dword [rsp + 0x50]
xor eax, eax
mov qword [rbp + 0x2e8], rax
mov edx, 0x300
mov qword [rbp + 0x2f0], rax
mov qword [rbp + 0x2f8], rax
mov qword [rbp + 0x300], rax
mov qword [rbp + 0x308], rax
mov qword [rbp + 0x310], rax
mov qword [rbp + 0x318], rax
test r15d, r15d
je 0x140004ea0
cmp word [rbp + 0x108], ax
jne 0x140004ea0
mov r12d, 1
nop
mov ecx, r12d
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp word [rbp + 0x108], 0
je 0x1400054b0
mov r12, qword [rsp + 0x70]
mov edx, 0x300
jmp 0x140004ea0
cmp dword [rbp + 0x14], 0
jne 0x1400054e9
lea rdx, str.Exiting_thread
lea rcx, [rbp + 0x170]
call qword [rbp - 0x30]
mov rcx, qword [rbp - 0x18]
cmp rcx, 0xffffffffffffffff
je 0x1400054f9
call qword [0x140057148]
mov rcx, qword [rbp - 0x10]
mov qword [rbp - 0x18], 0xffffffffffffffff
cmp rcx, 0xffffffffffffffff
je 0x140005511
call qword [0x140057148]
cmp qword [rbp - 0x40], 0
mov qword [rbp - 0x10], 0xffffffffffffffff
mov dword [rbp - 0x38], reloc.WS2_32.dll_ntohs
je 0x140005542
nop word [rax + rax]
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp qword [rbp - 0x40], 0
jne 0x140005530
mov rdx, qword [rbp + 0x140]
test rdx, rdx
je 0x140005597
mov ecx, dword [rbp + 0x1c]
test ecx, ecx
je 0x14000558f
nop word [rax + rax]
dec ecx
movsxd r8, ecx
imul rax, r8, 0x68
mov dword [rbp + 0x1c], ecx
cmp qword [rax + rdx + 0x60], 0
je 0x14000558b
imul rax, r8, 0x68
mov rcx, qword [rax + rdx + 0x10]
call qword [rax + rdx + 0x60]
mov rdx, qword [rbp + 0x140]
mov ecx, dword [rbp + 0x1c]
test ecx, ecx
jne 0x140005560
mov rcx, rdx
call fcn.1400292f8
mov rcx, qword [rbp + 0x130]
test rcx, rcx
je 0x1400055a8
call fcn.140002d50
mov rcx, qword [rbp + 0x138]
test rcx, rcx
je 0x1400055c4
mov rbx, qword [rcx]
call fcn.1400292f8
mov rcx, rbx
test rbx, rbx
jne 0x1400055b4
lea rcx, [rbp + 0xd8]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov rcx, qword [rbp + 0x118]
test rcx, rcx
je 0x1400055e2
call fcn.1400292f8
mov rcx, qword [rbp + 0x150]
test rcx, rcx
je 0x1400055f3
call fcn.1400292f8
mov rcx, qword [rbp + 0x148]
test rcx, rcx
je 0x140005604
call fcn.1400292f8
mov rcx, qword [rbp + 0x158]
test rcx, rcx
je 0x140005615
call fcn.1400292f8
lea rcx, [0x14005a200]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rcx, qword [rbp - 0x50]
test rcx, rcx
je 0x140005637
mov rax, qword [rbp - 0x48]
mov qword [rcx + 8], rax
mov rcx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x48]
test rax, rax
je 0x140005645
mov qword [rax], rcx
jmp 0x14000564c
mov qword [0x1400571f0], rcx
lea rcx, [0x14005a200]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [rbp + 0x280]
test rcx, rcx
je 0x14000566a
call fcn.1400292f8
test r12, r12
je 0x140005677
mov rcx, r12
call fcn.1400292f8
mov rax, qword [rbp - 0x80]
test rax, rax
je 0x140005688
mov rcx, rax
call fcn.1400292f8
mov rax, qword [rbp - 0x70]
test rax, rax
je 0x140005699
mov rcx, rax
call fcn.1400259c8
xor eax, eax
jmp 0x140005733
mov rsi, qword [0x140057320]
xor eax, eax
mov dword [0x1400588a0], edi
mov dword [0x1400571fc], eax
test rsi, rsi
je 0x1400056c0
mov rsi, qword [rsi + 0x18]
jmp 0x1400056c7
lea rsi, str.3proxy_0.9.3__201203211618_
mov rdi, qword [r14]
lea rcx, [0x140042864]
call fcn.140003cf0
mov ecx, 2
mov rbx, rax
call fcn.1400258bc
mov rdx, qword [r14]
mov rcx, rax
lea rax, [0x140042552]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x580]
mov qword [rsp + 0x40], rdx
mov rdx, qword [0x140055a98]
mov qword [rsp + 0x38], rdx
lea rdx, str._s_of__s_nUsage:__s_options___e_external_ip____port_to_bind___target_hostname___target_port__nAvailable_options_are:_n_s_n_t_s_n_s_tExample:__s__d__i127.0.0.1_6666_serv.somehost.ru_6666_n_n_s
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rax
mov r9, rsi
mov qword [rsp + 0x20], rdi
mov r8, rdi
call fcn.1400023d0
mov eax, 1
mov rcx, qword [rbp + 0x9c0]
xor rcx, rsp
call fcn.140023730
lea r11, [rsp + 0xad0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret