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

Disassembly:
test rcx, rcx
je 0x1400b4bb4
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rsi
push r15
sub rsp, 0x60
xor esi, esi
mov ebx, r9d
mov r15, rcx
mov dword [rsp + 0x20], esi
mov dword [rsp + 0x24], esi
cmp byte [rcx + 0x721], sil
je 0x1400b4bac
cmp qword [rcx], rsi
je 0x1400b4bac
mov qword [rsp + 0x58], rbp
mov rbp, qword [rcx + 0x320]
mov qword [rsp + 0x50], rdi
or edi, 0xffffffff
test rbp, rbp
jne 0x1400b432e
mov rcx, qword [0x1402e64a0]
call fcn.1401e3610
mov rbp, rax
test rax, rax
je 0x1400b4ba2
mov ecx, 1
lock xadd dword [0x1402e65a0], ecx
mov qword [rax + 0x50], rsi
mov byte [rax + 0x78], sil
jmp 0x1400b437f
mov rcx, qword [rbp + 0x58]
test rcx, rcx
je 0x1400b4341
mov rax, qword [rbp + 0x60]
mov qword [rcx + 0x60], rax
jmp 0x1400b434c
mov rax, qword [rbp + 0x60]
mov qword [r15 + 0x328], rax
mov rax, qword [rbp + 0x58]
mov rcx, qword [rbp + 0x60]
mov qword [rcx], rax
mov eax, edi
lock xadd dword [0x1402e65b8], eax
mov byte [rbp + 0x78], sil
mov eax, 1
lock xadd dword [0x1402e6930], eax
mov eax, 0xffff
add word [r15 + 0x6fe], ax
mov rdi, qword [rsp + 0x90]
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x38], r14
mov r14d, reloc.WS2_32.dll_inet_ntoa
mov byte [rbp + 0x7d], sil
mov word [rbp + 0x6e], si
mov byte [rbp], 0x81
mov byte [rbp + 1], 1
lea r12d, [r14 - 8]
mov word [rbp + 0x70], bx
mov ecx, r14d
mov rsi, rdi
lea r13, [rsp + 0x80]
test rdi, rdi
je 0x1400b43dc
test ecx, ecx
jle 0x1400b442e
mov eax, dword [rsi + 0x18]
cmp ecx, eax
jl 0x1400b442e
mov rsi, qword [rsi]
sub ecx, eax
test rsi, rsi
jne 0x1400b43c7
mov edx, dword [r15 + 0x524]
movsxd r8, dword [rsp + 0x98]
mov eax, 0x800
cmp edx, eax
lea rcx, [r8 + 0x5c]
cmovb eax, edx
cmp rcx, rax
jbe 0x1400b46e6
mov dword [rsp + 0x24], r8d
mov r8d, 0x800
mov ebx, 1
cmp edx, r8d
mov dword [rsp + 0x20], ebx
cmovb r8d, edx
add r8d, 0xffffffb4
mov dword [rsp + 0x98], r8d
jmp 0x1400b46eb
test rsi, rsi
je 0x1400b43dc
mov eax, dword [rsi + 0x18]
sub eax, ecx
cmp eax, r12d
jl 0x1400b4448
movsxd rbx, ecx
add rbx, qword [rsi + 0x10]
je 0x1400b43dc
jmp 0x1400b44a0
test r12d, r12d
jle 0x1400b4481
mov eax, dword [rsi + 0x18]
movsxd rdx, ecx
mov edi, r12d
sub eax, ecx
mov rcx, r13
cmp eax, r12d
cmovl edi, eax
add rdx, qword [rsi + 0x10]
mov r8d, edi
mov ebx, edi
call fcn.1401e3ed0
mov rsi, qword [rsi]
sub r12d, edi
add r13, rbx
xor ecx, ecx
test rsi, rsi
jne 0x1400b4448
jmp 0x1400b4486
test rsi, rsi
jne 0x1400b448f
test r12d, r12d
jg 0x1400b43dc
mov rdi, qword [rsp + 0x90]
lea rbx, [rsp + 0x80]
nop
movzx ecx, word [rbx + 2]
call qword [sym.imp.WS2_32.dll_ntohs]
movzx r11d, ax
cmp r11d, 4
jb 0x1400b43dc
movzx ecx, byte [rbx]
sub ecx, 2
je 0x1400b459c
sub ecx, 4
je 0x1400b459c
cmp ecx, 0x7b
je 0x1400b459c
lea eax, [r11 + 3]
mov r12d, 4
mov rsi, rdi
and eax, 0xfffffffc
lea r13, [rsp + 0x80]
add r14d, eax
mov ecx, r14d
js 0x1400b43dc
nop word [rax + rax]
test ecx, ecx
jle 0x1400b451a
mov eax, dword [rsi + 0x18]
cmp ecx, eax
jl 0x1400b451a
mov rsi, qword [rsi]
sub ecx, eax
test rsi, rsi
jne 0x1400b4500
jmp 0x1400b43dc
test rsi, rsi
je 0x1400b43dc
mov eax, dword [rsi + 0x18]
sub eax, ecx
cmp eax, r12d
jl 0x1400b4540
movsxd rbx, ecx
add rbx, qword [rsi + 0x10]
jne 0x1400b44a0
jmp 0x1400b43dc
test r12d, r12d
jle 0x1400b4579
mov eax, dword [rsi + 0x18]
movsxd rdx, ecx
mov edi, r12d
sub eax, ecx
mov rcx, r13
cmp eax, r12d
cmovl edi, eax
add rdx, qword [rsi + 0x10]
mov r8d, edi
mov ebx, edi
call fcn.1401e3ed0
mov rsi, qword [rsi]
sub r12d, edi
add r13, rbx
xor ecx, ecx
test rsi, rsi
jne 0x1400b4540
jmp 0x1400b457e
test rsi, rsi
jne 0x1400b4587
test r12d, r12d
jg 0x1400b43dc
mov rdi, qword [rsp + 0x90]
lea rbx, [rsp + 0x80]
jmp 0x1400b44a0
cmp byte [rbp + 0x78], 0
je 0x1400b45b5
movzx edx, word [rbp + 0x76]
xor r8d, r8d
mov rcx, r15
call fcn.1400bcac0
mov byte [rbp + 0x78], 0
mov rcx, qword [rbp + 0x50]
test rcx, rcx
je 0x1400b467b
or edi, 0xffffffff
mov eax, edi
lock xadd dword [rcx + 0x1e8], eax
cmp eax, 1
jne 0x1400b4671
mov rax, qword [rbp + 0x50]
mov rcx, qword [rax + 0xd0]
test rcx, rcx
je 0x1400b461b
cmp dword [rcx + 0x14], 1
jg 0x1400b45fe
dec dword [rcx + 0x14]
cmp dword [rcx + 0x14], 0
jg 0x1400b4601
call fcn.1401e36c8
jmp 0x1400b4601
dec dword [rcx + 0x14]
mov rax, qword [rbp + 0x50]
xor ebx, ebx
mov qword [rax + 0xd0], rbx
mov rax, qword [rbp + 0x50]
mov qword [rax + 0xd0], rbx
jmp 0x1400b461d
xor ebx, ebx
mov rcx, qword [rbp + 0x50]
cmp byte [rcx + 0x24b], 0
je 0x1400b4641
mov rcx, qword [rcx + 0xf8]
call fcn.140078120
mov r11, qword [rbp + 0x50]
mov qword [r11 + 0xf8], rbx
mov rax, qword [rbp + 0x50]
mov ecx, 0xfffe
mov byte [rax + 0x24b], 0
mov rax, qword [rbp + 0x50]
and word [rax + 0x23c], cx
mov rcx, qword [rbp + 0x50]
call fcn.1401e36c8
mov r11d, edi
lock xadd dword [0x1402e659c], r11d
mov qword [rbp + 0x50], 0
jmp 0x1400b467e
or edi, 0xffffffff
movzx eax, word [r15 + 0x6fe]
cmp eax, dword [0x1402e6a24]
ja 0x1400b4b83
mov eax, dword [0x1402e6a20]
cmp dword [0x1402e65b8], eax
ja 0x1400b4b83
mov qword [rbp + 0x58], 0
mov rax, qword [r15 + 0x328]
lea rcx, [rbp + 0x58]
mov qword [rbp + 0x60], rax
mov rax, qword [r15 + 0x328]
mov qword [rax], rbp
inc word [r15 + 0x6fe]
mov qword [r15 + 0x328], rcx
mov ecx, 1
lock xadd dword [0x1402e65b8], ecx
jmp 0x1400b4b93
mov ebx, 1
lea rax, [r15 + 0x58]
xor r12d, r12d
xor r13d, r13d
mov esi, 0x800
xor r14d, r14d
mov qword [rbp + 0x30], rax
cmp esi, 0xb0
jle 0x1400b47b9
mov rcx, qword [0x1402e6b48]
call fcn.1401e3610
mov rdi, rax
test rax, rax
je 0x1400b475f
xor ecx, ecx
mov dword [rax + 0x1c], 2
mov word [rax + 0x20], bx
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 0x1400b4761
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 ecx, 1
mov dword [rax], ecx
or dword [rdi + 0x1c], ecx
xor ecx, ecx
mov qword [rdi + 0x50], rbx
mov qword [rdi + 0x10], rbx
mov ebx, 1
mov qword [rdi + 0x70], rax
mov qword [rdi + 0x58], rcx
mov qword [rdi + 0x60], rcx
mov dword [rdi + 0x78], ebx
mov dword [rdi + 0x68], 0x800
mov eax, 0x800
jmp 0x1400b4867
test r14b, 2
je 0x1400b4829
mov rcx, qword [0x1402e6b48]
call fcn.1401e3610
mov rdi, rax
test rax, rax
je 0x1400b481b
xor ecx, ecx
mov dword [rax + 0x1c], 2
mov word [rax + 0x20], bx
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 0x1400b4867
mov eax, 0xb0
xor ecx, ecx
cmp esi, eax
cmovl eax, esi
jmp 0x1400b4867
mov rcx, qword [0x1402e6b48]
call fcn.1401e3610
mov rdi, rax
test rax, rax
je 0x1400b485b
xor ecx, ecx
mov word [rax + 0x20], bx
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 0x1400b485d
xor ecx, ecx
mov eax, 0xd8
cmp esi, eax
cmovl eax, esi
test rdi, rdi
je 0x1400b48b3
cmp eax, 0x800
jl 0x1400b48a7
sub esi, eax
test r13, r13
je 0x1400b4880
mov qword [r13], rdi
jmp 0x1400b4883
mov r12, rdi
and r14d, 0xfffffffd
mov r13, rdi
test esi, esi
jg 0x1400b4701
test r14b, 4
je 0x1400b48a0
or dword [rdi + 0x1c], 4
nop dword [rax]
test r12, r12
je 0x1400b48c2
jmp 0x1400b48c5
mov rcx, rdi
call fcn.140077120
xor ecx, ecx
jmp 0x1400b48c2
test r12, r12
je 0x1400b48c2
mov rcx, r12
call fcn.140077120
xor ecx, ecx
mov r12, rcx
mov qword [rbp + 0x40], r12
test r12, r12
je 0x1400b4a55
add qword [r12 + 0x10], 0x20
mov rcx, qword [rbp + 0x40]
mov rbx, qword [rcx + 0x10]
test rbx, rbx
jne 0x1400b48f8
call fcn.140077120
xor esi, esi
lea ebx, [rsi + 1]
mov qword [rbp + 0x40], rsi
jmp 0x1400b4a57
movzx eax, word [rbp + 0x70]
mov ecx, 0xfffc
mov byte [rbp + 0x7b], 0
add ax, 0x4f
and ax, cx
cmp dword [rsp + 0x20], 0
mov word [rbp + 0x72], ax
je 0x1400b4941
movzx ecx, word [rsp + 0x24]
mov byte [rbx + 1], 4
call sub.WS2_32.dll_htons
mov r12d, dword [rsp + 0x98]
sub r12w, 0x10
mov word [rbx + 0xc], ax
movzx r12d, r12w
mov word [rbp + 0x70], r12w
jmp 0x1400b4958
xor ecx, ecx
mov byte [rbx + 1], 0
call sub.WS2_32.dll_htons
mov r12d, dword [rsp + 0x98]
mov word [rbx + 0xc], ax
cmp dword [rsp + 0xa8], 0
je 0x1400b4966
or byte [rbx + 1], 2
add word [rbp + 0x70], 0x10
mov rax, qword [rbp + 0x40]
movzx ecx, word [rbp + 0x70]
mov dword [rax + 0x18], ecx
mov rax, qword [rsp + 0x88]
xor r13d, r13d
mov dword [rbp + 0x68], r13d
mov word [rbp + 0x6c], r13w
test rax, rax
je 0x1400b49a2
mov qword [rbp + 0x50], rax
mov ecx, 1
lock xadd dword [rax + 0x1e8], ecx
jmp 0x1400b49a6
mov qword [rbp + 0x50], r13
mov byte [rbx], 0x81
movzx ecx, word [rbp + 0x70]
call sub.WS2_32.dll_htons
mov word [rbx + 2], ax
mov rax, qword [r15]
mov edi, dword [rax + 0x160]
test edi, edi
cmovs edi, r13d
mov ecx, edi
call sub.WS2_32.dll_htonl
mov dword [rbx + 4], eax
cmp dword [r15 + 0x588], r13d
je 0x1400b4a00
mov rax, qword [r15]
mov ecx, dword [rax + 0x15c]
add ecx, dword [r15 + 0x5e0]
add ecx, dword [r15 + 0x5c0]
add ecx, dword [r15 + 0x5a0]
call sub.WS2_32.dll_htonl
mov dword [rbx + 8], eax
jmp 0x1400b4a0a
mov ecx, edi
call sub.WS2_32.dll_htonl
mov dword [rbx + 8], eax
mov rcx, qword [rsp + 0x90]
lea r9, [rbx + 0x10]
mov r8d, r12d
xor edx, edx
mov word [rbx + 0xe], r13w
call fcn.140077ad0
mov qword [rbp + 0x58], r13
mov rax, qword [r15 + 0x338]
mov qword [rbp + 0x60], rax
mov rax, qword [r15 + 0x338]
lea r11, [rbp + 0x58]
mov qword [rax], rbp
mov qword [r15 + 0x338], r11
inc dword [r15 + 0x5a8]
jmp 0x1400b4b93
xor esi, esi
cmp byte [rbp + 0x78], 0
je 0x1400b4a70
movzx edx, word [rbp + 0x76]
xor r8d, r8d
mov rcx, r15
call fcn.1400bcac0
mov byte [rbp + 0x78], 0
mov rcx, qword [rbp + 0x50]
test rcx, rcx
je 0x1400b4b2c
or edi, 0xffffffff
mov eax, edi
lock xadd dword [rcx + 0x1e8], eax
cmp eax, 1
jne 0x1400b4b26
mov rax, qword [rbp + 0x50]
mov rcx, qword [rax + 0xd0]
test rcx, rcx
je 0x1400b4ad2
cmp dword [rcx + 0x14], 1
jg 0x1400b4ab9
dec dword [rcx + 0x14]
cmp dword [rcx + 0x14], 0
jg 0x1400b4abc
call fcn.1401e36c8
jmp 0x1400b4abc
dec dword [rcx + 0x14]
mov rax, qword [rbp + 0x50]
mov qword [rax + 0xd0], rsi
mov rax, qword [rbp + 0x50]
mov qword [rax + 0xd0], rsi
mov rcx, qword [rbp + 0x50]
cmp byte [rcx + 0x24b], 0
je 0x1400b4af6
mov rcx, qword [rcx + 0xf8]
call fcn.140078120
mov r11, qword [rbp + 0x50]
mov qword [r11 + 0xf8], rsi
mov rax, qword [rbp + 0x50]
mov ecx, 0xfffe
mov byte [rax + 0x24b], 0
mov rax, qword [rbp + 0x50]
and word [rax + 0x23c], cx
mov rcx, qword [rbp + 0x50]
call fcn.1401e36c8
mov r11d, edi
lock xadd dword [0x1402e659c], r11d
mov qword [rbp + 0x50], rsi
jmp 0x1400b4b2f
or edi, 0xffffffff
movzx eax, word [r15 + 0x6fe]
cmp eax, dword [0x1402e6a24]
ja 0x1400b4b83
mov eax, dword [0x1402e6a20]
cmp dword [0x1402e65b8], eax
ja 0x1400b4b83
mov qword [rbp + 0x58], rsi
mov rax, qword [r15 + 0x328]
lea rcx, [rbp + 0x58]
mov qword [rbp + 0x60], rax
mov rax, qword [r15 + 0x328]
mov qword [rax], rbp
inc word [r15 + 0x6fe]
mov qword [r15 + 0x328], rcx
lock xadd dword [0x1402e65b8], ebx
jmp 0x1400b4b93
mov rcx, rbp
call fcn.1401e36c8
lock xadd dword [0x1402e65a0], edi
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov r14, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x50]
add rsp, 0x60
pop r15
pop rsi
pop rbx
repz ret