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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x1a8
lea rbp, [rsp + 0x1e0]
xor eax, eax
mov qword [rbp - 0x1a8], rax
xorps xmm4, xmm4
movaps xmmword [rbp - 0x1a0], xmm4
movabs rax, 0xfffffffffffffeb0
movaps xmmword [rbp + rax - 0x40], xmm4
movaps xmmword [rbp + rax - 0x30], xmm4
movaps xmmword [rbp + rax - 0x20], xmm4
add rax, 0x30
jne 0x140082678
mov qword [rbp - 0x40], rax
mov rdx, rcx
lea rcx, [rbp - 0xf8]
lea r9, [rbp - 0x138]
mov r8d, 1
call fcn.1402c5d08
lea rcx, [rbp - 0xf8]
call fcn.1400820f4
lea rcx, [rbp - 0xf8]
call fcn.140082134
xor ebx, ebx
xor esi, esi
xor edi, edi
xor r14d, r14d
xor r15d, r15d
xor r13d, r13d
xor r12d, r12d
xor eax, eax
mov dword [rbp - 0xfc], eax
xor edx, edx
mov dword [rbp - 0x100], edx
jmp 0x14008278d
movzx edx, byte [rbp - 0xd0]
cmp edx, 2
je 0x1400827a1
cmp edx, 5
jne 0x1400828a0
lea rdx, [0x140540660]
cmp qword [rdx - 8], 0
jne 0x140082a84
mov rax, qword [0x140922b58]
mov qword [rbp - 0x1b8], rax
mov rdx, qword [rax + 0x28]
test rdx, rdx
jne 0x140082a8e
xor ecx, ecx
xor r8d, r8d
cmp byte [rbp - 0xcb], 0
je 0x140082a9b
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1402c6000
test eax, eax
je 0x140082aea
lea rcx, [rbp - 0xf8]
lea rdx, [0x140527258]
call fcn.1400822c8
mov rdi, rax
mov edx, dword [rbp - 0x100]
test edx, edx
jne 0x1400827a1
lea rcx, [rbp - 0xf8]
call fcn.1400820f4
test eax, eax
jne 0x1400826ec
mov rcx, rdi
or rcx, r13
jne 0x1400827c9
test rbx, rbx
je 0x140082841
test r12d, r12d
jle 0x1400827c0
test rsi, rsi
je 0x140082a38
test r15, r15
je 0x140082a5e
lea rcx, [0x140555650]
call fcn.14000acd0
mov qword [rbp - 0x1b0], rax
lea rcx, [rax + 0x18]
mov rdx, rbx
call fcn.14000aee0
mov rbx, qword [rbp - 0x1b0]
lea rcx, [rbx + 0x20]
mov rdx, rsi
call fcn.14000aee0
lea rcx, [rbx + 8]
mov rdx, rdi
call fcn.14000aee0
lea rcx, [rbx + 0x10]
mov rdx, r14
call fcn.14000aee0
lea rcx, [rbx + 0x28]
mov rdx, r15
call fcn.14000aee0
lea rcx, [rbx + 0x30]
mov rdx, r13
call fcn.14000aee0
mov dword [rbx + 0x38], r12d
mov esi, dword [rbp - 0xfc]
mov byte [rbx + 0x3c], sil
mov rax, rbx
jmp 0x140083238
lea rcx, [0x140575c20]
call fcn.14000acd0
mov rbx, rax
mov rcx, rbx
lea rdx, [0x140501148]
call fcn.1401ae608
mov rcx, rbx
call fcn.14000c070
lea rcx, [0x14056e508]
call fcn.14000acd0
mov rbx, rax
mov rcx, rbx
lea rdx, [0x1404f2cf8]
call fcn.1401a3850
mov rcx, rbx
call fcn.14000c070
movzx ecx, byte [rbp - 0xd0]
call fcn.1402bb454
int3
call fcn.1402bb46c
int3
xorps xmm0, xmm0
movups xmmword [rbp - 0x190], xmm0
movups xmmword [rbp - 0x180], xmm0
movups xmmword [rbp - 0x178], xmm0
lea rcx, [rbp - 0x190]
mov edx, 0x3b
mov r8d, 1
call fcn.14020ab24
movups xmm0, xmmword [rbp - 0x190]
movups xmmword [rbp - 0x168], xmm0
movups xmm0, xmmword [rbp - 0x180]
movups xmmword [rbp - 0x158], xmm0
mov rcx, qword [rbp - 0x170]
mov qword [rbp - 0x148], rcx
mov ecx, dword [rbp - 0x158]
cmp ecx, dword [rbp - 0x148]
ja 0x140082996
mov rdx, qword [rbp - 0x150]
mov eax, ecx
lea rdx, [rdx + rax*2]
mov eax, dword [rbp - 0x148]
sub eax, ecx
xor ecx, ecx
cmp eax, 0x12
jb 0x14008294d
lea rcx, [0x1405143e0]
add rcx, 0xc
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmm2, xmmword [rcx + 0x14]
movups xmmword [rdx], xmm0
movups xmmword [rdx + 0x10], xmm1
movups xmmword [rdx + 0x14], xmm2
mov ecx, 1
test ecx, ecx
je 0x140082962
mov ecx, dword [rbp - 0x158]
add ecx, 0x12
mov dword [rbp - 0x158], ecx
jmp 0x140082975
lea rcx, [rbp - 0x168]
lea rdx, [0x1405143e0]
call fcn.14020af64
lea rcx, [rbp - 0x168]
movzx edx, byte [rbp - 0xd0]
call fcn.14049cc60
mov ebx, dword [rbp - 0x158]
cmp ebx, dword [rbp - 0x148]
jbe 0x14008299c
call fcn.1401ae6a8
int3
mov rcx, qword [rbp - 0x150]
mov edx, ebx
lea rcx, [rcx + rdx*2]
mov edx, dword [rbp - 0x148]
sub edx, ebx
xor ebx, ebx
cmp edx, 0x29
jb 0x1400829d3
lea rdx, [0x1404decc0]
add rdx, 0xc
mov r8d, 0x52
call fcn.14017a360
mov ebx, 1
test ebx, ebx
je 0x1400829e8
mov ecx, dword [rbp - 0x158]
add ecx, 0x29
mov dword [rbp - 0x158], ecx
jmp 0x1400829fb
lea rcx, [rbp - 0x168]
lea rdx, [0x1404decc0]
call fcn.14020af64
lea rcx, [0x140575c20]
call fcn.14000acd0
mov rbx, rax
lea rcx, [rbp - 0x168]
call fcn.14020acc0
mov dword [rbx + 0x48], 0x80131500
lea rcx, [rbx + 8]
mov rdx, rax
call fcn.14000aee0
mov dword [rbx + 0x48], 0x80131501
mov rcx, rbx
call fcn.14000c070
lea rcx, [0x140575c20]
call fcn.14000acd0
mov rbx, rax
mov rcx, rbx
lea rdx, [0x1405011b0]
call fcn.1401ae608
mov rcx, rbx
call fcn.14000c070
lea rcx, [0x140575c20]
call fcn.14000acd0
mov rbx, rax
mov rcx, rbx
lea rdx, [0x1405010d0]
call fcn.1401ae608
mov rcx, rbx
call fcn.14000c070
call fcn.14000194e
jmp 0x140082717
lea rcx, [rdx + 0x10]
mov r8d, dword [rdx + 8]
jmp 0x140082737
cmp byte [rbp - 0xca], 0
je 0x140082aca
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1402c63d0
jmp 0x140082765
mov rdx, qword [rbp - 0x60]
mov r10d, dword [rbp - 0x58]
cmp r8d, r10d
jne 0x140082ae1
mov r8d, r10d
call fcn.1401abee0
jmp 0x140082ae5
xor ecx, ecx
mov eax, ecx
jmp 0x140082765
mov rax, qword [rbp - 0x1b8]
mov rdx, qword [rax + 0x38]
test rdx, rdx
jne 0x140082b01
xor ecx, ecx
xor r8d, r8d
jmp 0x140082b09
lea rcx, [rdx + 0x10]
mov r8d, dword [rdx + 8]
movzx edx, byte [rbp - 0xd0]
cmp edx, 5
je 0x140082b1e
cmp edx, 7
jne 0x14008288d
cmp byte [rbp - 0xcb], 0
je 0x140082b4a
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1402c6000
jmp 0x140082b91
cmp byte [rbp - 0xca], 0
je 0x140082b76
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1402c63d0
jmp 0x140082b91
mov rdx, qword [rbp - 0x60]
mov r10d, dword [rbp - 0x58]
cmp r8d, r10d
jne 0x140082b8d
mov r8d, r10d
call fcn.1401abee0
jmp 0x140082b91
xor ecx, ecx
mov eax, ecx
test eax, eax
je 0x140082bb0
lea rcx, [rbp - 0xf8]
lea rdx, [0x140517e58]
call fcn.1400822c8
mov r14, rax
jmp 0x140082783
mov rax, qword [rbp - 0x1b8]
mov rdx, qword [rax + 8]
test rdx, rdx
jne 0x140082bc7
xor ecx, ecx
xor r8d, r8d
jmp 0x140082bcf
lea rcx, [rdx + 0x10]
mov r8d, dword [rdx + 8]
movzx edx, byte [rbp - 0xd0]
cmp edx, 5
je 0x140082be4
cmp edx, 7
jne 0x14008288d
cmp byte [rbp - 0xcb], 0
je 0x140082c10
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1402c6000
jmp 0x140082c57
cmp byte [rbp - 0xca], 0
je 0x140082c3c
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1402c63d0
jmp 0x140082c57
mov rdx, qword [rbp - 0x60]
mov r10d, dword [rbp - 0x58]
cmp r8d, r10d
jne 0x140082c53
mov r8d, r10d
call fcn.1401abee0
jmp 0x140082c57
xor ecx, ecx
mov eax, ecx
test eax, eax
je 0x140082c76
lea rcx, [rbp - 0xf8]
lea rdx, [0x140519c18]
call fcn.1400822c8
mov rbx, rax
jmp 0x140082783
mov rax, qword [rbp - 0x1b8]
mov rdx, qword [rax + 0x18]
test rdx, rdx
jne 0x140082c8d
xor ecx, ecx
xor r8d, r8d
jmp 0x140082c95
lea rcx, [rdx + 0x10]
mov r8d, dword [rdx + 8]
movzx edx, byte [rbp - 0xd0]
cmp edx, 5
je 0x140082caa
cmp edx, 7
jne 0x14008288d
cmp byte [rbp - 0xcb], 0
je 0x140082cd6
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1402c6000
jmp 0x140082d1d
cmp byte [rbp - 0xca], 0
je 0x140082d02
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1402c63d0
jmp 0x140082d1d
mov rdx, qword [rbp - 0x60]
mov r10d, dword [rbp - 0x58]
cmp r8d, r10d
jne 0x140082d19
mov r8d, r10d
call fcn.1401abee0
jmp 0x140082d1d
xor ecx, ecx
mov eax, ecx
test eax, eax
je 0x140082d3c
lea rcx, [rbp - 0xf8]
lea rdx, [0x140519c48]
call fcn.1400822c8
mov rsi, rax
jmp 0x140082783
mov rax, qword [rbp - 0x1b8]
mov rdx, qword [rax + 0x88]
test rdx, rdx
jne 0x140082d56
xor ecx, ecx
xor r8d, r8d
jmp 0x140082d5e
lea rcx, [rdx + 0x10]
mov r8d, dword [rdx + 8]
movzx edx, byte [rbp - 0xd0]
cmp edx, 5
je 0x140082d73
cmp edx, 7
jne 0x14008288d
cmp byte [rbp - 0xcb], 0
je 0x140082d9f
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1402c6000
jmp 0x140082de6
cmp byte [rbp - 0xca], 0
je 0x140082dcb
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1402c63d0
jmp 0x140082de6
mov rdx, qword [rbp - 0x60]
mov r10d, dword [rbp - 0x58]
cmp r8d, r10d
jne 0x140082de2
mov r8d, r10d
call fcn.1401abee0
jmp 0x140082de6
xor ecx, ecx
mov eax, ecx
test eax, eax
je 0x140082e10
lea rcx, [rbp - 0xf8]
lea rdx, [0x14051e9e8]
call fcn.14008246c
mov qword [rbp - 0x140], rax
mov r12d, dword [rbp - 0x13c]
jmp 0x140082783
mov rax, qword [rbp - 0x1b8]
mov rdx, qword [rax + 0x48]
test rdx, rdx
jne 0x140082e27
xor ecx, ecx
xor r8d, r8d
jmp 0x140082e2f
lea rcx, [rdx + 0x10]
mov r8d, dword [rdx + 8]
movzx edx, byte [rbp - 0xd0]
cmp edx, 5
je 0x140082e44
cmp edx, 7
jne 0x14008288d
cmp byte [rbp - 0xcb], 0
je 0x140082e70
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1402c6000
jmp 0x140082eb7
cmp byte [rbp - 0xca], 0
je 0x140082e9c
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1402c63d0
jmp 0x140082eb7
mov rdx, qword [rbp - 0x60]
mov r10d, dword [rbp - 0x58]
cmp r8d, r10d
jne 0x140082eb3
mov r8d, r10d
call fcn.1401abee0
jmp 0x140082eb7
xor ecx, ecx
mov eax, ecx
test eax, eax
je 0x140082f7d
lea rcx, [rbp - 0xf8]
call fcn.1400820f4
lea rcx, [rbp - 0xf8]
call fcn.140082204
lea rcx, [0x140598078]
call fcn.14000acd0
mov r15, rax
mov rcx, qword [0x140923a98]
mov rdx, qword [rcx + 8]
lea rcx, [r15 + 8]
call fcn.14000aee0
lea rcx, [rbp - 0xf8]
call fcn.1400820f4
test eax, eax
je 0x140082783
movzx eax, byte [rbp - 0xd0]
cmp eax, 1
jne 0x140082f5f
lea rcx, [rbp - 0xf8]
call fcn.1400832a0
inc dword [r15 + 0x14]
mov rcx, qword [r15 + 8]
mov edx, dword [r15 + 0x10]
mov r8d, dword [rcx + 8]
cmp r8d, edx
jbe 0x140082f52
lea r8d, [rdx + 1]
mov dword [r15 + 0x10], r8d
lea rcx, [rcx + rdx*8 + 0x10]
mov rdx, rax
call fcn.14000aee0
jmp 0x140082f68
mov rcx, r15
mov rdx, rax
call fcn.1403e3860
jmp 0x140082f68
cmp eax, 4
je 0x140082783
lea rcx, [rbp - 0xf8]
call fcn.1400820f4
test eax, eax
jne 0x140082f0e
jmp 0x140082783
mov rax, qword [rbp - 0x1b8]
mov rdx, qword [rax + 0x78]
test rdx, rdx
jne 0x140082f94
xor ecx, ecx
xor r8d, r8d
jmp 0x140082f9c
lea rcx, [rdx + 0x10]
mov r8d, dword [rdx + 8]
movzx edx, byte [rbp - 0xd0]
cmp edx, 5
je 0x140082fb1
cmp edx, 7
jne 0x14008288d
cmp byte [rbp - 0xcb], 0
je 0x140082fdd
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1402c6000
jmp 0x140083024
cmp byte [rbp - 0xca], 0
je 0x140083009
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1402c63d0
jmp 0x140083024
mov rdx, qword [rbp - 0x60]
mov r10d, dword [rbp - 0x58]
cmp r8d, r10d
jne 0x140083020
mov r8d, r10d
call fcn.1401abee0
jmp 0x140083024
xor ecx, ecx
mov eax, ecx
test eax, eax
je 0x140083043
lea rcx, [rbp - 0xf8]
lea rdx, [0x14051b208]
call fcn.1400822c8
mov r13, rax
jmp 0x140082783
lea rax, str.ProtocolVersion
movzx edx, byte [rbp - 0xd0]
cmp edx, 5
je 0x14008305f
cmp edx, 7
jne 0x14008288d
cmp byte [rbp - 0xcb], 0
je 0x14008308e
mov qword [rbp - 0x1a8], rax
mov dword [rbp - 0x1a0], shutdown
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1402c6000
jmp 0x1400830ea
cmp byte [rbp - 0xca], 0
je 0x1400830bd
mov qword [rbp - 0x1a8], rax
mov dword [rbp - 0x1a0], shutdown
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1402c63d0
jmp 0x1400830ea
mov rdx, qword [rbp - 0x60]
mov ecx, dword [rbp - 0x58]
cmp ecx, 0xf
jne 0x1400830e8
mov rcx, qword [rax]
mov r8, qword [rdx]
mov rax, qword [rax + 7]
mov rdx, qword [rdx + 7]
xor rcx, r8
xor rdx, rax
or rdx, rcx
sete al
movzx eax, al
jmp 0x1400830ea
xor eax, eax
test eax, eax
jne 0x140082867
mov rdx, qword [rbp - 0x1b8]
mov rdx, qword [rdx + 0x98]
test rdx, rdx
jne 0x14008310b
xor ecx, ecx
xor eax, eax
jmp 0x140083112
lea rcx, [rdx + 0x10]
mov eax, dword [rdx + 8]
movzx edx, byte [rbp - 0xd0]
cmp edx, 5
je 0x140083127
cmp edx, 7
jne 0x14008288d
cmp byte [rbp - 0xcb], 0
je 0x140083172
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], eax
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1402c6000
test eax, eax
je 0x1400831b5
lea rcx, [rbp - 0xf8]
lea rdx, [0x1405272a8]
call fcn.14008225c
mov dword [rbp - 0xfc], eax
jmp 0x140082783
cmp byte [rbp - 0xca], 0
je 0x14008319d
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], eax
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1402c63d0
jmp 0x140083150
mov rdx, qword [rbp - 0x60]
mov r8d, dword [rbp - 0x58]
cmp eax, r8d
jne 0x1400831b1
call fcn.1401abee0
jmp 0x1400831b3
xor eax, eax
jmp 0x140083150
cmp byte [rbp - 0xd4], 0
je 0x14008289a
cmp byte [rbp - 0xd0], 5
jne 0x1400831d7
lea rcx, [rbp - 0xf8]
call fcn.1402c5e34
movzx ecx, byte [rbp - 0xd0]
cmp ecx, 1
je 0x1400831ec
cmp ecx, 3
jne 0x140082783
mov edx, dword [rbp - 0xa0]
cmp ecx, 3
je 0x1400831fc
cmp ecx, 1
jne 0x1400831fe
dec edx
mov dword [rbp - 0x194], edx
lea rcx, [rbp - 0xf8]
call fcn.1402c5e34
mov ecx, dword [rbp - 0xa0]
movzx eax, byte [rbp - 0xd0]
cmp eax, 3
je 0x140083227
cmp eax, 1
jne 0x140083229
dec ecx
mov edx, dword [rbp - 0x194]
cmp edx, ecx
jl 0x140083204
jmp 0x140082783
add rsp, 0x1a8
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret