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

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 8], rcx
push rbx
push r12
sub rsp, 0xd8
mov rbx, qword [rdx + 0x3d0]
mov r12, rdx
mov qword [rsp + 0x90], rbx
test rbx, rbx
jne 0x1400a88e6
mov rbx, qword [rdx + 0x310]
mov qword [rsp + 0x90], rbx
test rbx, rbx
je 0x1400a9262
mov eax, 0xfdff
mov r8, rbx
xor edx, edx
and word [rbx + 0x23c], ax
mov rcx, r12
call fcn.1400834e0
mov rcx, qword [rsp + 0xf0]
jmp 0x1400a88f2
mov eax, 0xfdff
and word [rbx + 0x23c], ax
test byte [rbx + 0x158], 4
jne 0x1400a9262
mov qword [rsp + 0xd0], rbp
mov qword [rsp + 0xc8], rsi
mov qword [rsp + 0xc0], rdi
mov r9, rbx
mov rdx, rcx
mov qword [rsp + 0xb8], r13
mov ebx, 2
mov r8, r12
mov qword [rsp + 0xb0], r14
mov ecx, ebx
mov qword [rsp + 0xa8], r15
call fcn.140091020
xor r14d, r14d
mov esi, 0x800
mov ebp, ebx
lea r15d, [rbx - 1]
mov r13, r14
nop word [rax + rax]
cmp esi, 0xb0
jle 0x1400a8a11
mov rcx, qword [0x1402e8788]
call fcn.1401e6440
mov rdi, rax
test rax, rax
je 0x1400a89bb
xor ecx, ecx
mov dword [rax + 0x1c], ebx
mov word [rax + 0x20], r15w
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov dword [rax + 0x18], ecx
add rax, 0x50
mov qword [rdi + 0x28], rcx
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
jmp 0x1400a89bd
xor ecx, ecx
mov qword [rdi + 0x50], rcx
mov rcx, qword [0x1402e8790]
call fcn.1401e6440
mov rcx, qword [0x1402e8798]
mov rbx, rax
call fcn.1401e6440
mov dword [rax], r15d
or dword [rdi + 0x1c], r15d
xor ecx, ecx
mov qword [rdi + 0x50], rbx
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x70], rax
lea ebx, [rcx + 2]
mov qword [rdi + 0x58], rcx
mov qword [rdi + 0x60], rcx
mov dword [rdi + 0x68], 0x800
mov dword [rdi + 0x78], r15d
mov eax, 0x800
jmp 0x1400a8abd
test bpl, 2
je 0x1400a8a7e
mov rcx, qword [0x1402e8788]
call fcn.1401e6440
mov rdi, rax
test rax, rax
je 0x1400a8a70
xor ecx, ecx
mov dword [rax + 0x1c], ebx
mov word [rax + 0x20], r15w
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov dword [rax + 0x18], ecx
add rax, 0x50
mov qword [rdi + 0x28], rcx
mov dword [rdi + 0x38], ecx
mov qword [rdi + 0x10], rax
mov eax, 0xb0
mov qword [rdi + 0x30], rcx
cmp esi, eax
mov dword [rdi + 0x3c], ecx
mov dword [rdi + 0x40], ecx
mov word [rdi + 0x44], cx
mov word [rdi + 0x46], cx
mov qword [rdi + 0x48], rcx
cmovl eax, esi
jmp 0x1400a8abd
mov eax, 0xb0
xor ecx, ecx
cmp esi, eax
cmovl eax, esi
jmp 0x1400a8abd
mov rcx, qword [0x1402e8788]
call fcn.1401e6440
mov rdi, rax
test rax, rax
je 0x1400a8ab1
xor ecx, ecx
mov word [rax + 0x20], r15w
add rax, 0x28
mov qword [rax - 0x28], rcx
mov qword [rax - 0x20], rcx
mov dword [rax - 0x10], ecx
mov dword [rax - 0xc], ecx
mov qword [rdi + 0x10], rax
jmp 0x1400a8ab3
xor ecx, ecx
mov eax, 0xd8
cmp esi, eax
cmovl eax, esi
test rdi, rdi
je 0x1400a9225
cmp eax, 0x800
jl 0x1400a9220
sub esi, eax
test r14, r14
je 0x1400a8add
mov qword [r14], rdi
jmp 0x1400a8ae0
mov r13, rdi
and ebp, 0xfffffffd
mov r14, rdi
test esi, esi
jg 0x1400a8960
test bpl, 4
je 0x1400a8b00
or dword [rdi + 0x1c], 4
nop dword [rax + rax]
test r13, r13
je 0x1400a9232
mov rbx, qword [r13 + 0x10]
mov bp, cx
mov word [rsp + 0x108], cx
mov byte [rbx], r15b
mov byte [rbx + 1], 0
mov word [rbx + 2], cx
mov ecx, dword [r12 + 0x510]
mov esi, reloc.WS2_32.dll_sendto
mov qword [rsp + 0x98], rbx
mov word [rsp + 0xf8], si
call sub.WS2_32.dll_htonl
mov rdi, qword [rsp + 0xf0]
mov dword [rbx + 4], eax
mov rax, qword [rdi + 0x148]
test rax, rax
je 0x1400a8b6a
mov ecx, dword [rax + 0x160]
cmp ecx, 0x1000
ja 0x1400a8b6f
mov ecx, 0x1000
call sub.WS2_32.dll_htonl
mov dword [rbx + 8], eax
movzx ecx, word [r12 + 0x5f0]
call sub.WS2_32.dll_htons
mov word [rbx + 0xc], ax
movzx ecx, word [r12 + 0x5f4]
call sub.WS2_32.dll_htons
mov word [rbx + 0xe], ax
mov ecx, dword [r12 + 0x534]
call sub.WS2_32.dll_htonl
mov dword [rbx + 0x10], eax
cmp byte [rdi + 0x2b0], 0
je 0x1400a8bf1
mov rbx, qword [r13 + 0x10]
mov ecx, 0xc006
add rbx, rsi
call sub.WS2_32.dll_htons
mov ecx, 8
mov word [rbx], ax
call sub.WS2_32.dll_htons
mov word [rbx + 2], ax
mov ecx, dword [rdi + 0x2ac]
call sub.WS2_32.dll_htonl
mov esi, 0x1c
mov dword [rbx + 4], eax
mov word [rsp + 0xf8], si
mov edi, 4
cmp byte [r12 + 0x71b], r15b
jne 0x1400a8c2a
movzx ebx, si
mov ecx, 0x8000
add rbx, qword [r13 + 0x10]
call sub.WS2_32.dll_htons
mov ecx, edi
mov word [rbx], ax
call sub.WS2_32.dll_htons
add si, di
mov word [rbx + 2], ax
mov word [rsp + 0xf8], si
cmp byte [r12 + 0x71c], r15b
jne 0x1400a8c5e
movzx ebx, si
mov ecx, 0xc000
add rbx, qword [r13 + 0x10]
call sub.WS2_32.dll_htons
mov ecx, edi
mov word [rbx], ax
call sub.WS2_32.dll_htons
add si, di
mov word [rbx + 2], ax
mov word [rsp + 0xf8], si
cmp byte [r12 + 0x723], 0
je 0x1400a8ca8
movzx ebx, si
mov ecx, 0x8001
add rbx, qword [r13 + 0x10]
call sub.WS2_32.dll_htons
mov ecx, 8
mov word [rbx], ax
call sub.WS2_32.dll_htons
mov word [rbx + 2], ax
movzx ecx, byte [r12 + 0x723]
call sub.WS2_32.dll_htonl
add si, 8
mov dword [rbx + 4], eax
mov word [rsp + 0xf8], si
cmp dword [0x1402e86ec], 0
je 0x1400a8cdb
movzx ebx, si
mov ecx, 0xc007
add rbx, qword [r13 + 0x10]
call sub.WS2_32.dll_htons
mov ecx, edi
mov word [rbx], ax
call sub.WS2_32.dll_htons
add si, di
mov word [rbx + 2], ax
mov word [rsp + 0xf8], si
xor r14d, r14d
movzx edi, si
add rdi, qword [r13 + 0x10]
mov bx, r14w
cmp byte [r12 + 0x71c], r15b
jne 0x1400a8d0c
mov byte [rdi + 4], 0xc0
mov ebx, r15d
cmp byte [r12 + 0x722], r14b
je 0x1400a8d0c
mov byte [rdi + 5], 0xc2
lea ebx, [r14 + 2]
cmp byte [r12 + 0x71d], r15b
jne 0x1400a8d21
movzx eax, bx
inc bx
mov byte [rax + rdi + 4], reloc.WS2_32.dll_ntohs
cmp byte [r12 + 0x71e], r15b
jne 0x1400a8d41
movzx eax, bx
inc bx
mov byte [rax + rdi + 4], 0xc1
movzx eax, bx
inc bx
mov byte [rax + rdi + 4], 0x80
cmp byte [r12 + 0x71f], r15b
jne 0x1400a8d56
movzx eax, bx
inc bx
mov byte [rax + rdi + 4], 0x82
cmp byte [r12 + 0x722], r14b
je 0x1400a8d6b
movzx eax, bx
inc bx
mov byte [rax + rdi + 4], 0x40
cmp byte [r12 + 0x720], r15b
jne 0x1400a8d80
movzx eax, bx
inc bx
mov byte [rax + rdi + 4], reloc.WS2_32.dll_recv
cmp byte [r12 + 0x721], r15b
jne 0x1400a8d95
movzx eax, bx
inc bx
mov byte [rax + rdi + 4], 0x81
test bx, bx
je 0x1400a8dda
mov ecx, 0x8008
add bx, 4
call sub.WS2_32.dll_htons
movzx ecx, bx
mov word [rdi], ax
call sub.WS2_32.dll_htons
lea ebp, [rbx + 3]
mov word [rdi + 2], ax
mov edi, 0xfffc
and bp, di
sub bp, bx
add si, bx
mov word [rsp + 0xf8], si
mov word [rsp + 0x108], bp
jmp 0x1400a8ddf
mov edi, 0xfffc
cmp byte [r12 + 0x71d], r14b
je 0x1400a8f8f
cmp qword [r12 + 0x698], r14
je 0x1400a8e56
test bp, bp
je 0x1400a8e11
movzx ecx, si
movzx r8d, bp
xor edx, edx
add rcx, qword [r13 + 0x10]
call fcn.1401e6750
add si, bp
movzx ebx, word [r12 + 0x6a0]
mov rdx, qword [r12 + 0x698]
movzx ecx, si
add rcx, qword [r13 + 0x10]
add bx, 4
add rdx, 4
movzx r8d, bx
call fcn.1401e75a0
lea ebp, [rbx + 3]
and bp, di
sub bp, bx
add si, bx
mov word [rsp + 0xf8], si
mov word [rsp + 0x108], bp
cmp qword [r12 + 0x680], r14
je 0x1400a8edf
test bp, bp
je 0x1400a8e7a
movzx ecx, si
movzx r8d, bp
xor edx, edx
add rcx, qword [r13 + 0x10]
call fcn.1401e6750
add si, bp
mov rax, qword [r12 + 0x680]
movzx ebx, si
mov ecx, 0x8004
movzx edi, word [rax + 2]
add rbx, qword [r13 + 0x10]
add di, 2
add di, di
call sub.WS2_32.dll_htons
movzx ecx, di
mov word [rbx], ax
call sub.WS2_32.dll_htons
lea rdx, [rbx + 4]
mov word [rbx + 2], ax
mov rcx, qword [r12 + 0x680]
call fcn.1400bf3f0
lea ebp, [rdi + 3]
mov eax, 0xfffc
and bp, ax
sub bp, di
add si, di
mov word [rsp + 0xf8], si
mov word [rsp + 0x108], bp
cmp qword [r12 + 0x670], r14
je 0x1400a8f8f
test bp, bp
je 0x1400a8f07
movzx ecx, si
movzx r8d, bp
xor edx, edx
add rcx, qword [r13 + 0x10]
call fcn.1401e6750
add si, bp
mov rax, qword [r12 + 0x670]
movzx ebx, si
add rbx, qword [r13 + 0x10]
test rax, rax
jne 0x1400a8f20
mov rdi, r14
jmp 0x1400a8f27
movzx edi, byte [rax + 0x100]
mov ecx, 0x8003
add di, 4
call sub.WS2_32.dll_htons
movzx ecx, di
mov word [rbx], ax
call sub.WS2_32.dll_htons
lea rdx, [rbx + 4]
mov word [rbx + 2], ax
mov rcx, qword [r12 + 0x670]
test rcx, rcx
je 0x1400a8f6e
mov eax, r14d
cmp byte [rcx], r14b
je 0x1400a8f62
mov byte [rdx], al
inc rdx
inc eax
inc rcx
cmp eax, 0x100
jl 0x1400a8f58
lea ebp, [rdi + 3]
mov eax, 0xfffc
and bp, ax
sub bp, di
add si, di
mov word [rsp + 0xf8], si
mov word [rsp + 0x108], bp
cmp dword [r12 + 0x4f8], r14d
jbe 0x1400a9005
test bp, bp
je 0x1400a8fbf
movzx ecx, si
movzx r8d, bp
xor edx, edx
add rcx, qword [r13 + 0x10]
call fcn.1401e6750
add si, bp
mov ebp, r14d
mov word [rsp + 0x108], r14w
movzx ebx, si
mov ecx, 9
add rbx, qword [r13 + 0x10]
call sub.WS2_32.dll_htons
mov ecx, 8
mov word [rbx], ax
call sub.WS2_32.dll_htons
mov word [rbx + 2], ax
mov ecx, dword [r12 + 0x4f8]
call sub.WS2_32.dll_htonl
add si, 8
mov dword [rbx + 4], eax
mov dword [r12 + 0x4f8], r14d
mov word [rsp + 0xf8], si
cmp byte [r12 + 0x728], r14b
jne 0x1400a901d
cmp byte [r12 + 0x729], r14b
je 0x1400a90db
test bp, bp
je 0x1400a9037
movzx ecx, si
movzx r8d, bp
xor edx, edx
add rcx, qword [r13 + 0x10]
call fcn.1401e6750
add si, bp
mov eax, 6
cmp byte [r12 + 0x728], r14b
je 0x1400a904b
mov bp, ax
jmp 0x1400a9050
mov ebp, 4
cmp byte [r12 + 0x729], r14b
je 0x1400a905e
add bp, 2
movzx edi, si
mov ecx, reloc.WS2_32.dll_inet_ntoa
add rdi, qword [r13 + 0x10]
call sub.WS2_32.dll_htons
movzx ecx, bp
mov word [rdi], ax
call sub.WS2_32.dll_htons
xor bl, bl
mov word [rdi + 2], ax
cmp byte [r12 + 0x728], bl
je 0x1400a909c
mov ecx, 5
call sub.WS2_32.dll_htons
movzx ebx, r15b
mov word [rdi + 4], ax
cmp byte [r12 + 0x729], r14b
je 0x1400a90ba
mov ecx, 6
call sub.WS2_32.dll_htons
movzx ecx, bl
inc bl
mov word [rdi + rcx*2 + 4], ax
movzx eax, bl
mov ecx, 2
sub cx, ax
add cx, cx
add si, bp
mov word [rsp + 0xf8], si
mov word [rsp + 0x108], cx
mov rdi, qword [rsp + 0xf0]
movzx eax, si
lea r8, [r12 + 0x728]
mov dword [r13 + 0x18], eax
lea rax, [rsp + 0xf8]
xor esi, esi
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x108]
mov r9, r13
mov qword [rsp + 0x28], rax
mov rdx, r12
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.1400a6cf0
movzx ecx, word [rsp + 0xf8]
mov rbx, rax
call sub.WS2_32.dll_htons
mov rcx, qword [rsp + 0x98]
mov word [rcx + 2], ax
movzx ecx, word [rsp + 0x108]
test cx, cx
je 0x1400a915d
movzx edx, cx
mov rcx, rbx
call fcn.140091d60
test rax, rax
je 0x1400a922a
xor ecx, ecx
call sub.WS2_32.dll_htonl
mov rbx, qword [rsp + 0x90]
mov ecx, dword [rsp + 0x100]
mov dword [rsp + 0x88], ecx
movzx ecx, word [rbx + 0x244]
mov dword [rsp + 0x80], esi
mov qword [rsp + 0x78], rsi
mov word [rsp + 0x70], cx
mov dword [rsp + 0x68], eax
movzx eax, word [r12 + 0x7e0]
lea r9, [rbx + 0xd8]
mov r8, rbx
mov word [rsp + 0x60], ax
movzx eax, word [rdi + 0x5e]
mov rdx, r12
mov word [rsp + 0x58], ax
mov dword [rsp + 0x50], esi
mov dword [rsp + 0x48], esi
mov dword [rsp + 0x40], esi
mov word [rsp + 0x38], si
mov qword [rsp + 0x30], rsi
mov rcx, rdi
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], r13
call fcn.1400a83d0
test eax, eax
je 0x1400a9201
cmp eax, 0x2747
jne 0x1400a9209
mov byte [r12 + 0x737], r15b
mov eax, r15d
lock xadd dword [0x1402e8528], eax
jmp 0x1400a9209
mov byte [r12 + 0x737], sil
lock xadd dword [0x1402e839c], r15d
lea rcx, [rbx + 0x190]
call fcn.140078f80
jmp 0x1400a9232
mov rcx, rdi
jmp 0x1400a922d
test r13, r13
je 0x1400a9232
mov rcx, r13
call fcn.1400795b0
mov r14, qword [rsp + 0xb0]
mov r13, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0xc8]
mov rbp, qword [rsp + 0xd0]
mov r15, qword [rsp + 0xa8]
add rsp, 0xd8
pop r12
pop rbx
ret