Function at 0x1400a58e0
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 [0x1402e6b48]
call fcn.1401e3610
cmp esi, 0xb0
mov rdi, rax
jle 0x1400a59d1
test rax, rax
je 0x1400a5981
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 [0x1402e6b50]
mov qword [rdi + 0x50], rbx
call fcn.1401e3610
mov rcx, qword [0x1402e6b58]
mov rbx, rax
call fcn.1401e3610
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 0x1400a5a4a
mov ecx, 1
test r12b, 2
je 0x1400a5a22
test rax, rax
je 0x1400a5a1b
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 0x1400a5a45
test rax, rax
je 0x1400a5a40
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 0x1400a5f13
cmp eax, 0x6c
jl 0x1400a5f0e
sub esi, eax
test r13, r13
je 0x1400a5a69
mov qword [r13], rdi
jmp 0x1400a5a6c
mov rbp, rdi
and r12d, 0xfffffffd
mov r13, rdi
test esi, esi
jg 0x1400a5920
test r12b, 4
je 0x1400a5a85
or dword [rdi + 0x1c], 4
test rbp, rbp
je 0x1400a5f20
mov r9d, ecx
mov r8d, 0x3b9aca00
mov edx, r14d
mov rcx, r15
call fcn.140077430
mov rbx, rax
test rax, rax
je 0x1400a5f18
mov rcx, qword [rsp + 0x70]
xor edx, edx
mov r8d, 0x3b9aca00
lea r9d, [rdx + 1]
call fcn.140077430
mov r14, rax
test rax, rax
jne 0x1400a5adc
mov rcx, rbp
call fcn.140077120
mov rcx, rbx
jmp 0x1400a5f1b
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.1401e3ed0
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 0x1400a5b32
mov rax, rcx
jmp 0x1400a5b20
mov qword [rax], rbx
nop word [rax + rax]
mov rax, qword [rbx]
add r12w, word [rbx + 0x18]
test rax, rax
je 0x1400a5b52
mov rbx, rax
jmp 0x1400a5b40
mov qword [rbx], r14
nop word [rax + rax]
mov rax, qword [r14]
add r12w, word [r14 + 0x18]
test rax, rax
je 0x1400a5b72
mov r14, rax
jmp 0x1400a5b60
mov r13d, reloc.WS2_32.dll_sendto
mov rbx, rdx
mov qword [rsp + 0x20], rdx
mov r15d, edx
mov rcx, qword [0x1402e6b48]
call fcn.1401e3610
cmp r13d, 0xb0
mov rdi, rax
jle 0x1400a5c3d
xor ecx, ecx
test rax, rax
je 0x1400a5be5
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 [0x1402e6b50]
call fcn.1401e3610
mov rcx, qword [0x1402e6b58]
mov rbx, rax
call fcn.1401e3610
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 0x1400a5cbf
xor edx, edx
test r15b, 2
je 0x1400a5c90
test rax, rax
je 0x1400a5c89
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 0x1400a5cb8
test rax, rax
je 0x1400a5cb3
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 0x1400a5de5
cmp eax, 0x14
jl 0x1400a5d50
sub r13d, eax
test rbx, rbx
je 0x1400a5cde
mov qword [rbx], rdi
jmp 0x1400a5ce1
mov rsi, rdi
mov rbx, rdi
and r15d, 0xfffffffd
mov qword [rsp + 0x20], rbx
test r13d, r13d
jg 0x1400a5b83
test r15b, 4
je 0x1400a5d00
or dword [rdi + 0x1c], 4
test rsi, rsi
je 0x1400a5e80
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 0x1400a5f22
mov ebx, dword [rdi + 0x1c]
mov rsi, qword [rdi]
test bl, 1
je 0x1400a5db2
mov rax, qword [rdi + 0x70]
and ebx, 0x40000
or ecx, 0xffffffff
lock xadd dword [rax], ecx
cmp ecx, 1
jne 0x1400a5d8e
cmp dword [rdi + 0x78], ecx
jne 0x1400a5d8e
mov rcx, qword [rdi + 0x50]
call fcn.1401e36c8
mov rcx, qword [rdi + 0x70]
call fcn.1401e36c8
xor edx, edx
mov qword [rdi + 0x70], rdx
test ebx, ebx
jne 0x1400a5dcf
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 0x1400a5dbb
bt ebx, 0x12
jb 0x1400a5dcf
test bl, 2
je 0x1400a5dc7
xor edx, edx
mov rcx, rdi
call fcn.140077060
mov rcx, rdi
call fcn.1401e36c8
mov rdi, rsi
mov edx, 0
test rsi, rsi
jne 0x1400a5d50
jmp 0x1400a5e80
test rsi, rsi
je 0x1400a5e80
nop
mov ebx, dword [rsi + 0x1c]
mov rdi, qword [rsi]
test bl, 1
je 0x1400a5e52
mov rax, qword [rsi + 0x70]
and ebx, 0x40000
or ecx, 0xffffffff
lock xadd dword [rax], ecx
cmp ecx, 1
jne 0x1400a5e2e
cmp dword [rsi + 0x78], ecx
jne 0x1400a5e2e
mov rcx, qword [rsi + 0x50]
call fcn.1401e36c8
mov rcx, qword [rsi + 0x70]
call fcn.1401e36c8
xor edx, edx
mov qword [rsi + 0x70], rdx
test ebx, ebx
jne 0x1400a5e6f
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 0x1400a5e5b
bt ebx, 0x12
jb 0x1400a5e6f
test bl, 2
je 0x1400a5e67
xor edx, edx
mov rcx, rsi
call fcn.140077060
mov rcx, rsi
call fcn.1401e36c8
mov rsi, rdi
mov edx, 0
test rdi, rdi
jne 0x1400a5df0
xor esi, esi
mov ebx, dword [rbp + 0x1c]
mov rdi, qword [rbp]
test bl, 1
je 0x1400a5ee3
mov rax, qword [rbp + 0x70]
and ebx, 0x40000
or ecx, 0xffffffff
lock xadd dword [rax], ecx
cmp ecx, 1
jne 0x1400a5ebf
cmp dword [rbp + 0x78], ecx
jne 0x1400a5ebf
mov rcx, qword [rbp + 0x50]
call fcn.1401e36c8
mov rcx, qword [rbp + 0x70]
call fcn.1401e36c8
mov qword [rbp + 0x70], rsi
test ebx, ebx
jne 0x1400a5f00
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 0x1400a5eec
bt ebx, 0x12
jb 0x1400a5f00
test bl, 2
je 0x1400a5ef8
xor edx, edx
mov rcx, rbp
call fcn.140077060
mov rcx, rbp
call fcn.1401e36c8
mov rbp, rdi
test rdi, rdi
jne 0x1400a5e82
jmp 0x1400a5f20
mov rcx, rdi
jmp 0x1400a5f1b
test rbp, rbp
je 0x1400a5f20
mov rcx, rbp
call fcn.140077120
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