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

Disassembly:
test rdx, rdx
je 0x1400b429c
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
push rdi
push r13
sub rsp, 0x58
mov qword [rsp + 0x70], rbx
lea rbx, [rcx + 0x58]
mov edi, r8d
mov rax, qword [rbx + 0x2d8]
mov r13, rcx
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x20], rbx
test rax, rax
je 0x1400b3d34
nop
cmp byte [rax], 0xc
jne 0x1400b3d2b
cmp rdx, qword [rax + 0x50]
je 0x1400b3d85
mov rax, qword [rax + 0x58]
test rax, rax
jne 0x1400b3d20
mov qword [rsp + 0x48], rsi
mov rsi, qword [rcx + 0x320]
xor r8d, r8d
test rsi, rsi
jne 0x1400b3df5
mov rcx, qword [0x1402e64a0]
call fcn.1401e3610
mov rsi, rax
test rax, rax
je 0x1400b4286
mov r12d, 1
mov ecx, r12d
lock xadd dword [0x1402e65a0], ecx
xor r8d, r8d
mov qword [rax + 0x50], r8
mov byte [rax + 0x78], r8b
jmp 0x1400b3e4b
mov rax, qword [rax + 0x40]
mov rbx, qword [rax + 0x10]
mov ecx, dword [rbx + 4]
call qword [sym.imp.WS2_32.dll_ntohl]
cmp edi, eax
jae 0x1400b3da6
mov ecx, eax
sub ecx, edi
cmp ecx, 0x80000000
ja 0x1400b3db6
cmp edi, eax
jbe 0x1400b3dcf
mov ecx, edi
sub ecx, eax
cmp ecx, 0x80000000
jae 0x1400b3dcf
mov ecx, edi
call sub.WS2_32.dll_htonl
mov r12d, 1
mov dword [rbx + 4], eax
lock xadd dword [0x1402e6948], r12d
mov ecx, dword [rbx + 8]
call qword [sym.imp.WS2_32.dll_ntohl]
lea ecx, [rax + 1]
call sub.WS2_32.dll_htonl
mov r12, qword [rsp + 0x40]
mov dword [rbx + 8], eax
mov rbx, qword [rsp + 0x70]
add rsp, 0x58
pop r13
pop rdi
ret
mov rcx, qword [rsi + 0x58]
test rcx, rcx
je 0x1400b3e08
mov rax, qword [rsi + 0x60]
mov qword [rcx + 0x60], rax
jmp 0x1400b3e13
mov rax, qword [rsi + 0x60]
mov qword [r13 + 0x328], rax
mov rax, qword [rsi + 0x58]
mov rcx, qword [rsi + 0x60]
mov qword [rcx], rax
or eax, 0xffffffff
lock xadd dword [0x1402e65b8], eax
mov r12d, 1
mov byte [rsi + 0x78], r8b
mov eax, r12d
lock xadd dword [0x1402e6930], eax
mov eax, 0xffff
add word [r13 + 0x6fe], ax
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x38], r14
mov eax, r12d
mov qword [rsp + 0x30], r15
lock xadd dword [0x1402e6948], eax
mov eax, reloc.WS2_32.dll_inet_ntoa
mov qword [rsi + 0x30], rbx
mov rbx, r8
mov byte [rsi + 0x7d], 0
mov byte [rsi], reloc.WS2_32.dll_inet_ntoa
mov byte [rsi + 1], 0
mov qword [rsp + 0x88], rbx
mov word [rsi + 0x6e], r8w
mov word [rsi + 0x70], ax
mov ebp, eax
mov r15, r8
mov r14d, r8d
nop word [rax + rax]
cmp ebp, 0xb0
jle 0x1400b3f5b
mov rcx, qword [0x1402e6b48]
call fcn.1401e3610
mov rdi, rax
test rax, rax
je 0x1400b3eff
xor ecx, ecx
mov dword [rax + 0x1c], 2
mov word [rax + 0x20], r12w
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 0x1400b3f01
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], r12d
or dword [rdi + 0x1c], 1
xor r8d, r8d
mov qword [rdi + 0x50], rbx
mov qword [rdi + 0x10], rbx
mov rbx, qword [rsp + 0x88]
mov qword [rdi + 0x70], rax
mov qword [rdi + 0x58], r8
mov qword [rdi + 0x60], r8
mov dword [rdi + 0x68], 0x800
mov dword [rdi + 0x78], r12d
mov eax, 0x800
jmp 0x1400b4017
test r14b, 2
je 0x1400b3fd4
mov rcx, qword [0x1402e6b48]
call fcn.1401e3610
mov rdi, rax
test rax, rax
je 0x1400b3fc5
xor r8d, r8d
mov dword [rax + 0x1c], 2
mov word [rax + 0x20], r12w
mov qword [rax], r8
mov qword [rax + 8], r8
mov dword [rax + 0x18], r8d
add rax, 0x50
mov qword [rdi + 0x28], r8
mov dword [rdi + 0x38], r8d
mov qword [rdi + 0x10], rax
mov eax, 0xb0
mov qword [rdi + 0x30], r8
cmp ebp, eax
mov dword [rdi + 0x3c], r8d
mov dword [rdi + 0x40], r8d
mov word [rdi + 0x44], r8w
mov word [rdi + 0x46], r8w
mov qword [rdi + 0x48], r8
cmovl eax, ebp
jmp 0x1400b4017
mov eax, 0xb0
xor r8d, r8d
cmp ebp, eax
cmovl eax, ebp
jmp 0x1400b4017
mov rcx, qword [0x1402e6b48]
call fcn.1401e3610
mov rdi, rax
test rax, rax
je 0x1400b400a
xor r8d, r8d
mov word [rax + 0x20], r12w
add rax, 0x28
mov qword [rax - 0x28], r8
mov qword [rax - 0x20], r8
mov dword [rax - 0x10], r8d
mov dword [rax - 0xc], r8d
mov qword [rdi + 0x10], rax
jmp 0x1400b400d
xor r8d, r8d
mov eax, 0xd8
cmp ebp, eax
cmovl eax, ebp
test rdi, rdi
je 0x1400b4065
cmp eax, 0xc
jl 0x1400b4058
sub ebp, eax
test r15, r15
je 0x1400b402d
mov qword [r15], rdi
jmp 0x1400b4038
mov rbx, rdi
mov qword [rsp + 0x88], rbx
and r14d, 0xfffffffd
mov r15, rdi
test ebp, ebp
jg 0x1400b3ea0
test r14b, 4
je 0x1400b4051
or dword [rdi + 0x1c], 4
test rbx, rbx
je 0x1400b4075
jmp 0x1400b4078
mov rcx, rdi
call fcn.140077120
xor r8d, r8d
jmp 0x1400b4075
test rbx, rbx
je 0x1400b4075
mov rcx, rbx
call fcn.140077120
xor r8d, r8d
mov rbx, r8
mov r15, qword [rsp + 0x30]
mov r14, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x50]
mov qword [rsi + 0x40], rbx
test rbx, rbx
jne 0x1400b41e2
cmp byte [rsi + 0x78], bl
je 0x1400b40ae
movzx edx, word [rsi + 0x76]
xor r8d, r8d
mov rcx, r13
call fcn.1400bcac0
mov byte [rsi + 0x78], bl
xor r8d, r8d
mov rcx, qword [rsi + 0x50]
test rcx, rcx
je 0x1400b4172
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rcx + 0x1e8], eax
cmp eax, 1
jne 0x1400b416c
mov rax, qword [rsi + 0x50]
mov rcx, qword [rax + 0xd0]
test rcx, rcx
je 0x1400b4113
cmp dword [rcx + 0x14], 1
jg 0x1400b40fa
dec dword [rcx + 0x14]
cmp dword [rcx + 0x14], 0
jg 0x1400b40fd
call fcn.1401e36c8
xor r8d, r8d
jmp 0x1400b40fd
dec dword [rcx + 0x14]
mov rax, qword [rsi + 0x50]
mov qword [rax + 0xd0], r8
mov rax, qword [rsi + 0x50]
mov qword [rax + 0xd0], r8
mov rcx, qword [rsi + 0x50]
cmp byte [rcx + 0x24b], 0
je 0x1400b4139
mov rcx, qword [rcx + 0xf8]
call fcn.140078120
mov r11, qword [rsi + 0x50]
xor ecx, ecx
mov qword [r11 + 0xf8], rcx
mov rax, qword [rsi + 0x50]
mov ecx, 0xfffe
mov byte [rax + 0x24b], 0
mov rax, qword [rsi + 0x50]
and word [rax + 0x23c], cx
mov rcx, qword [rsi + 0x50]
call fcn.1401e36c8
mov r11d, ebx
lock xadd dword [0x1402e659c], r11d
xor r8d, r8d
mov qword [rsi + 0x50], r8
jmp 0x1400b4175
or ebx, 0xffffffff
movzx eax, word [r13 + 0x6fe]
cmp eax, dword [0x1402e6a24]
ja 0x1400b41cd
mov eax, dword [0x1402e6a20]
cmp dword [0x1402e65b8], eax
ja 0x1400b41cd
mov qword [rsi + 0x58], r8
mov rax, qword [r13 + 0x328]
lea rcx, [rsi + 0x58]
mov qword [rsi + 0x60], rax
mov rax, qword [r13 + 0x328]
mov qword [rax], rsi
inc word [r13 + 0x6fe]
mov qword [r13 + 0x328], rcx
lock xadd dword [0x1402e65b8], r12d
jmp 0x1400b4286
mov rcx, rsi
call fcn.1401e36c8
lock xadd dword [0x1402e65a0], ebx
jmp 0x1400b4286
add qword [rbx + 0x10], 0x20
mov rax, qword [rsi + 0x40]
movzx edx, word [rsi + 0x70]
mov dword [rax + 0x18], edx
mov rdx, qword [rsp + 0x78]
mov dword [rsi + 0x68], r8d
mov word [rsi + 0x6c], r8w
mov eax, r12d
mov qword [rsi + 0x50], rdx
lock xadd dword [rdx + 0x1e8], eax
inc word [r13 + 0x6fc]
mov rax, qword [rsi + 0x40]
mov ecx, reloc.WS2_32.dll_inet_ntoa
mov rbx, qword [rax + 0x10]
mov byte [rbx], reloc.WS2_32.dll_inet_ntoa
mov byte [rbx + 1], 0
call sub.WS2_32.dll_htons
mov ecx, dword [rsp + 0x80]
mov word [rbx + 2], ax
call sub.WS2_32.dll_htonl
mov ecx, r12d
mov dword [rbx + 4], eax
call sub.WS2_32.dll_htonl
lea rcx, [r13 + 0x330]
mov dword [rbx + 8], eax
mov rax, qword [rcx]
lea rdx, [rsi + 0x58]
mov qword [rdx], rax
test rax, rax
je 0x1400b426d
mov rax, qword [rcx]
mov qword [rax + 0x60], rdx
jmp 0x1400b4274
mov qword [r13 + 0x338], rdx
mov rax, qword [rsp + 0x20]
mov qword [rcx], rsi
mov qword [rsi + 0x60], rcx
inc dword [rax + 0x550]
mov rsi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x70]
mov r12, qword [rsp + 0x40]
add rsp, 0x58
pop r13
pop rdi
repz ret