Function at 0x1400ef400
Capabilities:
Connect socket
Resolve dns

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
lea rbp, [rax - 0x38]
sub rsp, 0x120
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x1403ad830]
xor rax, rsp
mov qword [rbp + 0x10], rax
mov rbx, rcx
call fcn.14001f680
test al, al
je 0x1400ef44c
mov eax, 0xffffffff
jmp 0x1400ef828
mov eax, dword [rbx + 0x28]
test eax, eax
jle 0x1400ef442
cmp eax, 0xffff
jg 0x1400ef442
movzx eax, byte [rbx + 0x69]
test al, al
jne 0x1400ef46b
mov byte [rbx + 0x69], 1
call fcn.140031c50
cmp byte [rbx + 0x2c], 0
je 0x1400ef57b
cmp byte [rbx + 0x6a], 0
je 0x1400ef489
mov byte [rbx + 0x6a], 0
call fcn.1401801a0
call fcn.14017f970
cmp qword [rbx + 0x70], 0
jne 0x1400ef55c
call fcn.140175780
mov rcx, rax
call fcn.14017b280
mov qword [rbx + 0x70], rax
test rax, rax
je 0x1400ef442
lea rcx, [rbx + 0x30]
call fcn.140028de0
test al, al
je 0x1400ef54e
xor r8d, r8d
lea rdx, [rbp - 0x50]
lea rcx, [rbx + 0x30]
call fcn.140022e40
cmp qword [rax + 0x18], 0x10
jb 0x1400ef4d5
mov rax, qword [rax]
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rbx + 0x70]
call fcn.14017b050
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb 0x1400ef51f
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400ef51a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ef9e1
call fcn.140283144
movdqa xmm0, xmmword [0x1402d0510]
movdqu xmmword [rbp - 0x40], xmm0
mov byte [rbp - 0x50], 0
mov rcx, qword [rbx + 0x70]
call fcn.14017b620
mov edx, 1
mov rcx, qword [rbx + 0x70]
call fcn.14017b7d0
mov edx, 1
jmp 0x1400ef550
xor edx, edx
xor r8d, r8d
mov rcx, qword [rbx + 0x70]
call fcn.14017b770
mov rax, qword [rbx + 0x78]
test rax, rax
jne 0x1400ef57b
mov rcx, qword [rbx + 0x70]
call fcn.140180240
mov qword [rbx + 0x78], rax
test rax, rax
je 0x1400ef442
mov rcx, qword [rbx + 0x58]
cmp rcx, 0xffffffffffffffff
je 0x1400ef5a6
cmp byte [rbx + 0x2c], 0
je 0x1400ef598
mov rcx, qword [rbx + 0x78]
call fcn.1401809d0
mov rcx, qword [rbx + 0x58]
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx + 0x58], 0xffffffffffffffff
mov rcx, rbx
call fcn.140026430
xor esi, esi
test al, al
jne 0x1400ef727
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], rsi
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.1400319c0
mov r14, qword [rsp + 0x28]
mov rcx, r14
mov rdi, qword [rsp + 0x20]
sub rcx, rdi
movabs r15, 0x6666666666666667
mov rax, r15
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
jne 0x1400ef685
test rdi, rdi
je 0x1400ef67b
cmp rdi, r14
je 0x1400ef62a
mov r8, qword [rdi]
xor edx, edx
mov rcx, rdi
call qword [r8]
add rdi, 0x28
cmp rdi, r14
jne 0x1400ef611
mov rdi, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
sub rcx, rdi
mov rax, r15
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*4]
shl rdx, 3
mov rax, rdi
cmp rdx, 0x1000
jb 0x1400ef673
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ef9e7
mov rcx, rdi
call fcn.140283144
mov eax, 0xfffffffe
jmp 0x1400ef828
mov rdx, rdi
mov rcx, rbx
call fcn.14001d690
nop
mov rdi, qword [rsp + 0x20]
test rdi, rdi
je 0x1400ef727
mov r14, qword [rsp + 0x28]
cmp rdi, r14
je 0x1400ef6c8
nop dword [rax]
mov rax, qword [rdi]
xor edx, edx
mov rcx, rdi
call qword [rax]
add rdi, 0x28
cmp rdi, r14
jne 0x1400ef6b0
mov rdi, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
sub rcx, rdi
mov rax, r15
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*4]
shl rdx, 3
mov rax, rdi
cmp rdx, 0x1000
jb 0x1400ef711
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ef9ed
mov rcx, rdi
call fcn.140283144
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], rsi
mov byte [rbx + 0x68], 0
mov rcx, rbx
call fcn.140026460
test al, al
je 0x1400ef851
xor r8d, r8d
lea edx, [r8 + 1]
mov edi, 2
mov ecx, edi
call qword [sym.imp.WS2_32.dll_socket]
mov qword [rbx + 0x58], rax
cmp rax, 0xffffffffffffffff
je 0x1400ef67b
mov word [rbp - 0x60], di
xor r8d, r8d
lea rdx, [rbp - 0x30]
mov rcx, rbx
call fcn.140022e40
cmp qword [rax + 0x18], 0x10
jb 0x1400ef77a
mov rax, qword [rax]
mov rcx, rax
call qword [sym.imp.WS2_32.dll_inet_addr]
mov dword [rbp - 0x5c], eax
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x1400ef7c1
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400ef7bc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ef9f3
call fcn.140283144
movdqa xmm0, xmmword [0x1402d0510]
movdqu xmmword [rbp - 0x20], xmm0
mov byte [rbp - 0x30], 0
movzx ecx, word [rbx + 0x28]
call qword [sym.imp.WS2_32.dll_htons]
mov word [rbp - 0x5e], ax
mov r8d, reloc.ODBC32.dll_SQLFreeStmt
lea rdx, [rbp - 0x60]
mov rcx, qword [rbx + 0x58]
call qword [sym.imp.WS2_32.dll_connect]
test eax, eax
jne 0x1400ef811
cmp byte [rbx + 0x2c], al
je 0x1400ef809
mov rcx, rbx
call fcn.1400efd20
test al, al
je 0x1400ef823
mov byte [rbx + 0x68], 1
xor eax, eax
jmp 0x1400ef828
mov rcx, qword [rbx + 0x58]
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx + 0x58], 0xffffffffffffffff
mov eax, 0xfffffffd
mov rcx, qword [rbp + 0x10]
xor rcx, rsp
call fcn.140283120
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
mov rcx, rbx
call fcn.140026680
test al, al
je 0x1400ef823
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x40], esi
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x60], xmm1
mov dword [rsp + 0x44], reloc.WS2_32.dll_socket
mov dword [rsp + 0x48], 1
mov dword [rsp + 0x4c], 6
mov qword [rbp - 0x68], reloc.WS2_32.dll_ntohs
movzx eax, byte [rbx + 0x28]
mov qword [rbp - 0x70], 1
mov byte [rbp - 0x80], al
mov byte [rbp - 0x7f], 0
xor r8d, r8d
lea rdx, [rbp - 0x10]
mov rcx, rbx
call fcn.140022e40
lea rdx, [rbp - 0x80]
cmp qword [rbp - 0x68], 0x10
cmovae rdx, qword [rbp - 0x80]
cmp qword [rax + 0x18], 0x10
jb 0x1400ef8d2
mov rax, qword [rax]
lea r9, [rsp + 0x38]
lea r8, [rsp + 0x40]
mov rcx, rax
call qword [sym.imp.WS2_32.dll_getaddrinfo]
mov rdx, qword [rbp + 8]
cmp rdx, 0x10
jb 0x1400ef920
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400ef91b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ef9f9
call fcn.140283144
movdqa xmm0, xmmword [0x1402d0510]
movdqu xmmword [rbp], xmm0
mov byte [rbp - 0x10], 0
mov rax, qword [rsp + 0x38]
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 8]
mov ecx, dword [rax + 4]
call qword [sym.imp.WS2_32.dll_socket]
mov qword [rbx + 0x58], rax
cmp rax, 0xffffffffffffffff
jne 0x1400ef955
lea esi, [rax - 1]
jmp 0x1400ef99d
mov rdx, qword [rsp + 0x38]
mov r8d, dword [rdx + 0x10]
mov rdx, qword [rdx + 0x20]
mov rcx, rax
call qword [sym.imp.WS2_32.dll_connect]
test eax, eax
jne 0x1400ef986
cmp byte [rbx + 0x2c], al
je 0x1400ef980
mov rcx, rbx
call fcn.1400efd20
test al, al
je 0x1400ef998
mov byte [rbx + 0x68], 1
jmp 0x1400ef99d
mov rcx, qword [rbx + 0x58]
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx + 0x58], 0xffffffffffffffff
mov esi, 0xfffffffd
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x1400ef9d4
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400ef9cf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ef9db
call fcn.140283144
mov eax, esi
jmp 0x1400ef828
call fcn.140287d84
int3
call fcn.140287d84
int3
call fcn.140287d84
int3
call fcn.140287d84
int3
call fcn.140287d84
nop
call fcn.140287d84
int3