Function at 0x1400e7d60
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 0x1400e7d98
mov qword [rbp - 0x40], rax
mov rdx, rcx
lea rcx, [rbp - 0xf8]
lea r9, [rbp - 0x138]
mov r8d, 1
call fcn.1403b78d0
lea rcx, [rbp - 0xf8]
call fcn.1400e77e0
lea rcx, [rbp - 0xf8]
call fcn.1400e7820
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 0x1400e889a
movzx edx, byte [rbp - 0xd0]
cmp edx, 2
je 0x1400e88ae
cmp edx, 5
jne 0x1400e7fc0
lea rdx, [0x14069c138]
cmp qword [rdx - 8], 0
jne 0x1400e7e89
mov rax, qword [0x140ba1f58]
mov qword [rbp - 0x1b8], rax
mov rdx, qword [rax + 0x28]
test rdx, rdx
je 0x1400e8195
lea rcx, [rdx + 0x10]
mov r8d, dword [rdx + 8]
cmp byte [rbp - 0xcb], 0
je 0x1400e819f
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1403b7c00
jmp 0x1400e81e4
call fcn.140001e99
jmp 0x1400e7e33
lea rcx, [rbp - 0xf8]
call fcn.1403bc060
jmp 0x1400e8a21
lea rcx, [0x1406ebc78]
call fcn.14000e7f0
mov rbx, rax
mov rcx, rbx
lea rdx, [0x14064dc68]
call fcn.140284700
mov rcx, rbx
call fcn.14000fb90
lea rcx, [rbp - 0xf8]
call fcn.1403bc060
jmp 0x1400e89d2
xor eax, eax
jmp 0x1400e899e
xor ecx, ecx
mov eax, ecx
jmp 0x1400e8805
xor ecx, ecx
mov eax, ecx
jmp 0x1400e873f
xor ecx, ecx
mov eax, ecx
jmp 0x1400e85d0
xor ecx, ecx
mov eax, ecx
jmp 0x1400e84ff
xor ecx, ecx
mov eax, ecx
jmp 0x1400e8436
xor ecx, ecx
mov eax, ecx
jmp 0x1400e8370
xor ecx, ecx
mov eax, ecx
jmp 0x1400e82aa
xor ecx, ecx
mov eax, ecx
jmp 0x1400e81e4
lea rcx, [0x1406e4570]
call fcn.14000e7f0
mov rbx, rax
mov rcx, rbx
lea rdx, [0x14063db80]
call fcn.14027a850
mov rcx, rbx
call fcn.14000fb90
movzx ecx, byte [rbp - 0xd0]
call fcn.1403b2e80
int3
call fcn.1403b2ea0
int3
xor r9d, r9d
mov qword [rbp - 0x1a8], r9
xor r9d, r9d
mov dword [rbp - 0x1a0], r9d
lea r9, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
mov edx, 0x20
xor r8d, r8d
call fcn.1403b2f50
int3
xor r9d, r9d
mov qword [rbp - 0x1a8], r9
xor r9d, r9d
mov dword [rbp - 0x1a0], r9d
lea r9, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
mov edx, 0x20
xor r8d, r8d
call fcn.1403b2f50
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.1402e8140
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 0x1400e80b6
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 0x1400e806d
lea rcx, [0x1406620c0]
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 0x1400e8082
mov ecx, dword [rbp - 0x158]
add ecx, 0x12
mov dword [rbp - 0x158], ecx
jmp 0x1400e8095
lea rcx, [rbp - 0x168]
lea rdx, [0x1406620c0]
call fcn.1402e8630
lea rcx, [rbp - 0x168]
movzx edx, byte [rbp - 0xd0]
call fcn.1405bc3a0
mov ebx, dword [rbp - 0x158]
cmp ebx, dword [rbp - 0x148]
jbe 0x1400e80bc
call fcn.140284780
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 0x1400e80f3
lea rdx, [0x140627328]
add rdx, 0xc
mov r8d, 0x52
call fcn.14024bd80
mov ebx, 1
test ebx, ebx
je 0x1400e8108
mov ecx, dword [rbp - 0x158]
add ecx, 0x29
mov dword [rbp - 0x158], ecx
jmp 0x1400e811b
lea rcx, [rbp - 0x168]
lea rdx, [0x140627328]
call fcn.1402e8630
lea rcx, [0x1406ebc78]
call fcn.14000e7f0
mov rbx, rax
lea rcx, [rbp - 0x168]
call fcn.1402e8360
mov rdx, rax
mov rcx, rbx
call fcn.140284700
mov rcx, rbx
call fcn.14000fb90
lea rcx, [0x1406ebc78]
call fcn.14000e7f0
mov rbx, rax
mov rcx, rbx
lea rdx, [0x14064dcd0]
call fcn.140284700
mov rcx, rbx
call fcn.14000fb90
lea rcx, [0x1406ebc78]
call fcn.14000e7f0
mov rbx, rax
mov rcx, rbx
lea rdx, [0x14064dbf0]
call fcn.140284700
mov rcx, rbx
call fcn.14000fb90
xor ecx, ecx
xor r8d, r8d
jmp 0x1400e7e56
cmp byte [rbp - 0xca], 0
je 0x1400e81cb
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1403b7fc0
jmp 0x1400e81e4
mov rdx, qword [rbp - 0x60]
mov r10d, dword [rbp - 0x58]
cmp r8d, r10d
jne 0x1400e7f1e
mov r8d, r10d
call fcn.140281b40
test eax, eax
je 0x1400e8203
lea rcx, [rbp - 0xf8]
lea rdx, [0x140677aa0]
call fcn.1400e79d0
mov rdi, rax
jmp 0x1400e888e
mov rax, qword [rbp - 0x1b8]
mov rdx, qword [rax + 0x38]
test rdx, rdx
je 0x1400e8232
lea rcx, [rdx + 0x10]
mov r8d, dword [rdx + 8]
movzx edx, byte [rbp - 0xd0]
cmp edx, 5
je 0x1400e8239
cmp edx, 7
jne 0x1400e7f4d
jmp 0x1400e8239
xor ecx, ecx
xor r8d, r8d
jmp 0x1400e821b
cmp byte [rbp - 0xcb], 0
je 0x1400e8265
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1403b7c00
jmp 0x1400e82aa
cmp byte [rbp - 0xca], 0
je 0x1400e8291
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1403b7fc0
jmp 0x1400e82aa
mov rdx, qword [rbp - 0x60]
mov r10d, dword [rbp - 0x58]
cmp r8d, r10d
jne 0x1400e7f15
mov r8d, r10d
call fcn.140281b40
test eax, eax
je 0x1400e82c9
lea rcx, [rbp - 0xf8]
lea rdx, [0x140666728]
call fcn.1400e79d0
mov r14, rax
jmp 0x1400e888e
mov rax, qword [rbp - 0x1b8]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x1400e82f8
lea rcx, [rdx + 0x10]
mov r8d, dword [rdx + 8]
movzx edx, byte [rbp - 0xd0]
cmp edx, 5
je 0x1400e82ff
cmp edx, 7
jne 0x1400e7f4d
jmp 0x1400e82ff
xor ecx, ecx
xor r8d, r8d
jmp 0x1400e82e1
cmp byte [rbp - 0xcb], 0
je 0x1400e832b
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1403b7c00
jmp 0x1400e8370
cmp byte [rbp - 0xca], 0
je 0x1400e8357
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1403b7fc0
jmp 0x1400e8370
mov rdx, qword [rbp - 0x60]
mov r10d, dword [rbp - 0x58]
cmp r8d, r10d
jne 0x1400e7f0c
mov r8d, r10d
call fcn.140281b40
test eax, eax
je 0x1400e838f
lea rcx, [rbp - 0xf8]
lea rdx, [0x140668c08]
call fcn.1400e79d0
mov rbx, rax
jmp 0x1400e888e
mov rax, qword [rbp - 0x1b8]
mov rdx, qword [rax + 0x18]
test rdx, rdx
je 0x1400e83be
lea rcx, [rdx + 0x10]
mov r8d, dword [rdx + 8]
movzx edx, byte [rbp - 0xd0]
cmp edx, 5
je 0x1400e83c5
cmp edx, 7
jne 0x1400e7f4d
jmp 0x1400e83c5
xor ecx, ecx
xor r8d, r8d
jmp 0x1400e83a7
cmp byte [rbp - 0xcb], 0
je 0x1400e83f1
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1403b7c00
jmp 0x1400e8436
cmp byte [rbp - 0xca], 0
je 0x1400e841d
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1403b7fc0
jmp 0x1400e8436
mov rdx, qword [rbp - 0x60]
mov r10d, dword [rbp - 0x58]
cmp r8d, r10d
jne 0x1400e7f03
mov r8d, r10d
call fcn.140281b40
test eax, eax
je 0x1400e8455
lea rcx, [rbp - 0xf8]
lea rdx, [0x140668c38]
call fcn.1400e79d0
mov rsi, rax
jmp 0x1400e888e
mov rax, qword [rbp - 0x1b8]
mov rdx, qword [rax + 0x88]
test rdx, rdx
je 0x1400e8487
lea rcx, [rdx + 0x10]
mov r8d, dword [rdx + 8]
movzx edx, byte [rbp - 0xd0]
cmp edx, 5
je 0x1400e848e
cmp edx, 7
jne 0x1400e7f4d
jmp 0x1400e848e
xor ecx, ecx
xor r8d, r8d
jmp 0x1400e8470
cmp byte [rbp - 0xcb], 0
je 0x1400e84ba
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1403b7c00
jmp 0x1400e84ff
cmp byte [rbp - 0xca], 0
je 0x1400e84e6
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1403b7fc0
jmp 0x1400e84ff
mov rdx, qword [rbp - 0x60]
mov r10d, dword [rbp - 0x58]
cmp r8d, r10d
jne 0x1400e7efa
mov r8d, r10d
call fcn.140281b40
test eax, eax
je 0x1400e8529
lea rcx, [rbp - 0xf8]
lea rdx, [0x14066e618]
call fcn.1400e7b80
mov qword [rbp - 0x140], rax
mov r12d, dword [rbp - 0x13c]
jmp 0x1400e888e
mov rax, qword [rbp - 0x1b8]
mov rdx, qword [rax + 0x48]
test rdx, rdx
je 0x1400e8558
lea rcx, [rdx + 0x10]
mov r8d, dword [rdx + 8]
movzx edx, byte [rbp - 0xd0]
cmp edx, 5
je 0x1400e855f
cmp edx, 7
jne 0x1400e7f4d
jmp 0x1400e855f
xor ecx, ecx
xor r8d, r8d
jmp 0x1400e8541
cmp byte [rbp - 0xcb], 0
je 0x1400e858b
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1403b7c00
jmp 0x1400e85d0
cmp byte [rbp - 0xca], 0
je 0x1400e85b7
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1403b7fc0
jmp 0x1400e85d0
mov rdx, qword [rbp - 0x60]
mov r10d, dword [rbp - 0x58]
cmp r8d, r10d
jne 0x1400e7ef1
mov r8d, r10d
call fcn.140281b40
test eax, eax
je 0x1400e8698
lea rcx, [rbp - 0xf8]
call fcn.1400e77e0
lea rcx, [rbp - 0xf8]
call fcn.1400e7900
lea rcx, [0x1407138c8]
call fcn.14000e7f0
mov r15, rax
mov rcx, qword [0x140ba3228]
mov rdx, qword [rcx + 8]
lea rcx, [r15 + 8]
call fcn.14000ea00
lea rcx, [rbp - 0xf8]
call fcn.1400e77e0
test eax, eax
je 0x1400e888e
movzx eax, byte [rbp - 0xd0]
cmp eax, 1
jne 0x1400e867a
lea rcx, [rbp - 0xf8]
call fcn.1400e8ae0
inc dword [r15 + 0x14]
mov rcx, qword [r15 + 8]
mov edx, dword [r15 + 0x10]
mov r8d, dword [rcx + 8]
cmp r8d, edx
jbe 0x1400e866d
lea r8d, [rdx + 1]
mov dword [r15 + 0x10], r8d
mov edx, edx
lea rcx, [rcx + rdx*8 + 0x10]
mov rdx, rax
call fcn.14000ea00
jmp 0x1400e8683
mov rcx, r15
mov rdx, rax
call fcn.140506a80
jmp 0x1400e8683
cmp eax, 4
je 0x1400e888e
lea rcx, [rbp - 0xf8]
call fcn.1400e77e0
test eax, eax
jne 0x1400e8627
jmp 0x1400e888e
mov rax, qword [rbp - 0x1b8]
mov rdx, qword [rax + 0x78]
test rdx, rdx
je 0x1400e86c7
lea rcx, [rdx + 0x10]
mov r8d, dword [rdx + 8]
movzx edx, byte [rbp - 0xd0]
cmp edx, 5
je 0x1400e86ce
cmp edx, 7
jne 0x1400e7f4d
jmp 0x1400e86ce
xor ecx, ecx
xor r8d, r8d
jmp 0x1400e86b0
cmp byte [rbp - 0xcb], 0
je 0x1400e86fa
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1403b7c00
jmp 0x1400e873f
cmp byte [rbp - 0xca], 0
je 0x1400e8726
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1403b7fc0
jmp 0x1400e873f
mov rdx, qword [rbp - 0x60]
mov r10d, dword [rbp - 0x58]
cmp r8d, r10d
jne 0x1400e7ee8
mov r8d, r10d
call fcn.140281b40
test eax, eax
je 0x1400e875e
lea rcx, [rbp - 0xf8]
lea rdx, [0x14066a440]
call fcn.1400e79d0
mov r13, rax
jmp 0x1400e888e
lea rax, str.ProtocolVersion
movzx edx, byte [rbp - 0xd0]
cmp edx, 5
je 0x1400e877a
cmp edx, 7
jne 0x1400e7f4d
cmp byte [rbp - 0xcb], 0
je 0x1400e87a9
mov qword [rbp - 0x1a8], rax
mov dword [rbp - 0x1a0], shutdown
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1403b7c00
jmp 0x1400e8805
cmp byte [rbp - 0xca], 0
je 0x1400e87d8
mov qword [rbp - 0x1a8], rax
mov dword [rbp - 0x1a0], shutdown
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1403b7fc0
jmp 0x1400e8805
mov rdx, qword [rbp - 0x60]
mov ecx, dword [rbp - 0x58]
cmp ecx, 0xf
jne 0x1400e7edf
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
test eax, eax
jne 0x1400e7f27
mov rax, qword [rbp - 0x1b8]
mov rdx, qword [rax + 0x98]
test rdx, rdx
je 0x1400e894e
lea rcx, [rdx + 0x10]
mov eax, dword [rdx + 8]
movzx edx, byte [rbp - 0xd0]
cmp edx, 5
je 0x1400e8840
cmp edx, 7
jne 0x1400e7f4d
cmp byte [rbp - 0xcb], 0
je 0x1400e8957
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], eax
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1403b7c00
test eax, eax
je 0x1400e89a3
lea rcx, [rbp - 0xf8]
lea rdx, [0x140677af0]
call fcn.1400e7960
mov dword [rbp - 0xfc], eax
mov r8d, dword [rbp - 0x100]
test r8d, r8d
jne 0x1400e88ae
lea rcx, [rbp - 0xf8]
call fcn.1400e77e0
test eax, eax
jne 0x1400e7e0c
mov rcx, rdi
or rcx, r13
jne 0x1400e88d6
test rbx, rbx
je 0x1400e7ea1
test r12d, r12d
jle 0x1400e88cd
test rsi, rsi
je 0x1400e8149
test r15, r15
je 0x1400e816f
lea rcx, [0x1406bea90]
call fcn.14000e7f0
mov qword [rbp - 0x1b0], rax
lea rcx, [rax + 0x18]
mov rdx, rbx
call fcn.14000ea00
mov rbx, qword [rbp - 0x1b0]
lea rcx, [rbx + 0x20]
mov rdx, rsi
call fcn.14000ea00
lea rcx, [rbx + 8]
mov rdx, rdi
call fcn.14000ea00
lea rcx, [rbx + 0x10]
mov rdx, r14
call fcn.14000ea00
lea rcx, [rbx + 0x28]
mov rdx, r15
call fcn.14000ea00
lea rcx, [rbx + 0x30]
mov rdx, r13
call fcn.14000ea00
mov dword [rbx + 0x38], r12d
mov esi, dword [rbp - 0xfc]
mov byte [rbx + 0x3c], sil
mov rax, rbx
jmp 0x1400e8a8f
xor ecx, ecx
xor eax, eax
jmp 0x1400e882b
cmp byte [rbp - 0xca], 0
je 0x1400e8985
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], eax
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1403b7fc0
jmp 0x1400e886d
mov rdx, qword [rbp - 0x60]
mov r8d, dword [rbp - 0x58]
cmp eax, r8d
jne 0x1400e7ed8
mov r8d, r8d
call fcn.140281b40
jmp 0x1400e886d
cmp byte [rbp - 0xd4], 0
je 0x1400e7f5a
cmp byte [rbp - 0xd0], 5
jne 0x1400e89dd
cmp byte [rbp - 0xcd], 0
jne 0x1400e7ec7
lea rcx, [rbp - 0xf8]
call fcn.1403b8c60
movzx ecx, al
test ecx, ecx
je 0x1400e8a70
movzx ecx, byte [rbp - 0xd0]
cmp ecx, 1
je 0x1400e89f2
cmp ecx, 3
jne 0x1400e888e
mov edx, dword [rbp - 0xa0]
cmp ecx, 3
je 0x1400e8a6c
cmp ecx, 1
je 0x1400e8a6c
mov dword [rbp - 0x194], edx
cmp byte [rbp - 0xcd], 0
jne 0x1400e7e90
lea rcx, [rbp - 0xf8]
call fcn.1403b8c60
movzx ecx, al
test ecx, ecx
je 0x1400e8a52
mov eax, dword [rbp - 0xa0]
movzx ecx, byte [rbp - 0xd0]
cmp ecx, 3
je 0x1400e8a4e
cmp ecx, 1
je 0x1400e8a4e
mov edx, dword [rbp - 0x194]
cmp edx, eax
jl 0x1400e8a08
jmp 0x1400e888e
dec eax
jmp 0x1400e8a3f
cmp byte [rbp - 0xd4], 0
je 0x1400e8a28
movzx ecx, byte [rbp - 0xd0]
test ecx, ecx
je 0x1400e7f90
jmp 0x1400e8a28
dec edx
jmp 0x1400e8a02
cmp byte [rbp - 0xd4], 0
je 0x1400e89dd
cmp byte [rbp - 0xd0], 0
je 0x1400e7f60
jmp 0x1400e89dd
add rsp, 0x1a8
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret