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

Disassembly:
test rdx, rdx
je 0x1400b672c
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 0x1400b61c4
nop
cmp byte [rax], 0xc
jne 0x1400b61bb
cmp rdx, qword [rax + 0x50]
je 0x1400b6215
mov rax, qword [rax + 0x58]
test rax, rax
jne 0x1400b61b0
mov qword [rsp + 0x48], rsi
mov rsi, qword [rcx + 0x320]
xor r8d, r8d
test rsi, rsi
jne 0x1400b6285
mov rcx, qword [0x1402e80e0]
call fcn.1401e6440
mov rsi, rax
test rax, rax
je 0x1400b6716
mov r12d, 1
mov ecx, r12d
lock xadd dword [0x1402e81e0], ecx
xor r8d, r8d
mov qword [rax + 0x50], r8
mov byte [rax + 0x78], r8b
jmp 0x1400b62db
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 0x1400b6236
mov ecx, eax
sub ecx, edi
cmp ecx, 0x80000000
ja 0x1400b6246
cmp edi, eax
jbe 0x1400b625f
mov ecx, edi
sub ecx, eax
cmp ecx, 0x80000000
jae 0x1400b625f
mov ecx, edi
call sub.WS2_32.dll_htonl
mov r12d, 1
mov dword [rbx + 4], eax
lock xadd dword [0x1402e8588], 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 0x1400b6298
mov rax, qword [rsi + 0x60]
mov qword [rcx + 0x60], rax
jmp 0x1400b62a3
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 [0x1402e81f8], eax
mov r12d, 1
mov byte [rsi + 0x78], r8b
mov eax, r12d
lock xadd dword [0x1402e8570], 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 [0x1402e8588], 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 0x1400b63eb
mov rcx, qword [0x1402e8788]
call fcn.1401e6440
mov rdi, rax
test rax, rax
je 0x1400b638f
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 0x1400b6391
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], 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 0x1400b64a7
test r14b, 2
je 0x1400b6464
mov rcx, qword [0x1402e8788]
call fcn.1401e6440
mov rdi, rax
test rax, rax
je 0x1400b6455
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 0x1400b64a7
mov eax, 0xb0
xor r8d, r8d
cmp ebp, eax
cmovl eax, ebp
jmp 0x1400b64a7
mov rcx, qword [0x1402e8788]
call fcn.1401e6440
mov rdi, rax
test rax, rax
je 0x1400b649a
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 0x1400b649d
xor r8d, r8d
mov eax, 0xd8
cmp ebp, eax
cmovl eax, ebp
test rdi, rdi
je 0x1400b64f5
cmp eax, 0xc
jl 0x1400b64e8
sub ebp, eax
test r15, r15
je 0x1400b64bd
mov qword [r15], rdi
jmp 0x1400b64c8
mov rbx, rdi
mov qword [rsp + 0x88], rbx
and r14d, 0xfffffffd
mov r15, rdi
test ebp, ebp
jg 0x1400b6330
test r14b, 4
je 0x1400b64e1
or dword [rdi + 0x1c], 4
test rbx, rbx
je 0x1400b6505
jmp 0x1400b6508
mov rcx, rdi
call fcn.1400795b0
xor r8d, r8d
jmp 0x1400b6505
test rbx, rbx
je 0x1400b6505
mov rcx, rbx
call fcn.1400795b0
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 0x1400b6672
cmp byte [rsi + 0x78], bl
je 0x1400b653e
movzx edx, word [rsi + 0x76]
xor r8d, r8d
mov rcx, r13
call fcn.1400bef50
mov byte [rsi + 0x78], bl
xor r8d, r8d
mov rcx, qword [rsi + 0x50]
test rcx, rcx
je 0x1400b6602
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rcx + 0x1e8], eax
cmp eax, 1
jne 0x1400b65fc
mov rax, qword [rsi + 0x50]
mov rcx, qword [rax + 0xd0]
test rcx, rcx
je 0x1400b65a3
cmp dword [rcx + 0x14], 1
jg 0x1400b658a
dec dword [rcx + 0x14]
cmp dword [rcx + 0x14], 0
jg 0x1400b658d
call fcn.1401e64f8
xor r8d, r8d
jmp 0x1400b658d
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 0x1400b65c9
mov rcx, qword [rcx + 0xf8]
call fcn.14007a5b0
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.1401e64f8
mov r11d, ebx
lock xadd dword [0x1402e81dc], r11d
xor r8d, r8d
mov qword [rsi + 0x50], r8
jmp 0x1400b6605
or ebx, 0xffffffff
movzx eax, word [r13 + 0x6fe]
cmp eax, dword [0x1402e8664]
ja 0x1400b665d
mov eax, dword [0x1402e8660]
cmp dword [0x1402e81f8], eax
ja 0x1400b665d
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 [0x1402e81f8], r12d
jmp 0x1400b6716
mov rcx, rsi
call fcn.1401e64f8
lock xadd dword [0x1402e81e0], ebx
jmp 0x1400b6716
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 0x1400b66fd
mov rax, qword [rcx]
mov qword [rax + 0x60], rdx
jmp 0x1400b6704
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