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

Disassembly:
mov rax, rsp
mov dword [rax + 0x10], edx
push rbp
push rsi
push r12
push r13
push r15
sub rsp, 0x90
xor r13d, r13d
cmp byte [rcx + 0x720], 1
lea rsi, [rcx + 0x58]
mov r12d, 3
mov r15d, reloc.WS2_32.dll_recv
mov rbp, rcx
cmove r12d, r15d
mov dword [rsp + 0xd0], r13d
mov dword [rsp + 0xd8], r13d
mov dword [rsp + 0x40], r13d
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x44], r13d
mov dword [rsp + 0x3c], r12d
mov qword [rsp + 0x50], rsi
cmp qword [rsi + 0x390], r13
je 0x1400b2920
mov qword [rax - 0x30], rbx
mov qword [rax - 0x38], rdi
mov qword [rax - 0x40], r14
call fcn.1400cba20
mov rdx, rsi
mov rcx, rbp
call fcn.1400c7930
mov r14, qword [rsi + 0x2d8]
or edi, 0xffffffff
mov dword [rsi + 0x530], eax
mov qword [rsp + 0x48], r14
lea ebx, [r13 + 1]
test r14, r14
je 0x1400b19f9
cmp byte [r14], r12b
je 0x1400b1a4f
mov r14, qword [r14 + 0x58]
mov qword [rsp + 0x48], r14
test r14, r14
jne 0x1400b19e6
mov r14, qword [rbp + 0x320]
mov qword [rsp + 0x48], r14
test r14, r14
jne 0x1400b1bd9
mov rcx, qword [0x1402e64a0]
call fcn.1401e3610
mov r14, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x1400b1b92
mov ecx, ebx
lock xadd dword [0x1402e65a0], ecx
xor r11d, r11d
mov qword [rax + 0x50], r11
mov byte [rax + 0x78], r11b
mov byte [rax + 0x7d], r13b
mov byte [rax], r12b
mov byte [rax + 1], bl
jmp 0x1400b1c3e
mov rcx, qword [r14 + 0x58]
test rcx, rcx
je 0x1400b1a62
mov rax, qword [r14 + 0x60]
mov qword [rcx + 0x60], rax
jmp 0x1400b1a6d
mov rax, qword [r14 + 0x60]
mov qword [rsi + 0x2e0], rax
mov rcx, qword [r14 + 0x60]
mov rax, qword [r14 + 0x58]
mov qword [rcx], rax
dec dword [rsi + 0x550]
mov rbx, qword [r14 + 0x40]
test rbx, rbx
je 0x1400b1acf
nop word [rax + rax]
mov eax, dword [rbx + 0x1c]
mov rdi, qword [rbx]
test al, 1
je 0x1400b1aa4
mov rcx, rbx
call fcn.140077180
jmp 0x1400b1ac0
bt eax, 0x12
jb 0x1400b1ac0
test al, 2
je 0x1400b1ab8
xor edx, edx
mov rcx, rbx
call fcn.140077060
mov rcx, rbx
call fcn.1401e36c8
mov rbx, rdi
test rdi, rdi
jne 0x1400b1a90
mov qword [r14 + 0x40], r13
or edi, 0xffffffff
mov rcx, qword [r14 + 0x50]
test rcx, rcx
je 0x1400b1c36
mov eax, edi
lock xadd dword [rcx + 0x1e8], eax
cmp eax, 1
jne 0x1400b1b82
mov rax, qword [r14 + 0x50]
mov rcx, qword [rax + 0xd0]
test rcx, rcx
je 0x1400b1b2e
cmp dword [rcx + 0x14], 1
jg 0x1400b1b15
dec dword [rcx + 0x14]
cmp dword [rcx + 0x14], r13d
jg 0x1400b1b18
call fcn.1401e36c8
jmp 0x1400b1b18
dec dword [rcx + 0x14]
mov rax, qword [r14 + 0x50]
mov qword [rax + 0xd0], r13
mov rax, qword [r14 + 0x50]
mov qword [rax + 0xd0], r13
mov rcx, qword [r14 + 0x50]
cmp byte [rcx + 0x24b], r13b
je 0x1400b1b52
mov rcx, qword [rcx + 0xf8]
call fcn.140078120
mov r11, qword [r14 + 0x50]
mov qword [r11 + 0xf8], r13
mov rax, qword [r14 + 0x50]
mov ecx, 0xfffe
mov byte [rax + 0x24b], r13b
mov rax, qword [r14 + 0x50]
and word [rax + 0x23c], cx
mov rcx, qword [r14 + 0x50]
call fcn.1401e36c8
mov r11d, edi
lock xadd dword [0x1402e659c], r11d
xor r11d, r11d
mov qword [r14 + 0x50], r11
lea ebx, [r11 + 1]
jmp 0x1400b1c3e
cmp dword [rbp + 0x5fc], r13d
je 0x1400b1bce
mov rdx, qword [rbp + 8]
xor r9d, r9d
mov r8, rbp
lea ecx, [r9 + 3]
mov dword [rsp + 0x20], 0x90000004
call fcn.14008f120
mov rdx, qword [rbp + 8]
xor r9d, r9d
lea ecx, [r9 + 3]
mov r8, rbp
call fcn.14008eb90
jmp 0x1400b290b
mov byte [rbp + 0x702], bl
jmp 0x1400b290b
mov rcx, qword [r14 + 0x58]
test rcx, rcx
je 0x1400b1bec
mov rax, qword [r14 + 0x60]
mov qword [rcx + 0x60], rax
jmp 0x1400b1bf7
mov rax, qword [r14 + 0x60]
mov qword [rbp + 0x328], rax
mov rax, qword [r14 + 0x58]
mov rcx, qword [r14 + 0x60]
mov qword [rcx], rax
mov eax, edi
lock xadd dword [0x1402e65b8], eax
mov byte [r14 + 0x78], r13b
mov eax, ebx
lock xadd dword [0x1402e6930], eax
mov eax, 0xffff
add word [rbp + 0x6fe], ax
xor r11d, r11d
mov byte [r14 + 0x7d], r13b
mov byte [r14], r12b
mov byte [r14 + 1], bl
jmp 0x1400b1c3e
mov ebx, 1
xor r11d, r11d
mov dword [rsi + 0x5b0], r11d
mov word [r14 + 0x6e], r11w
mov qword [r14 + 0x30], rsi
mov word [r14 + 0x6c], r11w
mov word [r14 + 0x70], r11w
mov dword [r14 + 0x68], r11d
mov qword [r14 + 0x50], r11
mov rax, qword [rsi + 0x390]
test byte [rax + 0x23c], 1
jne 0x1400b1c97
xor r8d, r8d
mov rdx, rax
mov rcx, rbp
call fcn.1400bf2d0
mov qword [r14 + 0x50], rax
test rax, rax
jne 0x1400b1c9d
mov rax, qword [rsi + 0x390]
xor r11d, r11d
mov qword [r14 + 0x50], rax
jmp 0x1400b1ca0
mov qword [r14 + 0x50], rax
jmp 0x1400b1ca0
xor r11d, r11d
mov rcx, qword [r14 + 0x50]
test rcx, rcx
je 0x1400b1cb3
mov eax, ebx
lock xadd dword [rcx + 0x1e8], eax
mov edx, dword [rsi + 0x4ec]
mov ecx, dword [rsi + 0x4f8]
mov dword [rsp + 0x30], edx
cmp edx, ecx
jae 0x1400b1cd2
mov eax, ecx
sub eax, edx
cmp eax, 0x80000000
ja 0x1400b1ce7
cmp edx, ecx
jbe 0x1400b1ce1
mov eax, edx
sub eax, ecx
cmp eax, 0x80000000
jb 0x1400b1ce7
mov edx, ecx
mov dword [rsp + 0x30], ecx
cmp edx, dword [rsi + 0x4e4]
jne 0x1400b1d05
mov ebx, reloc.WS2_32.dll_sendto
cmp r12b, 3
cmove ebx, r15d
mov dword [rsp + 0xc0], ebx
jmp 0x1400b1d11
mov ebx, 0x800
mov dword [rsp + 0xc0], ebx
mov r12d, ebx
mov rsi, r11
mov r13, r11
mov r15d, r11d
test ebx, ebx
jle 0x1400b1eec
nop word [rax + rax]
cmp r12d, 0xb0
jle 0x1400b1df1
mov rcx, qword [0x1402e6b48]
call fcn.1401e3610
mov rdi, rax
test rax, rax
je 0x1400b1d94
xor ecx, ecx
mov dword [rax + 0x1c], 2
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov dword [rax + 0x18], ecx
mov eax, 1
mov qword [rdi + 0x28], rcx
mov dword [rdi + 0x38], ecx
mov word [rdi + 0x20], ax
lea rax, [rdi + 0x50]
mov qword [rdi + 0x30], rcx
mov dword [rdi + 0x3c], ecx
mov dword [rdi + 0x40], ecx
mov word [rdi + 0x44], cx
mov qword [rdi + 0x10], rax
mov word [rdi + 0x46], cx
mov qword [rdi + 0x48], rcx
jmp 0x1400b1d96
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 r11d, r11d
mov qword [rdi + 0x50], rbx
mov qword [rdi + 0x10], rbx
mov ebx, dword [rsp + 0xc0]
mov qword [rdi + 0x70], rax
mov qword [rdi + 0x58], r11
mov qword [rdi + 0x60], r11
mov dword [rdi + 0x68], 0x800
mov dword [rdi + 0x78], ecx
mov eax, 0x800
jmp 0x1400b1eba
test r15b, 2
je 0x1400b1e72
mov rcx, qword [0x1402e6b48]
call fcn.1401e3610
mov rdi, rax
test rax, rax
je 0x1400b1e61
xor r11d, r11d
mov dword [rax + 0x1c], 2
mov qword [rax], r11
mov qword [rax + 8], r11
mov dword [rax + 0x18], r11d
mov eax, 1
mov qword [rdi + 0x28], r11
mov dword [rdi + 0x38], r11d
mov word [rdi + 0x20], ax
lea rax, [rdi + 0x50]
mov qword [rdi + 0x30], r11
mov qword [rdi + 0x10], rax
mov eax, 0xb0
mov dword [rdi + 0x3c], r11d
cmp r12d, eax
mov dword [rdi + 0x40], r11d
mov word [rdi + 0x44], r11w
mov word [rdi + 0x46], r11w
mov qword [rdi + 0x48], r11
cmovl eax, r12d
jmp 0x1400b1eba
mov eax, 0xb0
xor r11d, r11d
cmp r12d, eax
cmovl eax, r12d
jmp 0x1400b1eba
mov rcx, qword [0x1402e6b48]
call fcn.1401e3610
mov rdi, rax
test rax, rax
je 0x1400b1eab
xor r11d, r11d
mov qword [rax], r11
mov qword [rax + 8], r11
mov dword [rax + 0x18], r11d
mov dword [rax + 0x1c], r11d
mov eax, 1
mov word [rdi + 0x20], ax
lea rax, [rdi + 0x28]
mov qword [rdi + 0x10], rax
jmp 0x1400b1eae
xor r11d, r11d
mov eax, 0xd8
cmp r12d, eax
cmovl eax, r12d
test rdi, rdi
je 0x1400b1f90
cmp eax, ebx
jl 0x1400b1f50
sub r12d, eax
test r13, r13
je 0x1400b1ed9
mov qword [r13], rdi
jmp 0x1400b1edc
mov rsi, rdi
and r15d, 0xfffffffd
mov r13, rdi
test r12d, r12d
jg 0x1400b1d30
test r15b, 4
je 0x1400b1ef7
or dword [r13 + 0x1c], 4
test rsi, rsi
jne 0x1400b1eff
mov rsi, r11
mov qword [r14 + 0x40], rsi
test rsi, rsi
je 0x1400b2781
cmp qword [r14 + 0x50], 0
je 0x1400b2740
add qword [rsi + 0x10], 0x20
mov rax, qword [r14 + 0x40]
mov ecx, dword [rax + 0x1c]
test cl, 1
je 0x1400b1fae
test cl, 8
jne 0x1400b1fa9
mov rax, qword [rax + 0x70]
mov ecx, dword [rax]
cmp ecx, 1
jne 0x1400b1fa9
mov rax, qword [r14 + 0x40]
mov edx, dword [rax + 0x68]
sub edx, dword [rax + 0x18]
sub edx, dword [rax + 0x10]
add edx, dword [rax + 0x50]
jmp 0x1400b1fbc
mov eax, dword [rdi + 0x1c]
mov rbx, qword [rdi]
test al, 1
je 0x1400b1f64
mov rcx, rdi
call fcn.140077180
jmp 0x1400b1f80
bt eax, 0x12
jb 0x1400b1f80
test al, 2
je 0x1400b1f78
xor edx, edx
mov rcx, rdi
call fcn.140077060
mov rcx, rdi
call fcn.1401e36c8
mov rdi, rbx
test rbx, rbx
jne 0x1400b1f50
xor r11d, r11d
jmp 0x1400b1efc
test rsi, rsi
je 0x1400b1efc
mov rcx, rsi
call fcn.140077120
xor r11d, r11d
jmp 0x1400b1efc
mov edx, r11d
jmp 0x1400b1fbc
mov edx, eax
sub edx, dword [rax + 0x18]
sub edx, dword [rax + 0x10]
add edx, 0x100
mov rax, qword [r14 + 0x50]
mov r8d, dword [rax + 0x100]
mov eax, edx
lea rcx, [r8 - 0x20]
cmp rax, rcx
jbe 0x1400b1fd6
lea edx, [r8 - 0x20]
mov rax, qword [r14 + 0x40]
mov ecx, edx
lea rsi, [rbp + 0x58]
add rcx, qword [rax + 0x10]
cmp byte [rsi + 0x6e7], 0
mov byte [rsp + 0xc0], 0
mov qword [rsp + 0x58], rcx
jbe 0x1400b201b
cmp dword [0x1402e6a6c], 0
je 0x1400b201b
movzx eax, byte [rsi + 0x6e6]
mov byte [rsi + 0x6e6], 0
shl al, 6
mov byte [rsp + 0xc0], al
mov r10d, dword [rsp + 0x3c]
mov dword [rbp + 0x7d0], r11d
cmp r10b, 3
jne 0x1400b2073
mov rax, qword [r14 + 0x40]
mov r12d, dword [rsi + 0x4e8]
mov edx, dword [rsp + 0x30]
mov r13, qword [rax + 0x10]
mov qword [rsp + 0x68], r11
mov qword [rsp + 0x60], r13
add r13, 0x10
cmp edx, r12d
jbe 0x1400b2063
mov r15d, edx
sub r15d, r12d
add r15d, 8
shr r15d, 3
jmp 0x1400b20bc
mov r15d, edx
sub r15d, r12d
add r15d, 7
shr r15d, 3
jmp 0x1400b20bc
mov rax, qword [r14 + 0x40]
mov r15d, dword [rsi + 0x4ec]
mov r12d, dword [rsi + 0x4e8]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x60], r11
lea r13, [rax + 0x14]
mov qword [rsp + 0x68], rax
cmp r15d, r12d
jbe 0x1400b20ad
mov edx, dword [rsp + 0x30]
sub r15d, r12d
add r15d, 8
shr r15d, 3
jmp 0x1400b20bc
mov edx, dword [rsp + 0x30]
sub r15d, r12d
add r15d, 7
shr r15d, 3
mov ecx, dword [rsi + 0x4e4]
cmp r12d, ecx
jae 0x1400b20d3
mov eax, ecx
sub eax, r12d
cmp eax, 0x80000000
ja 0x1400b20e4
cmp r12d, ecx
jbe 0x1400b20ec
mov eax, r12d
sub eax, ecx
cmp eax, 0x80000000
jae 0x1400b20ec
mov r12d, 1
jmp 0x1400b20ef
sub r12d, ecx
lea rbp, [0x14028c180]
cmp r10b, 3
jne 0x1400b2122
cmp edx, ecx
jae 0x1400b210b
mov eax, ecx
sub eax, edx
cmp eax, 0x80000000
ja 0x1400b2157
cmp edx, ecx
jbe 0x1400b254c
sub edx, ecx
cmp edx, 0x80000000
jb 0x1400b2157
jmp 0x1400b254c
cmp r10b, 0x10
jne 0x1400b254c
mov edx, dword [rsi + 0x4ec]
cmp edx, ecx
jae 0x1400b2141
mov eax, ecx
sub eax, edx
cmp eax, 0x80000000
ja 0x1400b2157
cmp edx, ecx
jbe 0x1400b2319
sub edx, ecx
cmp edx, 0x80000000
jae 0x1400b2319
mov r8d, r11d
mov dword [rsp + 0x34], r11d
test r15d, r15d
je 0x1400b2305
mov r9d, 1
mov r14d, 1
sub r9d, r12d
mov dword [rsp + 0x30], r9d
nop dword [rax]
mov rax, qword [rsi + 0x370]
mov ecx, r8d
movzx edx, byte [rcx + rax]
cmp r10b, 3
jne 0x1400b219e
mov rax, qword [rsi + 0x4f0]
or dl, byte [rax + rcx]
test r8d, r8d
jne 0x1400b21af
mov ecx, r9d
mov eax, 0xff
shl al, cl
and dl, al
mov ecx, dword [rsp + 0xd0]
movzx eax, dl
lea rdi, [rax + rax*4]
test ecx, ecx
je 0x1400b21d0
cmp byte [rbp + rdi*4], 0
je 0x1400b21d0
dec dword [rsp + 0x40]
sub r13, 4
movzx eax, byte [rbp + rdi*4 + 2]
test al, al
jne 0x1400b21e6
mov dword [rsp + 0xd0], r11d
jmp 0x1400b22dd
mov esi, r11d
test al, al
je 0x1400b22be
lea rax, [0x14028c180]
lea rbp, [r13 + 4]
lea rbx, [rax + rdi*4 + 6]
jmp 0x1400b220a
lea rax, [0x14028c180]
test ecx, ecx
je 0x1400b221e
cmp byte [rax + rdi*4], 0
je 0x1400b221e
mov dword [rsp + 0xd0], r11d
jmp 0x1400b2238
movzx ecx, word [rbx - 2]
mov dword [rsp + 0xd0], r11d
add cx, r12w
call sub.WS2_32.dll_htons
mov word [r13], ax
movzx ecx, r12w
add cx, word [rbx]
call sub.WS2_32.dll_htons
inc dword [rsp + 0x40]
add rbp, 4
mov word [rbp - 6], ax
add r13, 4
cmp rbp, qword [rsp + 0x58]
ja 0x1400b2296
mov ecx, dword [rsp + 0xd0]
lea rax, [0x14028c180]
inc esi
movzx eax, byte [rax + rdi*4 + 2]
add rbx, 4
mov r11d, 0
cmp esi, eax
jb 0x1400b2203
mov r8d, dword [rsp + 0x34]
mov r9d, dword [rsp + 0x30]
mov r10d, dword [rsp + 0x3c]
lea rbp, [0x14028c180]
jmp 0x1400b22be
mov r8d, dword [rsp + 0x34]
mov r9d, dword [rsp + 0x30]
mov ecx, dword [rsp + 0xd0]
mov r10d, dword [rsp + 0x3c]
mov dword [rsp + 0xd8], r14d
xor r11d, r11d
lea rbp, [0x14028c180]
cmp byte [rbp + rdi*4 + 1], 0
cmovne ecx, r14d
cmp dword [rsp + 0xd8], 0
mov dword [rsp + 0xd0], ecx
jne 0x1400b22fb
mov rsi, qword [rsp + 0x50]
inc r8d
sub r9d, 8
add r12d, 8
mov dword [rsp + 0x30], r9d
mov dword [rsp + 0x34], r8d
cmp r8d, r15d
jb 0x1400b2180
mov r14, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
cmp r10b, 0x10
jne 0x1400b2346
cmp dword [rsp + 0xd8], 0
jne 0x1400b2651
mov edx, dword [rsi + 0x4f8]
mov r15d, dword [rsi + 0x4e8]
mov ebx, r11d
cmp edx, r15d
jbe 0x1400b2359
mov r9d, edx
sub r9d, r15d
add r9d, 8
shr r9d, 3
mov dword [rsp + 0xd0], r9d
jmp 0x1400b236f
cmp dword [rsp + 0xd8], 0
jne 0x1400b25ad
jmp 0x1400b254c
mov r9d, edx
sub r9d, r15d
add r9d, 7
shr r9d, 3
mov dword [rsp + 0xd0], r9d
mov ecx, dword [rsi + 0x4e4]
cmp r15d, ecx
jae 0x1400b2386
mov eax, ecx
sub eax, r15d
cmp eax, 0x80000000
ja 0x1400b2397
cmp r15d, ecx
jbe 0x1400b239f
mov eax, r15d
sub eax, ecx
cmp eax, 0x80000000
jae 0x1400b239f
mov r15d, 1
jmp 0x1400b23a2
sub r15d, ecx
cmp edx, ecx
jae 0x1400b23b1
mov eax, ecx
sub eax, edx
cmp eax, 0x80000000
ja 0x1400b23c7
cmp edx, ecx
jbe 0x1400b254c
sub edx, ecx
cmp edx, 0x80000000
jae 0x1400b254c
mov r8d, r11d
mov dword [rsp + 0x30], r11d
test r9d, r9d
je 0x1400b254c
mov r10d, 1
sub r10d, r15d
mov dword [rsp + 0x34], r10d
nop word [rax + rax]
mov rax, qword [rsi + 0x4f0]
mov ecx, r8d
movzx edx, byte [rcx + rax]
test r8d, r8d
jne 0x1400b240f
mov ecx, r10d
mov eax, 0xff
shl al, cl
and dl, al
movzx eax, dl
lea rsi, [rax + rax*4]
test ebx, ebx
je 0x1400b2429
cmp byte [rbp + rsi*4], 0
je 0x1400b2429
dec dword [rsp + 0x38]
sub r13, 4
movzx eax, byte [rbp + rsi*4 + 2]
test al, al
jne 0x1400b243a
mov ebx, r11d
jmp 0x1400b251b
mov r12d, r11d
test al, al
je 0x1400b250e
lea rax, [0x14028c180]
lea rbp, [r13 + 4]
lea rdi, [rax + rsi*4 + 6]
jmp 0x1400b2467
lea rax, [0x14028c180]
test ebx, ebx
je 0x1400b2476
cmp byte [rax + rsi*4], 0
je 0x1400b2476
mov ebx, r11d
jmp 0x1400b248b
movzx ecx, word [rdi - 2]
mov ebx, r11d
add cx, r15w
call sub.WS2_32.dll_htons
mov word [r13], ax
movzx ecx, r15w
add cx, word [rdi]
call sub.WS2_32.dll_htons
inc dword [rsp + 0x38]
add rbp, 4
mov word [rbp - 6], ax
add r13, 4
cmp rbp, qword [rsp + 0x58]
ja 0x1400b24e7
lea rax, [0x14028c180]
inc r12d
add rdi, 4
movzx eax, byte [rax + rsi*4 + 2]
mov r11d, 0
cmp r12d, eax
jb 0x1400b2460
mov r8d, dword [rsp + 0x30]
mov r9d, dword [rsp + 0xd0]
mov r10d, dword [rsp + 0x34]
lea rbp, [0x14028c180]
jmp 0x1400b250e
mov r8d, dword [rsp + 0x30]
mov r9d, dword [rsp + 0xd0]
mov r10d, dword [rsp + 0x34]
mov dword [rsp + 0xd8], 1
xor r11d, r11d
lea rbp, [0x14028c180]
cmp byte [rbp + rsi*4 + 1], 0
mov eax, 1
cmovne ebx, eax
cmp dword [rsp + 0xd8], 0
jne 0x1400b2646
mov rsi, qword [rsp + 0x50]
inc r8d
sub r10d, 8
add r15d, 8
mov dword [rsp + 0x34], r10d
mov dword [rsp + 0x30], r8d
cmp r8d, r9d
jb 0x1400b23f0
mov eax, dword [rsi + 0x5b4]
test eax, eax
je 0x1400b25ad
mov ebx, r11d
test eax, eax
je 0x1400b25a6
mov rbp, qword [rsp + 0x58]
mov r14d, dword [rsp + 0x44]
lea rdi, [rsi + 0x5b8]
nop
mov ecx, dword [rdi]
call sub.WS2_32.dll_htonl
add r13, 4
inc r14d
mov dword [r13 - 4], eax
lea rax, [r13 + 4]
cmp rax, rbp
ja 0x1400b2599
inc ebx
add rdi, 4
cmp ebx, dword [rsi + 0x5b4]
jb 0x1400b2570
mov dword [rsp + 0x44], r14d
mov r14, qword [rsp + 0x48]
xor r11d, r11d
mov dword [rsi + 0x5b4], r11d
mov ebp, dword [rsp + 0x3c]
cmp bpl, 3
jne 0x1400b2655
mov eax, dword [rsp + 0x38]
mov r13d, dword [rsp + 0x44]
mov r12d, dword [rsp + 0x40]
add ax, r13w
add ax, r12w
add ax, 4
shl ax, 2
movzx edx, ax
mov rax, qword [r14 + 0x40]
mov word [r14 + 0x70], dx
mov dword [rax + 0x18], edx
mov ecx, dword [rsi + 0x4e4]
call sub.WS2_32.dll_htonl
mov rbx, qword [rsp + 0x60]
mov dword [rbx + 4], eax
mov ecx, dword [rsi + 0x530]
call sub.WS2_32.dll_htonl
movzx ecx, r12w
mov dword [rbx + 8], eax
call sub.WS2_32.dll_htons
movzx ecx, r13w
mov word [rbx + 0xc], ax
call sub.WS2_32.dll_htons
mov byte [rbx], bpl
mov word [rbx + 0xe], ax
mov al, byte [rsp + 0xc0]
mov byte [rbx + 1], al
movzx ecx, word [r14 + 0x70]
call sub.WS2_32.dll_htons
xor r13d, r13d
mov word [rbx + 2], ax
jmp 0x1400b26ed
mov rsi, qword [rsp + 0x50]
mov ebp, dword [rsp + 0x3c]
jmp 0x1400b2655
mov ebp, dword [rsp + 0x3c]
mov edi, dword [rsp + 0x38]
mov r13d, dword [rsp + 0x44]
mov r12d, dword [rsp + 0x40]
lea eax, [r13 + rdi]
add ax, r12w
add ax, 5
shl ax, 2
movzx edx, ax
mov rax, qword [r14 + 0x40]
mov word [r14 + 0x70], dx
mov dword [rax + 0x18], edx
mov ecx, dword [rsi + 0x4e4]
call sub.WS2_32.dll_htonl
mov rbx, qword [rsp + 0x68]
mov dword [rbx + 4], eax
mov ecx, dword [rsi + 0x530]
call sub.WS2_32.dll_htonl
movzx ecx, r12w
mov dword [rbx + 8], eax
call sub.WS2_32.dll_htons
movzx ecx, di
mov word [rbx + 0xc], ax
call sub.WS2_32.dll_htons
movzx ecx, r13w
mov word [rbx + 0xe], ax
call sub.WS2_32.dll_htons
xor r13d, r13d
mov word [rbx + 0x10], ax
mov al, byte [rsp + 0xc0]
mov word [rbx + 0x12], r13w
mov byte [rbx + 1], al
mov byte [rbx], bpl
movzx ecx, word [r14 + 0x70]
call sub.WS2_32.dll_htons
mov word [rbx + 2], ax
mov qword [r14 + 0x58], r13
mov rax, qword [rsi + 0x2e0]
lea rcx, [r14 + 0x58]
mov qword [r14 + 0x60], rax
mov rax, qword [rsi + 0x2e0]
mov qword [rax], r14
mov eax, dword [rsi + 0x530]
inc dword [rsi + 0x550]
mov dword [rsi + 0x534], eax
mov qword [rsi + 0x2e0], rcx
mov byte [rsi + 0x6aa], 0
mov eax, 1
lock xadd dword [0x1402e67d4], eax
jmp 0x1400b290b
mov eax, dword [rsi + 0x1c]
mov rbx, qword [rsi]
test al, 1
je 0x1400b2754
mov rcx, rsi
call fcn.140077180
jmp 0x1400b2770
bt eax, 0x12
jb 0x1400b2770
test al, 2
je 0x1400b2768
xor edx, edx
mov rcx, rsi
call fcn.140077060
mov rcx, rsi
call fcn.1401e36c8
mov rsi, rbx
test rbx, rbx
jne 0x1400b2740
xor r13d, r13d
mov qword [r14 + 0x40], r13
jmp 0x1400b2784
xor r13d, r13d
cmp byte [r14 + 0x78], 0
je 0x1400b27a5
mov r8d, dword [rsp + 0xc8]
movzx edx, word [r14 + 0x76]
mov rcx, rbp
call fcn.1400bcac0
mov byte [r14 + 0x78], 0
mov rcx, qword [r14 + 0x50]
test rcx, rcx
je 0x1400b2861
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rcx + 0x1e8], eax
cmp eax, 1
jne 0x1400b285b
mov rax, qword [r14 + 0x50]
mov rcx, qword [rax + 0xd0]
test rcx, rcx
je 0x1400b2807
cmp dword [rcx + 0x14], 1
jg 0x1400b27ee
dec dword [rcx + 0x14]
cmp dword [rcx + 0x14], 0
jg 0x1400b27f1
call fcn.1401e36c8
jmp 0x1400b27f1
dec dword [rcx + 0x14]
mov rax, qword [r14 + 0x50]
mov qword [rax + 0xd0], r13
mov rax, qword [r14 + 0x50]
mov qword [rax + 0xd0], r13
mov rcx, qword [r14 + 0x50]
cmp byte [rcx + 0x24b], 0
je 0x1400b282b
mov rcx, qword [rcx + 0xf8]
call fcn.140078120
mov r11, qword [r14 + 0x50]
mov qword [r11 + 0xf8], r13
mov rax, qword [r14 + 0x50]
mov ecx, 0xfffe
mov byte [rax + 0x24b], 0
mov rax, qword [r14 + 0x50]
and word [rax + 0x23c], cx
mov rcx, qword [r14 + 0x50]
call fcn.1401e36c8
mov r11d, ebx
lock xadd dword [0x1402e659c], r11d
mov qword [r14 + 0x50], r13
jmp 0x1400b2864
or ebx, 0xffffffff
movzx eax, word [rbp + 0x6fe]
cmp eax, dword [0x1402e6a24]
ja 0x1400b28bb
mov eax, dword [0x1402e6a20]
cmp dword [0x1402e65b8], eax
ja 0x1400b28bb
mov qword [r14 + 0x58], r13
mov rax, qword [rbp + 0x328]
lea rcx, [r14 + 0x58]
mov qword [r14 + 0x60], rax
mov rax, qword [rbp + 0x328]
mov qword [rax], r14
inc word [rbp + 0x6fe]
mov qword [rbp + 0x328], rcx
mov eax, 1
lock xadd dword [0x1402e65b8], eax
jmp 0x1400b28cb
mov rcx, r14
call fcn.1401e36c8
lock xadd dword [0x1402e65a0], ebx
cmp dword [rbp + 0x5fc], 0
je 0x1400b2904
mov rdx, qword [rbp + 8]
xor r9d, r9d
mov r8, rbp
lea ecx, [r9 + 3]
mov dword [rsp + 0x20], 0x90000005
call fcn.14008f120
mov rdx, qword [rbp + 8]
xor r9d, r9d
lea ecx, [r9 + 3]
mov r8, rbp
call fcn.14008eb90
jmp 0x1400b290b
mov byte [rbp + 0x702], 1
mov rdi, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x88]
mov r14, qword [rsp + 0x78]
add rsp, 0x90
pop r15
pop r13
pop r12
pop rsi
pop rbp
ret