Function at 0x1400b3dd0
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 0x1400b4db0
mov qword [rax - 0x30], rbx
mov qword [rax - 0x38], rdi
mov qword [rax - 0x40], r14
call fcn.1400cdec0
mov rdx, rsi
mov rcx, rbp
call fcn.1400c9dd0
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 0x1400b3e89
cmp byte [r14], r12b
je 0x1400b3edf
mov r14, qword [r14 + 0x58]
mov qword [rsp + 0x48], r14
test r14, r14
jne 0x1400b3e76
mov r14, qword [rbp + 0x320]
mov qword [rsp + 0x48], r14
test r14, r14
jne 0x1400b4069
mov rcx, qword [0x1402e80e0]
call fcn.1401e6440
mov r14, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x1400b4022
mov ecx, ebx
lock xadd dword [0x1402e81e0], 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 0x1400b40ce
mov rcx, qword [r14 + 0x58]
test rcx, rcx
je 0x1400b3ef2
mov rax, qword [r14 + 0x60]
mov qword [rcx + 0x60], rax
jmp 0x1400b3efd
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 0x1400b3f5f
nop word [rax + rax]
mov eax, dword [rbx + 0x1c]
mov rdi, qword [rbx]
test al, 1
je 0x1400b3f34
mov rcx, rbx
call fcn.140079610
jmp 0x1400b3f50
bt eax, 0x12
jb 0x1400b3f50
test al, 2
je 0x1400b3f48
xor edx, edx
mov rcx, rbx
call fcn.1400794f0
mov rcx, rbx
call fcn.1401e64f8
mov rbx, rdi
test rdi, rdi
jne 0x1400b3f20
mov qword [r14 + 0x40], r13
or edi, 0xffffffff
mov rcx, qword [r14 + 0x50]
test rcx, rcx
je 0x1400b40c6
mov eax, edi
lock xadd dword [rcx + 0x1e8], eax
cmp eax, 1
jne 0x1400b4012
mov rax, qword [r14 + 0x50]
mov rcx, qword [rax + 0xd0]
test rcx, rcx
je 0x1400b3fbe
cmp dword [rcx + 0x14], 1
jg 0x1400b3fa5
dec dword [rcx + 0x14]
cmp dword [rcx + 0x14], r13d
jg 0x1400b3fa8
call fcn.1401e64f8
jmp 0x1400b3fa8
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 0x1400b3fe2
mov rcx, qword [rcx + 0xf8]
call fcn.14007a5b0
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.1401e64f8
mov r11d, edi
lock xadd dword [0x1402e81dc], r11d
xor r11d, r11d
mov qword [r14 + 0x50], r11
lea ebx, [r11 + 1]
jmp 0x1400b40ce
cmp dword [rbp + 0x5fc], r13d
je 0x1400b405e
mov rdx, qword [rbp + 8]
xor r9d, r9d
mov r8, rbp
lea ecx, [r9 + 3]
mov dword [rsp + 0x20], 0x90000004
call fcn.1400915b0
mov rdx, qword [rbp + 8]
xor r9d, r9d
lea ecx, [r9 + 3]
mov r8, rbp
call fcn.140091020
jmp 0x1400b4d9b
mov byte [rbp + 0x702], bl
jmp 0x1400b4d9b
mov rcx, qword [r14 + 0x58]
test rcx, rcx
je 0x1400b407c
mov rax, qword [r14 + 0x60]
mov qword [rcx + 0x60], rax
jmp 0x1400b4087
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 [0x1402e81f8], eax
mov byte [r14 + 0x78], r13b
mov eax, ebx
lock xadd dword [0x1402e8570], 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 0x1400b40ce
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 0x1400b4127
xor r8d, r8d
mov rdx, rax
mov rcx, rbp
call fcn.1400c1760
mov qword [r14 + 0x50], rax
test rax, rax
jne 0x1400b412d
mov rax, qword [rsi + 0x390]
xor r11d, r11d
mov qword [r14 + 0x50], rax
jmp 0x1400b4130
mov qword [r14 + 0x50], rax
jmp 0x1400b4130
xor r11d, r11d
mov rcx, qword [r14 + 0x50]
test rcx, rcx
je 0x1400b4143
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 0x1400b4162
mov eax, ecx
sub eax, edx
cmp eax, 0x80000000
ja 0x1400b4177
cmp edx, ecx
jbe 0x1400b4171
mov eax, edx
sub eax, ecx
cmp eax, 0x80000000
jb 0x1400b4177
mov edx, ecx
mov dword [rsp + 0x30], ecx
cmp edx, dword [rsi + 0x4e4]
jne 0x1400b4195
mov ebx, reloc.WS2_32.dll_sendto
cmp r12b, 3
cmove ebx, r15d
mov dword [rsp + 0xc0], ebx
jmp 0x1400b41a1
mov ebx, 0x800
mov dword [rsp + 0xc0], ebx
mov r12d, ebx
mov rsi, r11
mov r13, r11
mov r15d, r11d
test ebx, ebx
jle 0x1400b437c
nop word [rax + rax]
cmp r12d, 0xb0
jle 0x1400b4281
mov rcx, qword [0x1402e8788]
call fcn.1401e6440
mov rdi, rax
test rax, rax
je 0x1400b4224
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 0x1400b4226
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 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 0x1400b434a
test r15b, 2
je 0x1400b4302
mov rcx, qword [0x1402e8788]
call fcn.1401e6440
mov rdi, rax
test rax, rax
je 0x1400b42f1
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 0x1400b434a
mov eax, 0xb0
xor r11d, r11d
cmp r12d, eax
cmovl eax, r12d
jmp 0x1400b434a
mov rcx, qword [0x1402e8788]
call fcn.1401e6440
mov rdi, rax
test rax, rax
je 0x1400b433b
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 0x1400b433e
xor r11d, r11d
mov eax, 0xd8
cmp r12d, eax
cmovl eax, r12d
test rdi, rdi
je 0x1400b4420
cmp eax, ebx
jl 0x1400b43e0
sub r12d, eax
test r13, r13
je 0x1400b4369
mov qword [r13], rdi
jmp 0x1400b436c
mov rsi, rdi
and r15d, 0xfffffffd
mov r13, rdi
test r12d, r12d
jg 0x1400b41c0
test r15b, 4
je 0x1400b4387
or dword [r13 + 0x1c], 4
test rsi, rsi
jne 0x1400b438f
mov rsi, r11
mov qword [r14 + 0x40], rsi
test rsi, rsi
je 0x1400b4c11
cmp qword [r14 + 0x50], 0
je 0x1400b4bd0
add qword [rsi + 0x10], 0x20
mov rax, qword [r14 + 0x40]
mov ecx, dword [rax + 0x1c]
test cl, 1
je 0x1400b443e
test cl, 8
jne 0x1400b4439
mov rax, qword [rax + 0x70]
mov ecx, dword [rax]
cmp ecx, 1
jne 0x1400b4439
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 0x1400b444c
mov eax, dword [rdi + 0x1c]
mov rbx, qword [rdi]
test al, 1
je 0x1400b43f4
mov rcx, rdi
call fcn.140079610
jmp 0x1400b4410
bt eax, 0x12
jb 0x1400b4410
test al, 2
je 0x1400b4408
xor edx, edx
mov rcx, rdi
call fcn.1400794f0
mov rcx, rdi
call fcn.1401e64f8
mov rdi, rbx
test rbx, rbx
jne 0x1400b43e0
xor r11d, r11d
jmp 0x1400b438c
test rsi, rsi
je 0x1400b438c
mov rcx, rsi
call fcn.1400795b0
xor r11d, r11d
jmp 0x1400b438c
mov edx, r11d
jmp 0x1400b444c
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 0x1400b4466
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 0x1400b44ab
cmp dword [0x1402e86ac], 0
je 0x1400b44ab
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 0x1400b4503
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 0x1400b44f3
mov r15d, edx
sub r15d, r12d
add r15d, 8
shr r15d, 3
jmp 0x1400b454c
mov r15d, edx
sub r15d, r12d
add r15d, 7
shr r15d, 3
jmp 0x1400b454c
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 0x1400b453d
mov edx, dword [rsp + 0x30]
sub r15d, r12d
add r15d, 8
shr r15d, 3
jmp 0x1400b454c
mov edx, dword [rsp + 0x30]
sub r15d, r12d
add r15d, 7
shr r15d, 3
mov ecx, dword [rsi + 0x4e4]
cmp r12d, ecx
jae 0x1400b4563
mov eax, ecx
sub eax, r12d
cmp eax, 0x80000000
ja 0x1400b4574
cmp r12d, ecx
jbe 0x1400b457c
mov eax, r12d
sub eax, ecx
cmp eax, 0x80000000
jae 0x1400b457c
mov r12d, 1
jmp 0x1400b457f
sub r12d, ecx
lea rbp, [0x14028ed80]
cmp r10b, 3
jne 0x1400b45b2
cmp edx, ecx
jae 0x1400b459b
mov eax, ecx
sub eax, edx
cmp eax, 0x80000000
ja 0x1400b45e7
cmp edx, ecx
jbe 0x1400b49dc
sub edx, ecx
cmp edx, 0x80000000
jb 0x1400b45e7
jmp 0x1400b49dc
cmp r10b, 0x10
jne 0x1400b49dc
mov edx, dword [rsi + 0x4ec]
cmp edx, ecx
jae 0x1400b45d1
mov eax, ecx
sub eax, edx
cmp eax, 0x80000000
ja 0x1400b45e7
cmp edx, ecx
jbe 0x1400b47a9
sub edx, ecx
cmp edx, 0x80000000
jae 0x1400b47a9
mov r8d, r11d
mov dword [rsp + 0x34], r11d
test r15d, r15d
je 0x1400b4795
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 0x1400b462e
mov rax, qword [rsi + 0x4f0]
or dl, byte [rax + rcx]
test r8d, r8d
jne 0x1400b463f
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 0x1400b4660
cmp byte [rbp + rdi*4], 0
je 0x1400b4660
dec dword [rsp + 0x40]
sub r13, 4
movzx eax, byte [rbp + rdi*4 + 2]
test al, al
jne 0x1400b4676
mov dword [rsp + 0xd0], r11d
jmp 0x1400b476d
mov esi, r11d
test al, al
je 0x1400b474e
lea rax, [0x14028ed80]
lea rbp, [r13 + 4]
lea rbx, [rax + rdi*4 + 6]
jmp 0x1400b469a
lea rax, [0x14028ed80]
test ecx, ecx
je 0x1400b46ae
cmp byte [rax + rdi*4], 0
je 0x1400b46ae
mov dword [rsp + 0xd0], r11d
jmp 0x1400b46c8
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 0x1400b4726
mov ecx, dword [rsp + 0xd0]
lea rax, [0x14028ed80]
inc esi
movzx eax, byte [rax + rdi*4 + 2]
add rbx, 4
mov r11d, 0
cmp esi, eax
jb 0x1400b4693
mov r8d, dword [rsp + 0x34]
mov r9d, dword [rsp + 0x30]
mov r10d, dword [rsp + 0x3c]
lea rbp, [0x14028ed80]
jmp 0x1400b474e
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, [0x14028ed80]
cmp byte [rbp + rdi*4 + 1], 0
cmovne ecx, r14d
cmp dword [rsp + 0xd8], 0
mov dword [rsp + 0xd0], ecx
jne 0x1400b478b
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 0x1400b4610
mov r14, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
cmp r10b, 0x10
jne 0x1400b47d6
cmp dword [rsp + 0xd8], 0
jne 0x1400b4ae1
mov edx, dword [rsi + 0x4f8]
mov r15d, dword [rsi + 0x4e8]
mov ebx, r11d
cmp edx, r15d
jbe 0x1400b47e9
mov r9d, edx
sub r9d, r15d
add r9d, 8
shr r9d, 3
mov dword [rsp + 0xd0], r9d
jmp 0x1400b47ff
cmp dword [rsp + 0xd8], 0
jne 0x1400b4a3d
jmp 0x1400b49dc
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 0x1400b4816
mov eax, ecx
sub eax, r15d
cmp eax, 0x80000000
ja 0x1400b4827
cmp r15d, ecx
jbe 0x1400b482f
mov eax, r15d
sub eax, ecx
cmp eax, 0x80000000
jae 0x1400b482f
mov r15d, 1
jmp 0x1400b4832
sub r15d, ecx
cmp edx, ecx
jae 0x1400b4841
mov eax, ecx
sub eax, edx
cmp eax, 0x80000000
ja 0x1400b4857
cmp edx, ecx
jbe 0x1400b49dc
sub edx, ecx
cmp edx, 0x80000000
jae 0x1400b49dc
mov r8d, r11d
mov dword [rsp + 0x30], r11d
test r9d, r9d
je 0x1400b49dc
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 0x1400b489f
mov ecx, r10d
mov eax, 0xff
shl al, cl
and dl, al
movzx eax, dl
lea rsi, [rax + rax*4]
test ebx, ebx
je 0x1400b48b9
cmp byte [rbp + rsi*4], 0
je 0x1400b48b9
dec dword [rsp + 0x38]
sub r13, 4
movzx eax, byte [rbp + rsi*4 + 2]
test al, al
jne 0x1400b48ca
mov ebx, r11d
jmp 0x1400b49ab
mov r12d, r11d
test al, al
je 0x1400b499e
lea rax, [0x14028ed80]
lea rbp, [r13 + 4]
lea rdi, [rax + rsi*4 + 6]
jmp 0x1400b48f7
lea rax, [0x14028ed80]
test ebx, ebx
je 0x1400b4906
cmp byte [rax + rsi*4], 0
je 0x1400b4906
mov ebx, r11d
jmp 0x1400b491b
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 0x1400b4977
lea rax, [0x14028ed80]
inc r12d
add rdi, 4
movzx eax, byte [rax + rsi*4 + 2]
mov r11d, 0
cmp r12d, eax
jb 0x1400b48f0
mov r8d, dword [rsp + 0x30]
mov r9d, dword [rsp + 0xd0]
mov r10d, dword [rsp + 0x34]
lea rbp, [0x14028ed80]
jmp 0x1400b499e
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, [0x14028ed80]
cmp byte [rbp + rsi*4 + 1], 0
mov eax, 1
cmovne ebx, eax
cmp dword [rsp + 0xd8], 0
jne 0x1400b4ad6
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 0x1400b4880
mov eax, dword [rsi + 0x5b4]
test eax, eax
je 0x1400b4a3d
mov ebx, r11d
test eax, eax
je 0x1400b4a36
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 0x1400b4a29
inc ebx
add rdi, 4
cmp ebx, dword [rsi + 0x5b4]
jb 0x1400b4a00
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 0x1400b4ae5
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 0x1400b4b7d
mov rsi, qword [rsp + 0x50]
mov ebp, dword [rsp + 0x3c]
jmp 0x1400b4ae5
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 [0x1402e8414], eax
jmp 0x1400b4d9b
mov eax, dword [rsi + 0x1c]
mov rbx, qword [rsi]
test al, 1
je 0x1400b4be4
mov rcx, rsi
call fcn.140079610
jmp 0x1400b4c00
bt eax, 0x12
jb 0x1400b4c00
test al, 2
je 0x1400b4bf8
xor edx, edx
mov rcx, rsi
call fcn.1400794f0
mov rcx, rsi
call fcn.1401e64f8
mov rsi, rbx
test rbx, rbx
jne 0x1400b4bd0
xor r13d, r13d
mov qword [r14 + 0x40], r13
jmp 0x1400b4c14
xor r13d, r13d
cmp byte [r14 + 0x78], 0
je 0x1400b4c35
mov r8d, dword [rsp + 0xc8]
movzx edx, word [r14 + 0x76]
mov rcx, rbp
call fcn.1400bef50
mov byte [r14 + 0x78], 0
mov rcx, qword [r14 + 0x50]
test rcx, rcx
je 0x1400b4cf1
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rcx + 0x1e8], eax
cmp eax, 1
jne 0x1400b4ceb
mov rax, qword [r14 + 0x50]
mov rcx, qword [rax + 0xd0]
test rcx, rcx
je 0x1400b4c97
cmp dword [rcx + 0x14], 1
jg 0x1400b4c7e
dec dword [rcx + 0x14]
cmp dword [rcx + 0x14], 0
jg 0x1400b4c81
call fcn.1401e64f8
jmp 0x1400b4c81
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 0x1400b4cbb
mov rcx, qword [rcx + 0xf8]
call fcn.14007a5b0
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.1401e64f8
mov r11d, ebx
lock xadd dword [0x1402e81dc], r11d
mov qword [r14 + 0x50], r13
jmp 0x1400b4cf4
or ebx, 0xffffffff
movzx eax, word [rbp + 0x6fe]
cmp eax, dword [0x1402e8664]
ja 0x1400b4d4b
mov eax, dword [0x1402e8660]
cmp dword [0x1402e81f8], eax
ja 0x1400b4d4b
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 [0x1402e81f8], eax
jmp 0x1400b4d5b
mov rcx, r14
call fcn.1401e64f8
lock xadd dword [0x1402e81e0], ebx
cmp dword [rbp + 0x5fc], 0
je 0x1400b4d94
mov rdx, qword [rbp + 8]
xor r9d, r9d
mov r8, rbp
lea ecx, [r9 + 3]
mov dword [rsp + 0x20], 0x90000005
call fcn.1400915b0
mov rdx, qword [rbp + 8]
xor r9d, r9d
lea ecx, [r9 + 3]
mov r8, rbp
call fcn.140091020
jmp 0x1400b4d9b
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