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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
mov r12, qword [rbp + 0x50]
mov r15, r9
mov esi, dword [rbp + 0x68]
mov rbx, rdx
movsxd rdi, r8d
mov r14, rcx
test r12, r12
je 0x140045c02
mov edx, dword [rdx + 0x38]
mov ecx, esi
sub ecx, edx
jns 0x140045bfa
mov eax, r12d
neg eax
cmp ecx, eax
jle case.0x140045ea2.1
movsxd rax, ecx
mov esi, edx
add r12, rax
sub r15, rax
jmp 0x140045c02
test ecx, ecx
jg case.0x140045ea2.1
cmp edi, 3
jne 0x140045c5e
mov ecx, dword [rbx + 0x38]
lea eax, [rcx - 1]
cmp esi, eax
jne 0x140045c41
lea r8, str.duplicate_FIN_n
mov rcx, rbx
lea edx, [rdi - 2]
call fcn.1400430e0
xor edi, edi
xor r9d, r9d
mov rdx, rbx
mov qword [rsp + 0x20], rdi
mov rcx, r14
lea r8d, [rdi + 0x10]
call fcn.140044bb0
jmp case.0x140045ea2.1
cmp esi, ecx
je 0x140045c5e
lea r8, str.out_of_order_FIN_n
mov edx, 1
mov rcx, rbx
call fcn.1400430e0
jmp case.0x140045ea2.1
mov ecx, edi
call fcn.140044de0
mov r9, rax
lea r8, str._s_n
mov edx, 1
mov rcx, rbx
call fcn.1400430e0
test edi, edi
jne 0x140045d46
mov ecx, dword [r14 + 0x18]
add rcx, qword [rbx + 0x90]
mov r13d, dword [rbp + 0x58]
cmp rcx, r13
jge 0x140045d9c
movups xmm0, xmmword [rbx + 0x18]
lea rax, str.CONNECTION_TIMEOUT___
movzx r8d, word [rbx + 0x32]
movsd xmm1, qword [rbx + 0x28]
lea r9, str._s_________________n
lea rdx, [rbp - 0x20]
movaps xmmword [rbp - 0x20], xmm0
lea ecx, [rdi + 8]
movsd qword [rbp - 0x10], xmm1
mov qword [rsp + 0x20], rax
call fcn.14004d7b0
movups xmm0, xmmword [rbx + 0x18]
mov ecx, dword [rbx + 0x7c]
movsd xmm1, qword [rbx + 0x28]
and ecx, 0xf
movaps xmmword [rbp - 0x20], xmm0
movsd qword [rbp - 0x10], xmm1
call fcn.140042ff0
movzx r8d, word [rbx + 0x32]
lea rcx, str.peer_RST_
mov qword [rsp + 0x28], rcx
lea r9, str._s_:________s___________________n
lea ecx, [rdi + 5]
mov qword [rsp + 0x20], rax
lea rdx, [rbp - 0x20]
call fcn.14004d7b0
xor edi, edi
xor r9d, r9d
mov rdx, rbx
mov qword [rsp + 0x20], rdi
mov rcx, r14
lea r8d, [rdi + 4]
call fcn.140044bb0
mov rdx, rbx
mov rcx, r14
call fcn.1400442b0
mov eax, 1
jmp 0x14004615c
cmp edi, 2
jne 0x140045d98
test rbx, rbx
je 0x140045d31
movups xmm0, xmmword [rbx + 0x18]
mov ecx, dword [rbx + 0x7c]
movsd xmm1, qword [rbx + 0x28]
and ecx, 0xf
movaps xmmword [rbp - 0x20], xmm0
movsd qword [rbp - 0x10], xmm1
call fcn.140042ff0
movzx r8d, word [rbx + 0x32]
lea rcx, str.tcb_destroy_
mov qword [rsp + 0x28], rcx
lea r9, str._s_:________s___________________n
lea ecx, [rdi + 3]
mov qword [rsp + 0x20], rax
lea rdx, [rbp - 0x20]
call fcn.14004d7b0
jmp 0x140045d31
mov r13d, dword [rbp + 0x58]
mov edx, dword [rbx + 0x7c]
mov r8d, edx
and r8d, 0xf
cmp r8d, 9
ja case.0x140045ea2.2
lea r9, [0x140000000]
mov eax, dword [r9 + r8*4 + 0x466c0]
add rax, r9
jmp rax
test edi, edi
je 0x140045e6d
cmp edi, 1
jne case.0x140045ea2.2
lea eax, [rsi - 1]
mov dword [rbx + 0x38], esi
mov dword [rbx + 0x48], eax
mov ecx, edi
mov eax, dword [rbp + 0x70]
mov dword [rbx + 0x34], eax
dec eax
mov dword [rbx + 0x44], eax
call fcn.140044de0
mov r9, rax
lea r8, str._s_connection_established_n
mov edx, edi
mov rcx, rbx
call fcn.1400430e0
xor edi, edi
xor r9d, r9d
mov rdx, rbx
mov qword [rsp + 0x20], rdi
mov rcx, r14
lea r8d, [rdi + 0x10]
call fcn.140044bb0
lea ecx, [rdi + 2]
call fcn.140042ff0
mov r9, rax
lea r8, str.to__s_n
lea edx, [rdi + 2]
mov rcx, rbx
call fcn.1400430e0
mov eax, dword [rbx + 0x7c]
xor r9d, r9d
and eax, 0xfffffff2
xor r8d, r8d
or eax, 2
mov rdx, rbx
mov dword [rbx + 0x7c], eax
mov rcx, r14
mov eax, dword [rbp + 0x60]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], rdi
call fcn.140044f40
jmp case.0x140045ea2.1
inc byte [rbx + 0x79]
xor edi, edi
mov qword [rsp + 0x20], rdi
xor r9d, r9d
lea r8d, [rdi + 2]
mov rdx, rbx
mov rcx, r14
call fcn.140044bb0
jmp case.0x140045ea2.1
cmp edi, 6
ja case.0x140045ea2.2
mov ecx, dword [r9 + rdi*4 + 0x466e8]
add rcx, r9
jmp rcx
xor r9d, r9d
mov dword [rsp + 0x20], 3
xor r8d, r8d
mov rdx, rbx
mov rcx, r14
call fcn.140044fa0
mov ecx, 5
call fcn.140042ff0
mov r9, rax
lea r8, str.to__s_n
mov edx, 2
mov rcx, rbx
call fcn.1400430e0
mov eax, dword [rbx + 0x7c]
and eax, 0xfffffff5
or eax, 5
mov dword [rbx + 0x7c], eax
jmp case.0x140045ea2.1
mov ecx, dword [rbx + 0x38]
xor edi, edi
lea r15d, [rdi + 0x10]
cmp ecx, esi
jne 0x140045f4a
inc dword [rbx + 0x3c]
lea eax, [rcx + 1]
or edx, 0x40
mov dword [rbx + 0x38], eax
mov dword [rbx + 0x7c], edx
xor r9d, r9d
mov rdx, rbx
mov qword [rsp + 0x20], rdi
mov r8d, r15d
mov rcx, r14
call fcn.140044bb0
lea ecx, [rdi + 5]
call fcn.140042ff0
mov r9, rax
lea r8, str.to__s_n
lea edx, [rdi + 2]
mov rcx, rbx
call fcn.1400430e0
mov eax, dword [rbx + 0x7c]
and eax, 0xfffffff5
or eax, 5
mov dword [rbx + 0x7c], eax
mov r9, rdi
mov qword [rsp + 0x20], rdi
mov r8d, r15d
mov rdx, rbx
mov rcx, r14
call fcn.140044bb0
jmp case.0x140045ea2.1
mov edx, dword [rbp + 0x70]
mov rcx, rbx
call fcn.140045260
mov rax, qword [rbx + 0x88]
test rax, rax
je 0x140045f87
cmp qword [rax + 0x10], 0
jne case.0x140045ea2.1
mov ecx, 2
call fcn.140042ff0
mov r9, rax
lea r8, str.to__s_n
mov edx, 2
mov rcx, rbx
call fcn.1400430e0
mov eax, dword [rbx + 0x7c]
and eax, 0xfffffff2
or eax, 2
mov r8d, 4
mov dword [rbx + 0x7c], eax
xor edi, edi
mov eax, dword [rbp + 0x60]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], r13d
xor r9d, r9d
mov qword [rsp + 0x20], rdi
mov rdx, rbx
mov rcx, r14
call fcn.140044f40
jmp case.0x140045ea2.1
cmp edi, 6
ja case.0x140045ea2.2
mov ecx, dword [r9 + rdi*4 + 0x46704]
add rcx, r9
jmp rcx
xor r9d, r9d
mov dword [rsp + 0x20], 3
xor r8d, r8d
mov rdx, rbx
mov rcx, r14
call fcn.140044fa0
mov ecx, 6
call fcn.140042ff0
mov r9, rax
lea r8, str.to__s_n
mov edx, 2
mov rcx, rbx
call fcn.1400430e0
mov eax, dword [rbx + 0x7c]
and eax, 0xfffffff6
or eax, 6
mov dword [rbx + 0x7c], eax
jmp case.0x140045ea2.1
mov ecx, dword [rbx + 0x38]
xor edi, edi
xor r9d, r9d
mov qword [rsp + 0x20], rdi
lea r8d, [rdi + 0x10]
cmp esi, ecx
jne 0x140045e7e
inc dword [rbx + 0x3c]
lea eax, [rcx + 1]
or edx, 0x40
mov dword [rbx + 0x38], eax
mov dword [rbx + 0x7c], edx
mov rcx, r14
mov rdx, rbx
call fcn.140044bb0
lea ecx, [rdi + 3]
call fcn.140042ff0
mov r9, rax
lea r8, str.to__s_n
lea edx, [rdi + 2]
mov rcx, rbx
call fcn.1400430e0
mov eax, dword [rbx + 0x7c]
and eax, 0xfffffff3
or eax, 3
mov dword [rbx + 0x7c], eax
mov eax, dword [rbp + 0x60]
mov r8d, 5
mov dword [rsp + 0x30], eax
xor r9d, r9d
mov dword [rsp + 0x28], r13d
mov rdx, rbx
mov rcx, r14
mov qword [rsp + 0x20], r12
call fcn.140044f40
jmp case.0x140045ea2.1
mov edx, dword [rbp + 0x70]
mov rcx, rbx
call fcn.140045260
jmp case.0x140045ea2.1
mov eax, dword [rbp + 0x60]
xor edi, edi
mov dword [rsp + 0x30], eax
xor r9d, r9d
mov dword [rsp + 0x28], r13d
mov rdx, rbx
mov rcx, r14
mov qword [rsp + 0x20], rdi
lea r8d, [rdi + 1]
call fcn.140044f40
jmp case.0x140045ea2.1
mov ecx, edi
test edi, edi
je case.0x140045ea2.0
sub ecx, 3
je case.0x140045ea2.1
sub ecx, 1
je 0x14004617a
cmp ecx, 1
je case.0x140045ea2.1
movups xmm0, xmmword [rbx + 0x18]
mov ecx, edi
movsd xmm1, qword [rbx + 0x28]
movaps xmmword [rbp - 0x20], xmm0
movsd qword [rbp - 0x10], xmm1
call fcn.140044de0
mov ecx, dword [rbx + 0x7c]
mov rdi, rax
and ecx, 0xf
call fcn.140042ff0
movzx edx, word [rbx + 0x32]
lea r8, str._s:_s__UNHANDLED_EVENT__n
mov r9, rax
mov qword [rsp + 0x20], rdi
lea rcx, [rbp - 0x20]
call fcn.14004d5d0
xor eax, eax
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov edx, dword [rbp + 0x70]
mov rcx, rbx
call fcn.140045260
test eax, eax
je case.0x140045ea2.1
mov rax, qword [rbx + 0x88]
test rax, rax
je 0x14004619c
cmp qword [rax + 0x10], 0
jne case.0x140045ea2.1
mov ecx, 6
call fcn.140042ff0
mov r9, rax
lea r8, str.to__s_n
mov edx, 2
mov rcx, rbx
call fcn.1400430e0
mov eax, dword [rbx + 0x7c]
and eax, 0xfffffff6
or eax, 6
jmp 0x140045fb1
mov rdx, rbx
mov rcx, r14
call fcn.140044ea0
jmp case.0x140045ea2.1
mov ecx, edi
test edi, edi
je case.0x140045ea2.0
sub ecx, 3
je 0x14004629a
sub ecx, 1
je 0x140046220
cmp ecx, 1
jne case.0x140045ea2.2
mov eax, dword [rbp + 0x60]
mov r9, r12
mov byte [rsp + 0x38], 0
mov r8, r15
mov dword [rsp + 0x30], eax
mov rdx, rbx
mov dword [rsp + 0x28], r13d
mov rcx, r14
mov dword [rsp + 0x20], esi
call fcn.1400459e0
jmp case.0x140045ea2.1
mov edx, dword [rbp + 0x70]
mov rcx, rbx
call fcn.140045260
test eax, eax
je case.0x140045ea2.1
mov rax, qword [rbx + 0x88]
test rax, rax
je case.0x140045ea2.1
cmp byte [rax + 0x1c], 0
je case.0x140045ea2.1
cmp qword [rax + 0x10], 0
jne case.0x140045ea2.1
mov eax, dword [rax]
inc eax
cmp dword [rbx + 0x40], eax
jb case.0x140045ea2.1
mov ecx, 7
call fcn.140042ff0
mov r9, rax
lea r8, str.to__s_n
mov edx, 2
mov rcx, rbx
call fcn.1400430e0
mov eax, dword [rbx + 0x7c]
mov r8d, 5
and eax, 0xfffffff7
or eax, 7
jmp 0x140045fb7
mov ecx, dword [rbx + 0x38]
xor edi, edi
mov r12d, edi
mov r13d, edi
lea r15d, [rdi + 0x10]
cmp ecx, esi
jne 0x140046332
or edx, 0x40
lea eax, [rcx + 1]
inc dword [rbx + 0x3c]
mov dword [rbx + 0x7c], edx
mov dword [rbx + 0x38], eax
xor r9d, r9d
mov qword [rsp + 0x20], rdi
mov r8d, r15d
mov rdx, rbx
mov rcx, r14
call fcn.140044bb0
mov esi, dword [rbp + 0x58]
mov ecx, 8
call fcn.140042ff0
mov r9, rax
lea r8, str.to__s_n
mov edx, 2
mov rcx, rbx
call fcn.1400430e0
mov eax, dword [rbx + 0x7c]
xor r9d, r9d
and eax, 0xfffffff8
mov qword [rsp + 0x20], rdi
or eax, 8
mov r8d, r15d
mov rdx, rbx
mov dword [rbx + 0x7c], eax
mov rcx, r14
call fcn.140044bb0
mov eax, dword [rbp + 0x60]
mov r8d, 5
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], esi
jmp 0x140045fc8
movups xmm0, xmmword [rbx + 0x18]
mov ecx, r8d
movsd xmm1, qword [rbx + 0x28]
movaps xmmword [rbp - 0x20], xmm0
movsd qword [rbp - 0x10], xmm1
call fcn.140042ff0
movzx r8d, word [rbx + 0x32]
lea rcx, str.peer_ACK___acknowledge_payload_1_
mov qword [rsp + 0x28], rcx
lea r9, str._s_:________s___________________n
mov ecx, 5
mov qword [rsp + 0x20], rax
lea rdx, [rbp - 0x20]
call fcn.14004d7b0
jmp 0x1400462c0
mov ecx, edi
test edi, edi
je 0x140045d31
sub ecx, 3
je 0x140045c23
sub ecx, 1
je 0x140046430
cmp ecx, 2
jmp 0x140046115
mov edx, dword [rbp + 0x70]
mov rcx, rbx
call fcn.140045260
mov rax, qword [rbx + 0x88]
test rax, rax
je case.0x140045ea2.1
cmp byte [rax + 0x1c], 0
je case.0x140045ea2.1
cmp qword [rax + 0x10], 0
jne case.0x140045ea2.1
mov eax, dword [rax]
inc eax
cmp dword [rbx + 0x40], eax
jb case.0x140045ea2.1
jmp 0x140045d31
cmp edi, 6
ja case.0x140045ea2.2
mov ecx, dword [r9 + rdi*4 + 0x46720]
add rcx, r9
jmp rcx
cmp r8d, 9
jne case.0x140045ea2.1
jmp 0x140045d31
mov ecx, dword [rbx + 0x38]
xor edi, edi
mov r15d, edi
mov r12d, edi
cmp ecx, esi
jne 0x1400464ba
or edx, 0x40
lea eax, [rcx + 1]
inc dword [rbx + 0x3c]
mov dword [rbx + 0x7c], edx
mov dword [rbx + 0x38], eax
jmp 0x14004656a
movups xmm0, xmmword [rbx + 0x18]
mov ecx, r8d
movsd xmm1, qword [rbx + 0x28]
movaps xmmword [rbp - 0x20], xmm0
movsd qword [rbp - 0x10], xmm1
call fcn.140042ff0
movzx r8d, word [rbx + 0x32]
lea rcx, str.peer_ACK___acknowledge_payload_1_
mov qword [rsp + 0x28], rcx
lea r9, str._s_:________s___________________n
mov ecx, 5
mov qword [rsp + 0x20], rax
lea rdx, [rbp - 0x20]
call fcn.14004d7b0
jmp 0x14004656a
xor r9d, r9d
mov qword [rsp + 0x20], rdi
mov rdx, rbx
mov rcx, r14
lea r8d, [r9 + 0x10]
call fcn.140044bb0
mov ecx, 9
call fcn.140042ff0
mov r9, rax
lea r8, str.to__s_n
mov edx, 2
mov rcx, rbx
call fcn.1400430e0
mov eax, dword [rbx + 0x7c]
lea ecx, [r13 + 5]
and eax, 0xfffffff9
shl rcx, 0xe
or eax, 9
mov dword [rbx + 0x7c], eax
add rbx, 0x58
mov eax, dword [rbp + 0x60]
mov r8, qword [r14 + 0x30]
shr rax, 0xe
add rcx, rax
cmp qword [rbx], rdi
je 0x1400465d1
dec qword [r8 + 8]
mov r9, qword [rbx + 0x10]
lea rdx, [rbx + 8]
test r9, r9
jne 0x1400465e3
cmp qword [rdx], rdi
je 0x140046603
mov rax, qword [rdx]
mov qword [r9], rax
mov r9, qword [rdx]
test r9, r9
je 0x1400465f9
mov rax, qword [rbx + 0x10]
mov qword [r9 + 0x10], rax
mov qword [rdx], rdi
mov qword [rbx + 0x10], rdi
mov qword [rbx], rdi
mov qword [rbx], rcx
mov dword [rbx + 0x18], 0x58
mov eax, dword [r8 + 0x10]
and eax, ecx
add rax, 3
lea rcx, [r8 + rax*8]
mov rax, qword [r8 + rax*8]
mov qword [rdx], rax
mov qword [rcx], rbx
mov rax, qword [rdx]
mov qword [rbx + 0x10], rcx
test rax, rax
je 0x140046635
mov qword [rax + 0x10], rdx
inc qword [r8 + 8]
jmp case.0x140045ea2.1
test edi, edi
je 0x14004609d
cmp edi, 6
jne case.0x140045ea2.2
xor r9d, r9d
mov dword [rsp + 0x20], 3
xor r8d, r8d
mov rdx, rbx
mov rcx, r14
call fcn.140044fa0
lea ecx, [rdi - 2]
call fcn.140042ff0
mov r9, rax
lea r8, str.to__s_n
lea edx, [rdi - 4]
mov rcx, rbx
call fcn.1400430e0
mov eax, dword [rbx + 0x7c]
and eax, 0xfffffff4
or eax, 4
mov dword [rbx + 0x7c], eax
jmp case.0x140045ea2.1
test edi, edi
je case.0x140045ea2.0
cmp edi, 4
jne case.0x140045ea2.2
mov edx, dword [rbp + 0x70]
mov rcx, rbx
call fcn.140045260
test eax, eax
je case.0x140045ea2.1
jmp 0x140045d31