Function at 0x1400a7d70
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x18], r8
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
xor ebx, ebx
mov r14d, edx
mov r15, rcx
mov rbp, rbx
mov r13, rbx
mov r12d, ebx
mov esi, WSASetLastError
nop word [rax + rax]
mov rcx, qword [0x1402e8788]
call fcn.1401e6440
cmp esi, 0xb0
mov rdi, rax
jle 0x1400a7e61
test rax, rax
je 0x1400a7e11
mov r9d, 1
mov qword [rax], rbx
mov qword [rax + 8], rbx
mov dword [rax + 0x18], ebx
mov dword [rax + 0x1c], 2
mov word [rax + 0x20], r9w
add rax, 0x50
mov qword [rdi + 0x28], rbx
mov dword [rdi + 0x38], ebx
mov qword [rdi + 0x30], rbx
mov dword [rdi + 0x3c], ebx
mov dword [rdi + 0x40], ebx
mov qword [rdi + 0x10], rax
mov word [rdi + 0x44], bx
mov word [rdi + 0x46], bx
mov qword [rdi + 0x48], rbx
mov rcx, qword [0x1402e8790]
mov qword [rdi + 0x50], rbx
call fcn.1401e6440
mov rcx, qword [0x1402e8798]
mov rbx, rax
call fcn.1401e6440
mov ecx, 1
mov dword [rax], ecx
or dword [rdi + 0x1c], ecx
mov qword [rdi + 0x50], rbx
mov qword [rdi + 0x10], rbx
xor ebx, ebx
mov qword [rdi + 0x70], rax
mov dword [rdi + 0x68], 0x800
mov dword [rdi + 0x78], ecx
mov eax, 0x800
mov qword [rdi + 0x58], rbx
mov qword [rdi + 0x60], rbx
jmp 0x1400a7eda
mov ecx, 1
test r12b, 2
je 0x1400a7eb2
test rax, rax
je 0x1400a7eab
mov qword [rax], rbx
mov qword [rax + 8], rbx
mov dword [rax + 0x18], ebx
mov dword [rax + 0x1c], 2
mov word [rax + 0x20], cx
add rax, 0x50
mov qword [rdi + 0x28], rbx
mov dword [rdi + 0x38], ebx
mov qword [rdi + 0x30], rbx
mov qword [rdi + 0x10], rax
mov dword [rdi + 0x3c], ebx
mov dword [rdi + 0x40], ebx
mov word [rdi + 0x44], bx
mov word [rdi + 0x46], bx
mov qword [rdi + 0x48], rbx
mov eax, 0xb0
jmp 0x1400a7ed5
test rax, rax
je 0x1400a7ed0
mov qword [rax], rbx
mov qword [rax + 8], rbx
mov dword [rax + 0x18], ebx
mov dword [rax + 0x1c], ebx
mov word [rax + 0x20], cx
add rax, 0x28
mov qword [rdi + 0x10], rax
mov eax, 0xd8
cmp esi, eax
cmovl eax, esi
test rdi, rdi
je 0x1400a83a3
cmp eax, 0x6c
jl 0x1400a839e
sub esi, eax
test r13, r13
je 0x1400a7ef9
mov qword [r13], rdi
jmp 0x1400a7efc
mov rbp, rdi
and r12d, 0xfffffffd
mov r13, rdi
test esi, esi
jg 0x1400a7db0
test r12b, 4
je 0x1400a7f15
or dword [rdi + 0x1c], 4
test rbp, rbp
je 0x1400a83b0
mov r9d, ecx
mov r8d, 0x3b9aca00
mov edx, r14d
mov rcx, r15
call fcn.1400798c0
mov rbx, rax
test rax, rax
je 0x1400a83a8
mov rcx, qword [rsp + 0x70]
xor edx, edx
mov r8d, 0x3b9aca00
lea r9d, [rdx + 1]
call fcn.1400798c0
mov r14, rax
test rax, rax
jne 0x1400a7f6c
mov rcx, rbp
call fcn.1400795b0
mov rcx, rbx
jmp 0x1400a83ab
mov rdi, qword [rbp + 0x10]
mov ecx, 7
mov dword [rbp + 0x18], WSASetLastError
mov qword [rsp + 0x28], rdi
call sub.WS2_32.dll_htons
mov rdx, qword [rsp + 0x80]
xor esi, esi
lea rcx, [rdi + 4]
mov word [rdi], ax
lea r8d, [rsi + 0x68]
mov word [rdi + 2], si
call fcn.1401e75a0
xor edx, edx
mov rax, rbp
mov r12w, dx
nop dword [rax]
mov rcx, qword [rax]
add r12w, word [rax + 0x18]
test rcx, rcx
je 0x1400a7fc2
mov rax, rcx
jmp 0x1400a7fb0
mov qword [rax], rbx
nop word [rax + rax]
mov rax, qword [rbx]
add r12w, word [rbx + 0x18]
test rax, rax
je 0x1400a7fe2
mov rbx, rax
jmp 0x1400a7fd0
mov qword [rbx], r14
nop word [rax + rax]
mov rax, qword [r14]
add r12w, word [r14 + 0x18]
test rax, rax
je 0x1400a8002
mov r14, rax
jmp 0x1400a7ff0
mov r13d, reloc.WS2_32.dll_sendto
mov rbx, rdx
mov qword [rsp + 0x20], rdx
mov r15d, edx
mov rcx, qword [0x1402e8788]
call fcn.1401e6440
cmp r13d, 0xb0
mov rdi, rax
jle 0x1400a80cd
xor ecx, ecx
test rax, rax
je 0x1400a8075
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov dword [rax + 0x18], ecx
mov dword [rax + 0x1c], 2
mov eax, 1
mov qword [rdi + 0x28], rcx
mov word [rdi + 0x20], ax
lea rax, [rdi + 0x50]
mov dword [rdi + 0x38], ecx
mov qword [rdi + 0x30], rcx
mov dword [rdi + 0x3c], ecx
mov dword [rdi + 0x40], ecx
mov qword [rdi + 0x10], rax
mov word [rdi + 0x44], cx
mov word [rdi + 0x46], cx
mov qword [rdi + 0x48], rcx
mov qword [rdi + 0x50], rcx
mov rcx, qword [0x1402e8790]
call fcn.1401e6440
mov rcx, qword [0x1402e8798]
mov rbx, rax
call fcn.1401e6440
mov ecx, 1
mov dword [rax], ecx
or dword [rdi + 0x1c], ecx
xor edx, edx
mov qword [rdi + 0x50], rbx
mov qword [rdi + 0x10], rbx
mov rbx, qword [rsp + 0x20]
mov qword [rdi + 0x70], rax
mov qword [rdi + 0x58], rdx
mov qword [rdi + 0x60], rdx
mov dword [rdi + 0x68], 0x800
mov dword [rdi + 0x78], ecx
mov eax, 0x800
jmp 0x1400a814f
xor edx, edx
test r15b, 2
je 0x1400a8120
test rax, rax
je 0x1400a8119
mov qword [rax], rdx
mov qword [rax + 8], rdx
mov dword [rax + 0x18], edx
mov dword [rax + 0x1c], 2
mov eax, 1
mov qword [rdi + 0x28], rdx
mov word [rdi + 0x20], ax
lea rax, [rdi + 0x50]
mov dword [rdi + 0x38], edx
mov qword [rdi + 0x30], rdx
mov dword [rdi + 0x3c], edx
mov dword [rdi + 0x40], edx
mov qword [rdi + 0x10], rax
mov word [rdi + 0x44], dx
mov word [rdi + 0x46], dx
mov qword [rdi + 0x48], rdx
mov eax, 0xb0
jmp 0x1400a8148
test rax, rax
je 0x1400a8143
mov qword [rax], rdx
mov qword [rax + 8], rdx
mov dword [rax + 0x18], edx
mov dword [rax + 0x1c], edx
mov eax, 1
mov word [rdi + 0x20], ax
lea rax, [rdi + 0x28]
mov qword [rdi + 0x10], rax
mov eax, 0xd8
cmp r13d, eax
cmovl eax, r13d
test rdi, rdi
je 0x1400a8275
cmp eax, 0x14
jl 0x1400a81e0
sub r13d, eax
test rbx, rbx
je 0x1400a816e
mov qword [rbx], rdi
jmp 0x1400a8171
mov rsi, rdi
mov rbx, rdi
and r15d, 0xfffffffd
mov qword [rsp + 0x20], rbx
test r13d, r13d
jg 0x1400a8013
test r15b, 4
je 0x1400a8190
or dword [rdi + 0x1c], 4
test rsi, rsi
je 0x1400a8310
mov qword [r14], rsi
lea ecx, [r12 + 0x14]
mov dword [rsi + 0x18], reloc.WS2_32.dll_sendto
call sub.WS2_32.dll_htons
mov rcx, qword [rsp + 0x28]
mov word [rcx + 2], ax
mov rcx, qword [rsi + 0x10]
mov rax, qword [rsp + 0x88]
mov qword [rax], rcx
xor eax, eax
mov qword [rcx], rax
mov qword [rcx + 8], rax
mov dword [rcx + 0x10], eax
mov rax, rbp
jmp 0x1400a83b2
mov ebx, dword [rdi + 0x1c]
mov rsi, qword [rdi]
test bl, 1
je 0x1400a8242
mov rax, qword [rdi + 0x70]
and ebx, 0x40000
or ecx, 0xffffffff
lock xadd dword [rax], ecx
cmp ecx, 1
jne 0x1400a821e
cmp dword [rdi + 0x78], ecx
jne 0x1400a821e
mov rcx, qword [rdi + 0x50]
call fcn.1401e64f8
mov rcx, qword [rdi + 0x70]
call fcn.1401e64f8
xor edx, edx
mov qword [rdi + 0x70], rdx
test ebx, ebx
jne 0x1400a825f
and dword [rdi + 0x1c], 0xfffffffe
test byte [rdi + 0x1c], 2
mov qword [rdi + 0x50], rdx
mov qword [rdi + 0x58], rdx
mov qword [rdi + 0x60], rdx
mov qword [rdi + 0x70], rdx
mov dword [rdi + 0x68], edx
mov dword [rdi + 0x78], edx
jmp 0x1400a824b
bt ebx, 0x12
jb 0x1400a825f
test bl, 2
je 0x1400a8257
xor edx, edx
mov rcx, rdi
call fcn.1400794f0
mov rcx, rdi
call fcn.1401e64f8
mov rdi, rsi
mov edx, 0
test rsi, rsi
jne 0x1400a81e0
jmp 0x1400a8310
test rsi, rsi
je 0x1400a8310
nop
mov ebx, dword [rsi + 0x1c]
mov rdi, qword [rsi]
test bl, 1
je 0x1400a82e2
mov rax, qword [rsi + 0x70]
and ebx, 0x40000
or ecx, 0xffffffff
lock xadd dword [rax], ecx
cmp ecx, 1
jne 0x1400a82be
cmp dword [rsi + 0x78], ecx
jne 0x1400a82be
mov rcx, qword [rsi + 0x50]
call fcn.1401e64f8
mov rcx, qword [rsi + 0x70]
call fcn.1401e64f8
xor edx, edx
mov qword [rsi + 0x70], rdx
test ebx, ebx
jne 0x1400a82ff
and dword [rsi + 0x1c], 0xfffffffe
test byte [rsi + 0x1c], 2
mov qword [rsi + 0x50], rdx
mov qword [rsi + 0x58], rdx
mov qword [rsi + 0x60], rdx
mov qword [rsi + 0x70], rdx
mov dword [rsi + 0x68], edx
mov dword [rsi + 0x78], edx
jmp 0x1400a82eb
bt ebx, 0x12
jb 0x1400a82ff
test bl, 2
je 0x1400a82f7
xor edx, edx
mov rcx, rsi
call fcn.1400794f0
mov rcx, rsi
call fcn.1401e64f8
mov rsi, rdi
mov edx, 0
test rdi, rdi
jne 0x1400a8280
xor esi, esi
mov ebx, dword [rbp + 0x1c]
mov rdi, qword [rbp]
test bl, 1
je 0x1400a8373
mov rax, qword [rbp + 0x70]
and ebx, 0x40000
or ecx, 0xffffffff
lock xadd dword [rax], ecx
cmp ecx, 1
jne 0x1400a834f
cmp dword [rbp + 0x78], ecx
jne 0x1400a834f
mov rcx, qword [rbp + 0x50]
call fcn.1401e64f8
mov rcx, qword [rbp + 0x70]
call fcn.1401e64f8
mov qword [rbp + 0x70], rsi
test ebx, ebx
jne 0x1400a8390
and dword [rbp + 0x1c], 0xfffffffe
test byte [rbp + 0x1c], 2
mov qword [rbp + 0x50], rsi
mov qword [rbp + 0x58], rsi
mov qword [rbp + 0x60], rsi
mov qword [rbp + 0x70], rsi
mov dword [rbp + 0x68], esi
mov dword [rbp + 0x78], esi
jmp 0x1400a837c
bt ebx, 0x12
jb 0x1400a8390
test bl, 2
je 0x1400a8388
xor edx, edx
mov rcx, rbp
call fcn.1400794f0
mov rcx, rbp
call fcn.1401e64f8
mov rbp, rdi
test rdi, rdi
jne 0x1400a8312
jmp 0x1400a83b0
mov rcx, rdi
jmp 0x1400a83ab
test rbp, rbp
je 0x1400a83b0
mov rcx, rbp
call fcn.1400795b0
xor eax, eax
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret