Function at 0x1400a63f0
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 0x1400a6456
mov rbx, qword [rdx + 0x310]
mov qword [rsp + 0x90], rbx
test rbx, rbx
je 0x1400a6dd2
mov eax, 0xfdff
mov r8, rbx
xor edx, edx
and word [rbx + 0x23c], ax
mov rcx, r12
call fcn.140081050
mov rcx, qword [rsp + 0xf0]
jmp 0x1400a6462
mov eax, 0xfdff
and word [rbx + 0x23c], ax
test byte [rbx + 0x158], 4
jne 0x1400a6dd2
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.14008eb90
xor r14d, r14d
mov esi, 0x800
mov ebp, ebx
lea r15d, [rbx - 1]
mov r13, r14
nop word [rax + rax]
cmp esi, 0xb0
jle 0x1400a6581
mov rcx, qword [0x1402e6b48]
call fcn.1401e3610
mov rdi, rax
test rax, rax
je 0x1400a652b
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 0x1400a652d
xor ecx, ecx
mov qword [rdi + 0x50], rcx
mov rcx, qword [0x1402e6b50]
call fcn.1401e3610
mov rcx, qword [0x1402e6b58]
mov rbx, rax
call fcn.1401e3610
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 0x1400a662d
test bpl, 2
je 0x1400a65ee
mov rcx, qword [0x1402e6b48]
call fcn.1401e3610
mov rdi, rax
test rax, rax
je 0x1400a65e0
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 0x1400a662d
mov eax, 0xb0
xor ecx, ecx
cmp esi, eax
cmovl eax, esi
jmp 0x1400a662d
mov rcx, qword [0x1402e6b48]
call fcn.1401e3610
mov rdi, rax
test rax, rax
je 0x1400a6621
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 0x1400a6623
xor ecx, ecx
mov eax, 0xd8
cmp esi, eax
cmovl eax, esi
test rdi, rdi
je 0x1400a6d95
cmp eax, 0x800
jl 0x1400a6d90
sub esi, eax
test r14, r14
je 0x1400a664d
mov qword [r14], rdi
jmp 0x1400a6650
mov r13, rdi
and ebp, 0xfffffffd
mov r14, rdi
test esi, esi
jg 0x1400a64d0
test bpl, 4
je 0x1400a6670
or dword [rdi + 0x1c], 4
nop dword [rax + rax]
test r13, r13
je 0x1400a6da2
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 0x1400a66da
mov ecx, dword [rax + 0x160]
cmp ecx, 0x1000
ja 0x1400a66df
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 0x1400a6761
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 0x1400a679a
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 0x1400a67ce
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 0x1400a6818
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 [0x1402e6aac], 0
je 0x1400a684b
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 0x1400a687c
mov byte [rdi + 4], 0xc0
mov ebx, r15d
cmp byte [r12 + 0x722], r14b
je 0x1400a687c
mov byte [rdi + 5], 0xc2
lea ebx, [r14 + 2]
cmp byte [r12 + 0x71d], r15b
jne 0x1400a6891
movzx eax, bx
inc bx
mov byte [rax + rdi + 4], reloc.WS2_32.dll_ntohs
cmp byte [r12 + 0x71e], r15b
jne 0x1400a68b1
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 0x1400a68c6
movzx eax, bx
inc bx
mov byte [rax + rdi + 4], 0x82
cmp byte [r12 + 0x722], r14b
je 0x1400a68db
movzx eax, bx
inc bx
mov byte [rax + rdi + 4], 0x40
cmp byte [r12 + 0x720], r15b
jne 0x1400a68f0
movzx eax, bx
inc bx
mov byte [rax + rdi + 4], reloc.WS2_32.dll_recv
cmp byte [r12 + 0x721], r15b
jne 0x1400a6905
movzx eax, bx
inc bx
mov byte [rax + rdi + 4], 0x81
test bx, bx
je 0x1400a694a
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 0x1400a694f
mov edi, 0xfffc
cmp byte [r12 + 0x71d], r14b
je 0x1400a6aff
cmp qword [r12 + 0x698], r14
je 0x1400a69c6
test bp, bp
je 0x1400a6981
movzx ecx, si
movzx r8d, bp
xor edx, edx
add rcx, qword [r13 + 0x10]
call fcn.1401e42d0
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.1401e3ed0
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 0x1400a6a4f
test bp, bp
je 0x1400a69ea
movzx ecx, si
movzx r8d, bp
xor edx, edx
add rcx, qword [r13 + 0x10]
call fcn.1401e42d0
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.1400bcf60
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 0x1400a6aff
test bp, bp
je 0x1400a6a77
movzx ecx, si
movzx r8d, bp
xor edx, edx
add rcx, qword [r13 + 0x10]
call fcn.1401e42d0
add si, bp
mov rax, qword [r12 + 0x670]
movzx ebx, si
add rbx, qword [r13 + 0x10]
test rax, rax
jne 0x1400a6a90
mov rdi, r14
jmp 0x1400a6a97
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 0x1400a6ade
mov eax, r14d
cmp byte [rcx], r14b
je 0x1400a6ad2
mov byte [rdx], al
inc rdx
inc eax
inc rcx
cmp eax, 0x100
jl 0x1400a6ac8
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 0x1400a6b75
test bp, bp
je 0x1400a6b2f
movzx ecx, si
movzx r8d, bp
xor edx, edx
add rcx, qword [r13 + 0x10]
call fcn.1401e42d0
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 0x1400a6b8d
cmp byte [r12 + 0x729], r14b
je 0x1400a6c4b
test bp, bp
je 0x1400a6ba7
movzx ecx, si
movzx r8d, bp
xor edx, edx
add rcx, qword [r13 + 0x10]
call fcn.1401e42d0
add si, bp
mov eax, 6
cmp byte [r12 + 0x728], r14b
je 0x1400a6bbb
mov bp, ax
jmp 0x1400a6bc0
mov ebp, 4
cmp byte [r12 + 0x729], r14b
je 0x1400a6bce
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 0x1400a6c0c
mov ecx, 5
call sub.WS2_32.dll_htons
movzx ebx, r15b
mov word [rdi + 4], ax
cmp byte [r12 + 0x729], r14b
je 0x1400a6c2a
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.1400a4860
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 0x1400a6ccd
movzx edx, cx
mov rcx, rbx
call fcn.14008f8d0
test rax, rax
je 0x1400a6d9a
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.1400a5f40
test eax, eax
je 0x1400a6d71
cmp eax, 0x2747
jne 0x1400a6d79
mov byte [r12 + 0x737], r15b
mov eax, r15d
lock xadd dword [0x1402e68e8], eax
jmp 0x1400a6d79
mov byte [r12 + 0x737], sil
lock xadd dword [0x1402e675c], r15d
lea rcx, [rbx + 0x190]
call fcn.140076af0
jmp 0x1400a6da2
mov rcx, rdi
jmp 0x1400a6d9d
test r13, r13
je 0x1400a6da2
mov rcx, r13
call fcn.140077120
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