Function at 0x1400d9e40
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 0x1400d9e78
mov qword [rbp - 0x40], rax
mov rdx, rcx
lea rcx, [rbp - 0xf8]
lea r9, [rbp - 0x138]
mov r8d, 1
call fcn.14035feb0
lea rcx, [rbp - 0xf8]
call fcn.1400d98e0
lea rcx, [rbp - 0xf8]
call fcn.1400d9920
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 0x1400d9f8d
movzx edx, byte [rbp - 0xd0]
cmp edx, 2
je 0x1400d9fa1
cmp edx, 5
jne 0x1400da0a0
lea rdx, [0x140632538]
cmp qword [rdx - 8], 0
jne 0x1400da284
mov rax, qword [0x140b59c10]
mov qword [rbp - 0x1b8], rax
mov rdx, qword [rax + 0x28]
test rdx, rdx
jne 0x1400da28e
xor ecx, ecx
xor r8d, r8d
cmp byte [rbp - 0xcb], 0
je 0x1400da29b
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1403601c0
test eax, eax
je 0x1400da2ea
lea rcx, [rbp - 0xf8]
lea rdx, [0x1406180f0]
call fcn.1400d9ad0
mov rdi, rax
mov edx, dword [rbp - 0x100]
test edx, edx
jne 0x1400d9fa1
lea rcx, [rbp - 0xf8]
call fcn.1400d98e0
test eax, eax
jne 0x1400d9eec
mov rcx, rdi
or rcx, r13
jne 0x1400d9fc9
test rbx, rbx
je 0x1400da041
test r12d, r12d
jle 0x1400d9fc0
test rsi, rsi
je 0x1400da238
test r15, r15
je 0x1400da25e
lea rcx, [0x140647060]
call fcn.14000bd00
mov qword [rbp - 0x1b0], rax
lea rcx, [rax + 0x18]
mov rdx, rbx
call fcn.14000bf10
mov rbx, qword [rbp - 0x1b0]
lea rcx, [rbx + 0x20]
mov rdx, rsi
call fcn.14000bf10
lea rcx, [rbx + 8]
mov rdx, rdi
call fcn.14000bf10
lea rcx, [rbx + 0x10]
mov rdx, r14
call fcn.14000bf10
lea rcx, [rbx + 0x28]
mov rdx, r15
call fcn.14000bf10
lea rcx, [rbx + 0x30]
mov rdx, r13
call fcn.14000bf10
mov dword [rbx + 0x38], r12d
mov esi, dword [rbp - 0xfc]
mov byte [rbx + 0x3c], sil
mov rax, rbx
jmp 0x1400daa38
lea rcx, [0x14066edf8]
call fcn.14000bd00
mov rbx, rax
mov rcx, rbx
lea rdx, [0x1405db490]
call fcn.14023b740
mov rcx, rbx
call fcn.14000c2f0
lea rcx, [0x1406676e8]
call fcn.14000bd00
mov rbx, rax
mov rcx, rbx
lea rdx, [0x1405c5ec8]
call fcn.140231250
mov rcx, rbx
call fcn.14000c2f0
movzx ecx, byte [rbp - 0xd0]
call fcn.1403555f0
int3
call fcn.140355610
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.14029c2a0
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 0x1400da196
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 0x1400da14d
lea rcx, [0x140608730]
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 0x1400da162
mov ecx, dword [rbp - 0x158]
add ecx, 0x12
mov dword [rbp - 0x158], ecx
jmp 0x1400da175
lea rcx, [rbp - 0x168]
lea rdx, [0x140608730]
call fcn.14029c730
lea rcx, [rbp - 0x168]
movzx edx, byte [rbp - 0xd0]
call fcn.140565e40
mov ebx, dword [rbp - 0x158]
cmp ebx, dword [rbp - 0x148]
jbe 0x1400da19c
call fcn.14023b7f0
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 0x1400da1d3
lea rdx, [0x1405ad2d8]
add rdx, 0xc
mov r8d, 0x52
call fcn.1402069a0
mov ebx, 1
test ebx, ebx
je 0x1400da1e8
mov ecx, dword [rbp - 0x158]
add ecx, 0x29
mov dword [rbp - 0x158], ecx
jmp 0x1400da1fb
lea rcx, [rbp - 0x168]
lea rdx, [0x1405ad2d8]
call fcn.14029c730
lea rcx, [0x14066edf8]
call fcn.14000bd00
mov rbx, rax
lea rcx, [rbp - 0x168]
call fcn.14029c460
mov dword [rbx + 0x48], 0x80131500
lea rcx, [rbx + 8]
mov rdx, rax
call fcn.14000bf10
mov dword [rbx + 0x48], 0x80131501
mov rcx, rbx
call fcn.14000c2f0
lea rcx, [0x14066edf8]
call fcn.14000bd00
mov rbx, rax
mov rcx, rbx
lea rdx, [0x1405db4f8]
call fcn.14023b740
mov rcx, rbx
call fcn.14000c2f0
lea rcx, [0x14066edf8]
call fcn.14000bd00
mov rbx, rax
mov rcx, rbx
lea rdx, [0x1405db418]
call fcn.14023b740
mov rcx, rbx
call fcn.14000c2f0
call fcn.140001dd3
jmp 0x1400d9f17
lea rcx, [rdx + 0x10]
mov r8d, dword [rdx + 8]
jmp 0x1400d9f37
cmp byte [rbp - 0xca], 0
je 0x1400da2ca
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.140360590
jmp 0x1400d9f65
mov rdx, qword [rbp - 0x60]
mov r10d, dword [rbp - 0x58]
cmp r8d, r10d
jne 0x1400da2e1
mov r8d, r10d
call fcn.14023a0c0
jmp 0x1400da2e5
xor ecx, ecx
mov eax, ecx
jmp 0x1400d9f65
mov rax, qword [rbp - 0x1b8]
mov rdx, qword [rax + 0x38]
test rdx, rdx
jne 0x1400da301
xor ecx, ecx
xor r8d, r8d
jmp 0x1400da309
lea rcx, [rdx + 0x10]
mov r8d, dword [rdx + 8]
movzx edx, byte [rbp - 0xd0]
cmp edx, 5
je 0x1400da31e
cmp edx, 7
jne 0x1400da08d
cmp byte [rbp - 0xcb], 0
je 0x1400da34a
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1403601c0
jmp 0x1400da391
cmp byte [rbp - 0xca], 0
je 0x1400da376
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.140360590
jmp 0x1400da391
mov rdx, qword [rbp - 0x60]
mov r10d, dword [rbp - 0x58]
cmp r8d, r10d
jne 0x1400da38d
mov r8d, r10d
call fcn.14023a0c0
jmp 0x1400da391
xor ecx, ecx
mov eax, ecx
test eax, eax
je 0x1400da3b0
lea rcx, [rbp - 0xf8]
lea rdx, [0x14060dcf0]
call fcn.1400d9ad0
mov r14, rax
jmp 0x1400d9f83
mov rax, qword [rbp - 0x1b8]
mov rdx, qword [rax + 8]
test rdx, rdx
jne 0x1400da3c7
xor ecx, ecx
xor r8d, r8d
jmp 0x1400da3cf
lea rcx, [rdx + 0x10]
mov r8d, dword [rdx + 8]
movzx edx, byte [rbp - 0xd0]
cmp edx, 5
je 0x1400da3e4
cmp edx, 7
jne 0x1400da08d
cmp byte [rbp - 0xcb], 0
je 0x1400da410
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1403601c0
jmp 0x1400da457
cmp byte [rbp - 0xca], 0
je 0x1400da43c
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.140360590
jmp 0x1400da457
mov rdx, qword [rbp - 0x60]
mov r10d, dword [rbp - 0x58]
cmp r8d, r10d
jne 0x1400da453
mov r8d, r10d
call fcn.14023a0c0
jmp 0x1400da457
xor ecx, ecx
mov eax, ecx
test eax, eax
je 0x1400da476
lea rcx, [rbp - 0xf8]
lea rdx, [0x14060fc00]
call fcn.1400d9ad0
mov rbx, rax
jmp 0x1400d9f83
mov rax, qword [rbp - 0x1b8]
mov rdx, qword [rax + 0x18]
test rdx, rdx
jne 0x1400da48d
xor ecx, ecx
xor r8d, r8d
jmp 0x1400da495
lea rcx, [rdx + 0x10]
mov r8d, dword [rdx + 8]
movzx edx, byte [rbp - 0xd0]
cmp edx, 5
je 0x1400da4aa
cmp edx, 7
jne 0x1400da08d
cmp byte [rbp - 0xcb], 0
je 0x1400da4d6
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1403601c0
jmp 0x1400da51d
cmp byte [rbp - 0xca], 0
je 0x1400da502
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.140360590
jmp 0x1400da51d
mov rdx, qword [rbp - 0x60]
mov r10d, dword [rbp - 0x58]
cmp r8d, r10d
jne 0x1400da519
mov r8d, r10d
call fcn.14023a0c0
jmp 0x1400da51d
xor ecx, ecx
mov eax, ecx
test eax, eax
je 0x1400da53c
lea rcx, [rbp - 0xf8]
lea rdx, [0x14060fc30]
call fcn.1400d9ad0
mov rsi, rax
jmp 0x1400d9f83
mov rax, qword [rbp - 0x1b8]
mov rdx, qword [rax + 0x88]
test rdx, rdx
jne 0x1400da556
xor ecx, ecx
xor r8d, r8d
jmp 0x1400da55e
lea rcx, [rdx + 0x10]
mov r8d, dword [rdx + 8]
movzx edx, byte [rbp - 0xd0]
cmp edx, 5
je 0x1400da573
cmp edx, 7
jne 0x1400da08d
cmp byte [rbp - 0xcb], 0
je 0x1400da59f
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1403601c0
jmp 0x1400da5e6
cmp byte [rbp - 0xca], 0
je 0x1400da5cb
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.140360590
jmp 0x1400da5e6
mov rdx, qword [rbp - 0x60]
mov r10d, dword [rbp - 0x58]
cmp r8d, r10d
jne 0x1400da5e2
mov r8d, r10d
call fcn.14023a0c0
jmp 0x1400da5e6
xor ecx, ecx
mov eax, ecx
test eax, eax
je 0x1400da610
lea rcx, [rbp - 0xf8]
lea rdx, [0x140614a30]
call fcn.1400d9c80
mov qword [rbp - 0x140], rax
mov r12d, dword [rbp - 0x13c]
jmp 0x1400d9f83
mov rax, qword [rbp - 0x1b8]
mov rdx, qword [rax + 0x48]
test rdx, rdx
jne 0x1400da627
xor ecx, ecx
xor r8d, r8d
jmp 0x1400da62f
lea rcx, [rdx + 0x10]
mov r8d, dword [rdx + 8]
movzx edx, byte [rbp - 0xd0]
cmp edx, 5
je 0x1400da644
cmp edx, 7
jne 0x1400da08d
cmp byte [rbp - 0xcb], 0
je 0x1400da670
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1403601c0
jmp 0x1400da6b7
cmp byte [rbp - 0xca], 0
je 0x1400da69c
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.140360590
jmp 0x1400da6b7
mov rdx, qword [rbp - 0x60]
mov r10d, dword [rbp - 0x58]
cmp r8d, r10d
jne 0x1400da6b3
mov r8d, r10d
call fcn.14023a0c0
jmp 0x1400da6b7
xor ecx, ecx
mov eax, ecx
test eax, eax
je 0x1400da77d
lea rcx, [rbp - 0xf8]
call fcn.1400d98e0
lea rcx, [rbp - 0xf8]
call fcn.1400d9a00
lea rcx, [0x140691888]
call fcn.14000bd00
mov r15, rax
mov rcx, qword [0x140b5ac88]
mov rdx, qword [rcx + 8]
lea rcx, [r15 + 8]
call fcn.14000bf10
lea rcx, [rbp - 0xf8]
call fcn.1400d98e0
test eax, eax
je 0x1400d9f83
movzx eax, byte [rbp - 0xd0]
cmp eax, 1
jne 0x1400da75f
lea rcx, [rbp - 0xf8]
call fcn.1400daaa0
inc dword [r15 + 0x14]
mov rcx, qword [r15 + 8]
mov edx, dword [r15 + 0x10]
mov r8d, dword [rcx + 8]
cmp r8d, edx
jbe 0x1400da752
lea r8d, [rdx + 1]
mov dword [r15 + 0x10], r8d
lea rcx, [rcx + rdx*8 + 0x10]
mov rdx, rax
call fcn.14000bf10
jmp 0x1400da768
mov rcx, r15
mov rdx, rax
call fcn.140495960
jmp 0x1400da768
cmp eax, 4
je 0x1400d9f83
lea rcx, [rbp - 0xf8]
call fcn.1400d98e0
test eax, eax
jne 0x1400da70e
jmp 0x1400d9f83
mov rax, qword [rbp - 0x1b8]
mov rdx, qword [rax + 0x78]
test rdx, rdx
jne 0x1400da794
xor ecx, ecx
xor r8d, r8d
jmp 0x1400da79c
lea rcx, [rdx + 0x10]
mov r8d, dword [rdx + 8]
movzx edx, byte [rbp - 0xd0]
cmp edx, 5
je 0x1400da7b1
cmp edx, 7
jne 0x1400da08d
cmp byte [rbp - 0xcb], 0
je 0x1400da7dd
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1403601c0
jmp 0x1400da824
cmp byte [rbp - 0xca], 0
je 0x1400da809
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], r8d
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.140360590
jmp 0x1400da824
mov rdx, qword [rbp - 0x60]
mov r10d, dword [rbp - 0x58]
cmp r8d, r10d
jne 0x1400da820
mov r8d, r10d
call fcn.14023a0c0
jmp 0x1400da824
xor ecx, ecx
mov eax, ecx
test eax, eax
je 0x1400da843
lea rcx, [rbp - 0xf8]
lea rdx, [0x140611298]
call fcn.1400d9ad0
mov r13, rax
jmp 0x1400d9f83
lea rax, str.ProtocolVersion
movzx edx, byte [rbp - 0xd0]
cmp edx, 5
je 0x1400da85f
cmp edx, 7
jne 0x1400da08d
cmp byte [rbp - 0xcb], 0
je 0x1400da88e
mov qword [rbp - 0x1a8], rax
mov dword [rbp - 0x1a0], shutdown
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1403601c0
jmp 0x1400da8ea
cmp byte [rbp - 0xca], 0
je 0x1400da8bd
mov qword [rbp - 0x1a8], rax
mov dword [rbp - 0x1a0], shutdown
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.140360590
jmp 0x1400da8ea
mov rdx, qword [rbp - 0x60]
mov ecx, dword [rbp - 0x58]
cmp ecx, 0xf
jne 0x1400da8e8
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 0x1400da8ea
xor eax, eax
test eax, eax
jne 0x1400da067
mov rdx, qword [rbp - 0x1b8]
mov rdx, qword [rdx + 0x98]
test rdx, rdx
jne 0x1400da90b
xor ecx, ecx
xor eax, eax
jmp 0x1400da912
lea rcx, [rdx + 0x10]
mov eax, dword [rdx + 8]
movzx edx, byte [rbp - 0xd0]
cmp edx, 5
je 0x1400da927
cmp edx, 7
jne 0x1400da08d
cmp byte [rbp - 0xcb], 0
je 0x1400da972
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], eax
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.1403601c0
test eax, eax
je 0x1400da9b5
lea rcx, [rbp - 0xf8]
lea rdx, [0x140618140]
call fcn.1400d9a60
mov dword [rbp - 0xfc], eax
jmp 0x1400d9f83
cmp byte [rbp - 0xca], 0
je 0x1400da99d
mov qword [rbp - 0x1a8], rcx
mov dword [rbp - 0x1a0], eax
lea rdx, [rbp - 0x1a8]
lea rcx, [rbp - 0xf8]
call fcn.140360590
jmp 0x1400da950
mov rdx, qword [rbp - 0x60]
mov r8d, dword [rbp - 0x58]
cmp eax, r8d
jne 0x1400da9b1
call fcn.14023a0c0
jmp 0x1400da9b3
xor eax, eax
jmp 0x1400da950
cmp byte [rbp - 0xd4], 0
je 0x1400da09a
cmp byte [rbp - 0xd0], 5
jne 0x1400da9d7
lea rcx, [rbp - 0xf8]
call fcn.14035ffe0
movzx ecx, byte [rbp - 0xd0]
cmp ecx, 1
je 0x1400da9ec
cmp ecx, 3
jne 0x1400d9f83
mov edx, dword [rbp - 0xa0]
cmp ecx, 3
je 0x1400da9fc
cmp ecx, 1
jne 0x1400da9fe
dec edx
mov dword [rbp - 0x194], edx
lea rcx, [rbp - 0xf8]
call fcn.14035ffe0
mov ecx, dword [rbp - 0xa0]
movzx eax, byte [rbp - 0xd0]
cmp eax, 3
je 0x1400daa27
cmp eax, 1
jne 0x1400daa29
dec ecx
mov edx, dword [rbp - 0x194]
cmp edx, ecx
jl 0x1400daa04
jmp 0x1400d9f83
add rsp, 0x1a8
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret