Function at 0x140015dc0
Capabilities:
Hash data with crc32

Disassembly:
push rbp
push rsi
push r12
push r13
push r14
lea rbp, [rsp - 0xd0]
sub rsp, 0x1d0
mov rax, qword [0x1401503a8]
xor rax, rsp
mov qword [rbp + 0x38], rax
mov r13, qword [0x140150bc8]
mov rsi, rcx
mov eax, dword [rcx + 0xb0]
mov r14, rdx
inc eax
mov qword [rsp + 0x78], rdx
mov qword [rbp - 0x70], r13
movzx r8d, byte [rsi + 0xc8]
mov ecx, dword [r13 + 0x3f48]
mov dword [rbp - 0x74], eax
mov dword [rbp - 0x78], ecx
test r8b, 0x40
je 0x140015e27
mov byte [rbp], 1
cmp eax, ecx
je 0x140015e2b
mov byte [rbp], 0
xor r12d, r12d
lea r9d, [r12 + 1]
cmp dword [rsi + 0xc0], r12d
je 0x140015e45
mov dword [rsp + 0x70], r9d
cmp eax, ecx
je 0x140015e4a
mov dword [rsp + 0x70], r12d
and r8b, 0xbf
mov dword [rsi + 0xc0], r12d
mov byte [rsi + 0xc8], r8b
mov rdx, rsi
mov rax, qword [rsi + 0x18]
mov qword [rsp + 0x68], rdx
test rax, rax
je 0x140015e83
nop dword [rax]
mov qword [rsp + 0x68], rax
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x140015e70
mov rdx, qword [rsp + 0x68]
mov rax, qword [0x140150bc8]
mov qword [rsp + 0x210], rbx
mov rcx, qword [rax + 0x43a8]
test rcx, rcx
je 0x140015ead
cmp qword [rcx + 0x420], rsi
sete bl
jmp 0x140015f56
mov rcx, qword [rax + 0x4240]
test rcx, rcx
je 0x140015f54
mov eax, dword [rsi]
cmp dword [rdx + 0xb8], eax
jne 0x140015f54
mov rcx, qword [rcx + 0x3a0]
test dword [rcx + 0xc], 0x10000000
je 0x140015ef7
nop dword [rax + rax]
mov rax, qword [rcx + 0x390]
mov rcx, qword [rax + 0x3a0]
test dword [rcx + 0xc], 0x10000000
jne 0x140015ee0
mov rax, qword [rcx + 0x428]
test rax, rax
jne 0x140015f10
mov rax, qword [rcx + 0x420]
test rax, rax
je 0x140015f54
nop
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x140015f2c
nop dword [rax]
mov rax, rcx
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x140015f20
cmp rax, rdx
je 0x140016128
mov rax, qword [rax + 0x88]
test rax, rax
je 0x140015f54
mov rax, qword [rax + 0x3a0]
mov rax, qword [rax + 0x420]
test rax, rax
jne 0x140015f10
xor bl, bl
mov eax, dword [rsi + 0x10]
mov byte [rsp + 0x30], bl
test eax, 0x3000
jne 0x14001724e
movzx ecx, byte [r14 + 0xd0]
mov qword [rsp + 0x1c8], rdi
mov qword [rsp + 0x1c0], r15
movaps xmmword [rsp + 0x1b0], xmm6
movaps xmmword [rsp + 0x1a0], xmm7
movaps xmmword [rsp + 0x190], xmm8
movaps xmmword [rsp + 0x180], xmm9
movaps xmmword [rsp + 0x170], xmm10
movaps xmmword [rsp + 0x160], xmm11
shr eax, 0xa
movaps xmmword [rsp + 0x150], xmm12
movaps xmmword [rsp + 0x140], xmm13
mov byte [rsp + 0x48], cl
test r9b, al
jne 0x140015fe0
mov byte [r14 + 0xd0], r12b
mov dword [r14 + 0x170], r9d
mov ecx, dword [rsi]
call fcn.140023bf0
mov rax, qword [rsi + 0x40]
mov qword [rsp + 0x38], rax
mov r15, rax
test rax, rax
jne 0x140016004
mov rcx, rsi
call fcn.140011d70
mov r15, qword [rsi + 0x40]
movzx ecx, byte [rsi + 0xc8]
lea rdi, [0x1400e9e49]
and cl, 0xfd
mov dword [rsp + 0x60], r12d
movzx eax, bl
lea r10, [0x1400e82b0]
add al, al
or cl, al
test dword [rsi + 0x10], 0x4000
mov byte [rsi + 0xc8], cl
jne 0x140016143
cmp dword [r13 + 0x3918], 0xffffffff
je 0x140016143
mov rax, qword [0x140150bc8]
mov r8b, reloc.WLDAP32.dll_Ordinal_35
mov byte [rbp + 1], 1
mov rdx, rdi
mov rax, qword [rax + 0x3fc8]
movsxd rcx, dword [rax + 0x108]
mov rax, qword [rax + 0x110]
mov r9d, dword [rax + rcx*4 - 4]
not r9d
mov ebx, r9d
nop word [rax + rax]
cmp r8b, 0x23
jne 0x140016093
cmp byte [rdx], r8b
jne 0x140016093
cmp byte [rdx + 1], r8b
cmove ebx, r9d
movzx ecx, bl
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr ebx, 8
inc rdx
xor ebx, dword [r10 + rcx*4]
test r8b, r8b
jne 0x140016080
mov rax, qword [0x140150bc8]
not ebx
cmp dword [rax + 0x3ffc], ebx
jne 0x1400160d6
xor r9d, r9d
lea r8, str.WindowMenu
mov ecx, ebx
lea edx, [r9 + 0xb]
call fcn.14000f850
mov rdx, qword [0x140150bc8]
movsxd rax, dword [rdx + 0x41c8]
cmp dword [rdx + 0x41b8], eax
jle 0x140016131
imul rcx, rax, 0x38
mov rax, qword [rdx + 0x41c0]
cmp dword [rcx + rax], ebx
jne 0x140016131
mov rdx, r15
mov rcx, rsi
call fcn.1400172e0
test eax, eax
je 0x140016113
mov dword [r15 + 0x1c], eax
mov dword [rsp + 0x60], eax
movzx ecx, byte [rsi + 0xc8]
movzx edx, cl
shr dl, 1
and dl, 1
or byte [rsp + 0x30], dl
jmp 0x14001614b
movzx ebx, r9b
jmp 0x140015f56
movzx edx, byte [rsp + 0x30]
movzx ecx, byte [rsi + 0xc8]
mov byte [rsp + 0x30], dl
jmp 0x14001614b
mov byte [rbp + 1], r12b
mov byte [rsp + 0x30], bl
mov rax, qword [0x140150bc8]
xorps xmm13, xmm13
movss xmm5, dword [rsi + 0x48]
movss xmm4, dword [rsi + 0x4c]
movaps xmm2, xmm5
mov qword [rbp + 8], r12
movaps xmm0, xmm4
movss xmm1, dword [rax + 0x3930]
movss dword [rsp + 0x54], xmm4
addss xmm1, xmm1
addss xmm0, dword [rax + 0x3d38]
movss dword [rbp + 0x10], xmm5
movss dword [rbp + 0x14], xmm4
addss xmm2, dword [rsi + 0x50]
addss xmm1, xmm0
movss dword [rbp + 0x18], xmm2
movss dword [rbp + 0x1c], xmm1
movss xmm0, dword [rax + 0x3904]
movss xmm6, dword [rax + 0x392c]
addss xmm5, xmm0
movss xmm3, dword [rax + 0x3d38]
subss xmm2, xmm0
movss dword [rsp + 0x5c], xmm1
movaps xmm1, xmm5
addss xmm1, xmm6
subss xmm2, xmm6
movss dword [rsp + 0x50], xmm1
movss dword [rsp + 0x58], xmm2
test cl, 8
je 0x1400161fe
subss xmm2, xmm3
movss dword [rbp + 0xc], xmm4
movaps xmm0, xmm2
movss dword [rsp + 0x58], xmm2
subss xmm0, xmm6
movss dword [rbp + 8], xmm0
test cl, 0x10
je 0x140016255
cmp dword [rax + 0x3918], r12d
jne 0x140016220
addss xmm3, dword [rax + 0x3944]
addss xmm3, xmm1
movss dword [rsp + 0x50], xmm3
jmp 0x140016255
cmp dword [rax + 0x3918], 1
jne 0x140016255
addss xmm3, dword [rax + 0x392c]
subss xmm2, xmm3
movaps xmm1, xmm2
movss dword [rsp + 0x58], xmm2
unpcklps xmm1, xmm4
movaps xmm0, xmm1
movsd qword [rbp - 0x80], xmm1
movss xmm5, dword [rbp - 0x80]
shufps xmm0, xmm0, 0x55
movaps xmm4, xmm0
movups xmm0, xmmword [rsp + 0x50]
movss dword [rbp + 0x20], xmm5
movups xmmword [rbp + 0x28], xmm0
movss dword [rbp + 0x24], xmm4
mov eax, dword [r15]
mov dword [rbp - 0x80], eax
cmp dword [rsi + 0x30], r12d
jle 0x1400162c4
mov rbx, r12
mov r14d, r12d
nop word [rax + rax]
mov rax, qword [rsi + 0x38]
mov rcx, r15
mov rax, qword [rbx + rax]
mov qword [rsp + 0x50], rax
mov edx, dword [rax + 0x90]
call fcn.14005d090
test rax, rax
jne 0x1400162b2
mov r8, qword [rsp + 0x50]
mov edx, 0x400000
mov rcx, r15
call fcn.14005cf90
inc r14d
add rbx, 8
cmp r14d, dword [rsi + 0x30]
jl 0x140016280
mov r14, qword [rsp + 0x78]
movzx eax, byte [rsp + 0x30]
test al, al
je 0x1400162df
mov eax, dword [r13 + 0x3f48]
mov dword [rsi + 0xb4], eax
movzx eax, byte [rsp + 0x30]
cmp byte [r14 + 0xce], r12b
je 0x1400162ef
mov ecx, listen
jmp 0x1400162fb
test al, al
mov rcx, r12
setne cl
add rcx, 0xa
mov rax, qword [0x140150bc8]
lea rdx, [rsp + 0x50]
movss xmm1, dword [r14 + 0x4c]
add rcx, rcx
movss xmm2, dword [0x1400ea3c0]
movss dword [rsp + 0x54], xmm1
addss xmm1, dword [r14 + 0x54]
movups xmm0, xmmword [rax + rcx*8 + 0x39b8]
lea rcx, [rbp + 0x10]
movups xmmword [rbp - 0x68], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x38f0]
movss dword [rsp + 0x5c], xmm1
movss dword [rbp - 0x5c], xmm0
movss xmm0, dword [r14 + 0x48]
movss dword [rsp + 0x50], xmm0
addss xmm0, dword [r14 + 0x50]
movss dword [rsp + 0x58], xmm0
call fcn.1400331d0
lea rcx, [rbp - 0x68]
mov ebx, eax
call fcn.14000f010
movss xmm0, dword [r14 + 0x80]
lea r8, [rbp + 0x18]
mov rcx, qword [r14 + 0x2c0]
lea rdx, [rbp + 0x10]
mov r9d, eax
mov dword [rsp + 0x28], ebx
movss dword [rsp + 0x20], xmm0
call fcn.140032750
cmp byte [rbp + 1], r12b
je 0x14001650f
movsxd rcx, dword [r14 + 0x108]
lea rdx, [0x1400e8c61]
mov rax, qword [r14 + 0x110]
lea r10, [0x1400e82b0]
mov r8b, reloc.WLDAP32.dll_Ordinal_35
mov r9d, dword [rax + rcx*4 - 4]
not r9d
mov ebx, r9d
cmp r8b, 0x23
jne 0x1400163e4
cmp byte [rdx], r8b
jne 0x1400163e4
cmp byte [rdx + 1], r8b
cmove ebx, r9d
movzx ecx, bl
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr ebx, 8
inc rdx
xor ebx, dword [r10 + rcx*4]
test r8b, r8b
jne 0x1400163d1
mov rax, qword [0x140150bc8]
not ebx
cmp dword [rax + 0x3ffc], ebx
jne 0x140016427
xor r9d, r9d
lea r8, str.COLLAPSE
mov ecx, ebx
lea edx, [r9 + 0xb]
call fcn.14000f850
mov r8, rsi
lea rdx, [rbp + 0x20]
mov ecx, ebx
call fcn.140050470
test al, al
je 0x1400164ee
mov r9, qword [0x140150bc8]
mov dl, reloc.WLDAP32.dll_Ordinal_35
mov qword [rsp + 0x50], r9
mov rax, qword [r9 + 0x3fc8]
movsxd rcx, dword [rax + 0x108]
mov rax, qword [rax + 0x110]
mov r8d, dword [rax + rcx*4 - 4]
not r8d
mov ebx, r8d
nop dword [rax + rax]
cmp dl, 0x23
jne 0x140016480
cmp byte [rdi], dl
jne 0x140016480
cmp byte [rdi + 1], dl
cmove ebx, r8d
movzx ecx, bl
movzx eax, dl
movzx edx, byte [rdi]
xor rcx, rax
shr ebx, 8
lea rax, [0x1400e82b0]
inc rdi
xor ebx, dword [rax + rcx*4]
test dl, dl
jne 0x140016470
not ebx
cmp dword [r9 + 0x3ffc], ebx
jne 0x1400164c5
xor r9d, r9d
lea r8, str.WindowMenu
mov ecx, ebx
lea edx, [r9 + 0xb]
call fcn.14000f850
mov r9, qword [rsp + 0x50]
test byte [r9 + 0x5604], 4
je 0x1400164e5
mov r8d, ebx
lea rdx, str.WindowMenu
lea rcx, str._popup__OpenPopup___s_____0x_08X_n
call fcn.14000fa80
xor edx, edx
mov ecx, ebx
call fcn.140022d40
mov rax, qword [0x140150bc8]
mov ecx, dword [rax + 0x4014]
test ecx, ecx
je 0x14001650f
cmp ecx, dword [rax + 0x408c]
jne 0x14001650f
mov eax, dword [r15 + 0x18]
mov dword [rsp + 0x60], eax
mov ebx, dword [r15]
lea ecx, [rbx - 1]
test ecx, ecx
js 0x140016543
movsxd rax, ecx
imul rdx, rax, 0x38
mov r8, qword [r15 + 8]
mov eax, dword [rdx + r8 + 4]
bt eax, 0x16
jae 0x140016543
btr eax, 0x16
mov ebx, ecx
mov dword [rdx + r8 + 4], eax
sub rdx, 0x38
sub ecx, 1
jns 0x140016520
mov ecx, dword [r15]
cmp ecx, ebx
jle 0x140016605
test byte [r13 + 0x5604], 0x40
je 0x140016585
lea rdx, str.__will_sort_
lea eax, [rbx + 1]
cmp ecx, eax
lea r9, [0x1400e7f40]
cmovg r9, rdx
mov edx, dword [rsi]
sub ecx, ebx
mov r8d, ecx
lea rcx, str._docking__In_node_0x_08X:__d_new_appearing_tabs:_s_n
call fcn.14000fa80
mov ecx, dword [r15]
mov dword [rsp + 0x50], ebx
mov edx, ebx
cmp ebx, ecx
jge 0x1400165d5
movsxd rax, ebx
imul rdi, rax, 0x38
test byte [r13 + 0x5604], 0x40
je 0x1400165c4
mov rax, qword [r15 + 8]
lea rcx, str._docking____Tab__s_Order__d_n
mov rdx, qword [rax + rdi + 8]
movsx r8d, word [rdx + 0x402]
mov rdx, qword [rdx]
call fcn.14000fa80
mov edx, dword [rsp + 0x50]
mov ecx, dword [r15]
inc edx
add rdi, 0x38
mov dword [rsp + 0x50], edx
cmp edx, ecx
jl 0x140016596
lea eax, [rbx + 1]
cmp ecx, eax
jle 0x140016605
sub ecx, ebx
movsxd rdx, ecx
cmp rdx, 1
jbe 0x140016605
movsxd rax, ebx
lea r9, [0x140029d40]
imul rcx, rax, 0x38
mov r8d, gethostname
add rcx, qword [r15 + 8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_qsort]
mov rax, qword [r13 + 0x4240]
test rax, rax
je 0x14001662b
mov rcx, qword [rax + 0x3a0]
cmp qword [rcx + 0x420], rsi
jne 0x14001662b
mov eax, dword [rcx + 0x90]
mov dword [r15 + 0x18], eax
cmp qword [rsp + 0x38], r12
jne 0x14001664d
mov edx, dword [rsi + 0xbc]
mov rcx, r15
call fcn.14005d090
test rax, rax
je 0x14001664d
mov eax, dword [rsi + 0xbc]
jmp 0x140016668
movsxd rax, dword [r15]
cmp eax, dword [rbp - 0x80]
jle 0x140016670
imul rcx, rax, 0x38
mov rax, qword [r15 + 8]
mov rcx, qword [rcx + rax - 0x30]
mov eax, dword [rcx + 0x90]
mov dword [r15 + 0x18], eax
mov dword [r15 + 0x1c], eax
mov r8d, 0x500003
cmp byte [r14 + 0xce], r12b
jne 0x14001668d
cmp byte [rsp + 0x30], r12b
mov eax, 0x700003
cmovne r8d, eax
mov r9, rsi
lea rdx, [rbp + 0x28]
mov rcx, r15
call fcn.14004f100
movups xmm7, xmmword [r13 + 0x39b8]
mov dword [rsp + 0x50], r12d
movups xmm8, xmmword [r13 + 0x3bc8]
movups xmm9, xmmword [r13 + 0x3bd8]
movups xmm10, xmmword [r13 + 0x3be8]
movups xmm11, xmmword [r13 + 0x3bf8]
movups xmm12, xmmword [r13 + 0x3c08]
mov qword [rsi + 0x90], r12
cmp dword [rsi + 0x30], r12d
jle 0x140016ac0
movss xmm6, dword [0x1400ea348]
mov rdi, r12
nop dword [rax]
mov rax, qword [rsi + 0x38]
mov rbx, qword [rdi + rax]
cmp byte [rbp], r12b
jne 0x14001670a
mov eax, dword [rsp + 0x70]
cmp eax, dword [rbx + 0x90]
jne 0x140016720
cmp byte [rbx + 0xd5], r12b
je 0x140016720
test dword [rbx + 0xc], 0x100000
je 0x140016aa4
mov eax, dword [rbx + 0x280]
inc eax
cmp eax, dword [r13 + 0x3f48]
jge 0x14001673d
mov eax, dword [rbp - 0x78]
cmp dword [rbp - 0x74], eax
je 0x140016aa4
mov ecx, dword [rbx + 0x404]
xorps xmm3, xmm3
mov eax, dword [rbx + 0xc]
xorps xmm2, xmm2
mov r8d, dword [rbx + 0x24]
xorps xmm1, xmm1
mov edx, dword [r15 + 0x10]
xorps xmm0, xmm0
or r8d, 1
and eax, 0x100000
movzx eax, cl
cmove r8d, dword [rbx + 0x24]
cvtsi2ss xmm3, rax
mov eax, ecx
shr eax, 8
movzx eax, al
cvtsi2ss xmm2, rax
mov eax, ecx
shr ecx, 0x18
shr eax, 0x10
movzx eax, al
mulss xmm3, xmm6
cvtsi2ss xmm1, rax
mov eax, ecx
cvtsi2ss xmm0, rax
shufps xmm3, xmm3, 0xe1
mulss xmm2, xmm6
mulss xmm1, xmm6
movss xmm3, xmm2
mulss xmm0, xmm6
shufps xmm3, xmm3, 0xc6
xorps xmm2, xmm2
movss xmm3, xmm1
xorps xmm1, xmm1
shufps xmm3, xmm3, 0x27
movss xmm3, xmm0
xorps xmm0, xmm0
shufps xmm3, xmm3, 0x39
movups xmmword [r13 + 0x39b8], xmm3
mov ecx, dword [rbx + 0x408]
xorps xmm3, xmm3
movzx eax, cl
cvtsi2ss xmm3, rax
mov eax, ecx
shr eax, 8
movzx eax, al
cvtsi2ss xmm2, rax
mov eax, ecx
shr ecx, 0x18
shr eax, 0x10
movzx eax, al
mulss xmm3, xmm6
cvtsi2ss xmm1, rax
mov eax, ecx
shufps xmm3, xmm3, 0xe1
cvtsi2ss xmm0, rax
mulss xmm2, xmm6
mulss xmm1, xmm6
movss xmm3, xmm2
mulss xmm0, xmm6
shufps xmm3, xmm3, 0xc6
xorps xmm2, xmm2
movss xmm3, xmm1
xorps xmm1, xmm1
shufps xmm3, xmm3, 0x27
movss xmm3, xmm0
shufps xmm3, xmm3, 0x39
movups xmmword [r13 + 0x3bc8], xmm3
mov ecx, dword [rbx + 0x40c]
movzx eax, cl
xorps xmm3, xmm3
cvtsi2ss xmm3, rax
mov eax, ecx
shr eax, 8
movzx eax, al
cvtsi2ss xmm2, rax
mov eax, ecx
shr eax, 0x10
movzx eax, al
mulss xmm3, xmm6
mulss xmm2, xmm6
shufps xmm3, xmm3, 0xe1
xorps xmm0, xmm0
movss xmm3, xmm2
shr ecx, 0x18
shufps xmm3, xmm3, 0xc6
xorps xmm2, xmm2
cvtsi2ss xmm1, rax
mov eax, ecx
cvtsi2ss xmm0, rax
mulss xmm1, xmm6
mulss xmm0, xmm6
movss xmm3, xmm1
xorps xmm1, xmm1
shufps xmm3, xmm3, 0x27
movss xmm3, xmm0
xorps xmm0, xmm0
shufps xmm3, xmm3, 0x39
movups xmmword [r13 + 0x3bd8], xmm3
mov ecx, dword [rbx + 0x410]
xorps xmm3, xmm3
movzx eax, cl
cvtsi2ss xmm3, rax
mov eax, ecx
shr eax, 8
movzx eax, al
mulss xmm3, xmm6
cvtsi2ss xmm2, rax
mov eax, ecx
shr ecx, 0x18
shr eax, 0x10
movzx eax, al
shufps xmm3, xmm3, 0xe1
cvtsi2ss xmm1, rax
mov eax, ecx
cvtsi2ss xmm0, rax
mulss xmm2, xmm6
mulss xmm1, xmm6
movss xmm3, xmm2
mulss xmm0, xmm6
shufps xmm3, xmm3, 0xc6
xorps xmm2, xmm2
movss xmm3, xmm1
xorps xmm1, xmm1
shufps xmm3, xmm3, 0x27
movss xmm3, xmm0
xorps xmm0, xmm0
shufps xmm3, xmm3, 0x39
movups xmmword [r13 + 0x3be8], xmm3
mov ecx, dword [rbx + 0x414]
xorps xmm3, xmm3
movzx eax, cl
cvtsi2ss xmm3, rax
mov eax, ecx
shr eax, 8
movzx eax, al
mulss xmm3, xmm6
cvtsi2ss xmm2, rax
mov eax, ecx
shr eax, 0x10
movzx eax, al
shr ecx, 0x18
shufps xmm3, xmm3, 0xe1
cvtsi2ss xmm1, rax
mov eax, ecx
cvtsi2ss xmm0, rax
mulss xmm2, xmm6
mulss xmm1, xmm6
movss xmm3, xmm2
mulss xmm0, xmm6
shufps xmm3, xmm3, 0xc6
movss xmm3, xmm1
shufps xmm3, xmm3, 0x27
movss xmm3, xmm0
shufps xmm3, xmm3, 0x39
movups xmmword [r13 + 0x3bf8], xmm3
mov ecx, dword [rbx + 0x418]
movzx eax, cl
xorps xmm3, xmm3
cvtsi2ss xmm3, rax
mov eax, ecx
mulss xmm3, xmm6
shr eax, 8
mov r9d, r8d
shufps xmm3, xmm3, 0xe1
or r9d, 4
movzx eax, al
xorps xmm2, xmm2
xorps xmm1, xmm1
mov qword [rsp + 0x20], rbx
xorps xmm0, xmm0
cvtsi2ss xmm2, rax
mov eax, ecx
shr ecx, 0x18
shr eax, 0x10
and dl, 8
movzx eax, al
cmove r9d, r8d
lea r8, [rbp + 1]
cvtsi2ss xmm1, rax
mov eax, ecx
mov rcx, r15
cvtsi2ss xmm0, rax
mulss xmm2, xmm6
mulss xmm1, xmm6
movss xmm3, xmm2
mulss xmm0, xmm6
shufps xmm3, xmm3, 0xc6
movss xmm3, xmm1
shufps xmm3, xmm3, 0x27
movss xmm3, xmm0
shufps xmm3, xmm3, 0x39
movups xmmword [r13 + 0x3c08], xmm3
cmp byte [rbx + 0xd5], r12b
mov rdx, qword [rbx]
cmove r8, r12
mov byte [rbp + 1], 1
movups xmmword [rsp + 0x38], xmm3
call fcn.14005ea30
cmp byte [rbp + 1], r12b
jne 0x140016a4a
mov eax, dword [rbx + 0x90]
mov dword [rsi + 0xc0], eax
mov eax, dword [rbx + 0x90]
cmp dword [r15 + 0x20], eax
jne 0x140016a5d
mov qword [rsi + 0x90], rbx
mov eax, dword [r13 + 0x4094]
mov dword [rbx + 0x434], eax
movups xmm0, xmmword [r13 + 0x4098]
movups xmmword [rbx + 0x438], xmm0
mov rax, qword [r13 + 0x4240]
test rax, rax
je 0x140016aa4
cmp qword [rax + 0x3a0], rbx
jne 0x140016aa4
test byte [rbx + 0x174], 2
jne 0x140016aa4
mov eax, dword [rbx + 0x90]
mov dword [r14 + 0x3d4], eax
mov eax, dword [rsp + 0x50]
add rdi, 8
inc eax
mov dword [rsp + 0x50], eax
cmp eax, dword [rsi + 0x30]
jl 0x1400166f0
nop dword [rax + rax]
movups xmmword [r13 + 0x39b8], xmm7
movups xmmword [r13 + 0x3bc8], xmm8
movups xmmword [r13 + 0x3bd8], xmm9
movups xmmword [r13 + 0x3be8], xmm10
movaps xmm10, xmmword [rsp + 0x170]
movups xmmword [r13 + 0x3bf8], xmm11
movaps xmm11, xmmword [rsp + 0x160]
movups xmmword [r13 + 0x3c08], xmm12
mov rcx, qword [rsi + 0x90]
movaps xmm12, xmmword [rsp + 0x150]
test rcx, rcx
je 0x140016b33
mov rax, qword [rsp + 0x68]
cmp byte [rsp + 0x30], r12b
jne 0x140016b2c
cmp qword [rax + 0x90], r12
jne 0x140016b33
mov qword [rax + 0x90], rcx
movzx eax, byte [rsi + 0xc8]
mov r11d, 8
and al, r11b
je 0x140016b63
mov rcx, qword [rsi + 0x90]
test rcx, rcx
je 0x140016b63
cmp byte [rcx + 0xd5], r12b
je 0x140016b63
mov byte [rbp], 1
jmp 0x140016c52
test al, al
je 0x140016f00
mov rax, qword [0x140150bc8]
mov edi, dword [rax + 0x4074]
lea rbx, [rax + 0x4198]
or edi, 4
mov dword [rax + 0x4074], edi
mov ecx, dword [rbx + 4]
mov eax, dword [rbx]
cmp eax, ecx
jne 0x140016bb8
lea r8d, [rax + 1]
test ecx, ecx
je 0x140016ba4
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
lea r11d, [rcx + rax]
cmp r11d, r8d
mov rcx, rbx
cmovg r8d, r11d
mov edx, r8d
call fcn.14002f2f0
mov eax, dword [rbx]
movsxd rcx, eax
lea rdx, [rbp - 0x68]
mov rax, qword [rbx + 8]
mov dword [rbp - 0x68], r12d
mov dword [rax + rcx*4], edi
inc dword [rbx]
mov rbx, qword [0x140150bc8]
movss xmm8, dword [r13 + 0x39c4]
movss xmm9, dword [r13 + 0x39b8]
movss xmm6, dword [r13 + 0x39bc]
movups xmm0, xmmword [rbx + 0x39b8]
lea rcx, [rbx + 0x4158]
movss xmm7, dword [r13 + 0x39c0]
mulss xmm8, dword [0x1400ea370]
movups xmmword [rbp - 0x64], xmm0
call fcn.14002ee10
shufps xmm9, xmm9, 0xe1
mov r11d, 8
movss xmm9, xmm6
mov byte [rbp], r12b
shufps xmm9, xmm9, 0xc6
movss xmm9, xmm7
shufps xmm9, xmm9, 0x27
movss xmm9, xmm8
shufps xmm9, xmm9, 0x39
movups xmmword [rsp + 0x38], xmm9
movups xmmword [rbx + 0x39b8], xmm9
movsxd rcx, dword [r14 + 0x108]
lea rdx, [0x1400e8ec1]
mov rax, qword [r14 + 0x110]
mov r8b, reloc.WLDAP32.dll_Ordinal_35
mov r9d, dword [rax + rcx*4 - 4]
not r9d
mov r14d, r9d
cmp r8b, 0x23
jne 0x140016c88
cmp byte [rdx], r8b
jne 0x140016c88
cmp byte [rdx + 1], r8b
cmove r14d, r9d
movzx ecx, r14b
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr r14d, 8
lea rax, [0x1400e82b0]
inc rdx
xor r14d, dword [rax + rcx*4]
test r8b, r8b
jne 0x140016c75
mov r10, qword [0x140150bc8]
not r14d
mov qword [rsp + 0x38], r10
cmp dword [r10 + 0x3ffc], r14d
jne 0x140016e24
movsxd rax, dword [r10 + 0x5634]
mov rbx, qword [r10 + 0x3fc8]
cmp eax, 0xffffffff
jne 0x140016ddd
mov dword [r10 + 0x5634], r12d
lea r8, [r10 + 0x5640]
mov edi, dword [rbx + 0x108]
xor eax, eax
mov ecx, dword [r8 + 4]
inc edi
mov qword [rbp - 0x10], rax
xorps xmm6, xmm6
mov qword [rsp + 0x68], r8
cmp edi, ecx
jle 0x140016d37
test ecx, ecx
je 0x140016d1c
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
lea r11d, [rcx + rax]
cmp r11d, edi
mov edx, edi
mov rcx, r8
cmovg edx, r11d
call fcn.14002f6b0
mov r10, qword [rsp + 0x38]
mov r8, qword [rsp + 0x68]
movsxd rax, dword [r8]
cmp edi, eax
jle 0x140016d88
movsxd rdx, edi
cmp rax, rdx
jge 0x140016d88
movsd xmm1, qword [rbp - 0x10]
lea rcx, [rax + rax*8]
shl rcx, 3
sub rdx, rax
nop word [rax + rax]
mov rax, qword [r8 + 8]
lea rcx, [rcx + 0x48]
movups xmmword [rcx + rax - 0x48], xmm6
movups xmmword [rcx + rax - 0x38], xmm6
movups xmmword [rcx + rax - 0x28], xmm6
movups xmmword [rcx + rax - 0x18], xmm6
movsd qword [rcx + rax - 8], xmm1
sub rdx, 1
jne 0x140016d60
mov dword [r8], edi
mov ecx, r12d
mov edx, dword [rbx + 0x108]
lea eax, [rdx + 1]
test eax, eax
jle 0x140016e24
mov r9, r12
mov r8, r12
cmp ecx, edx
jge 0x140016db6
mov rax, qword [rbx + 0x110]
mov edx, dword [r8 + rax]
jmp 0x140016db9
mov edx, r14d
mov rax, qword [r10 + 0x5648]
inc ecx
add r8, 4
mov dword [r9 + rax], edx
add r9, 0x48
mov edx, dword [rbx + 0x108]
lea eax, [rdx + 1]
cmp ecx, eax
jl 0x140016da5
jmp 0x140016e24
cmp eax, dword [rbx + 0x108]
jne 0x140016e24
mov rbx, qword [r10 + 0x5648]
lea rdi, [rax + rax*8]
mov r9d, 6
lea rax, str.CLOSE
lea r8, str._.s
mov qword [rsp + 0x20], rax
lea rcx, [rbx + 0xc]
lea rcx, [rcx + rdi*8]
lea edx, [r9 + 0x33]
call fcn.14001baa0
mov byte [rbx + rdi*8 + 5], 1
mov byte [rbx + rdi*8 + 8], listen
lea rdx, [rbp + 8]
mov ecx, r14d
call fcn.140050110
test al, al
je 0x140016e6a
or byte [rsi + 0xc8], 0x40
mov ebx, r12d
cmp dword [r15], r12d
jle 0x140016e6a
nop dword [rax]
nop word [rax + rax]
movsxd rax, ebx
mov rcx, r15
imul rdx, rax, 0x38
add rdx, qword [r15 + 8]
call fcn.14005d020
inc ebx
cmp ebx, dword [r15]
jl 0x140016e50
cmp byte [rbp], r12b
jne 0x140016ef5
mov r8, qword [0x140150bc8]
cmp dword [r8 + 0x4158], 1
jl 0x140016ed2
mov r13d, 1
nop dword [rax + rax]
movsxd rax, dword [r8 + 0x4158]
dec r13d
mov rcx, qword [r8 + 0x4160]
lea rdx, [rax + rax*4]
movsxd rax, dword [rcx + rdx*4 - 0x14]
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
add rax, rax
movups xmmword [r8 + rax*8 + 0x39b8], xmm0
dec dword [r8 + 0x4158]
test r13d, r13d
jg 0x140016e90
mov r8, qword [0x140150bc8]
mov r13, qword [rbp - 0x70]
movsxd rcx, dword [r8 + 0x4198]
lea eax, [rcx - 1]
mov dword [r8 + 0x4198], eax
mov rax, qword [r8 + 0x41a0]
mov ecx, dword [rax + rcx*4 - 8]
mov dword [r8 + 0x4074], ecx
mov r14, qword [rsp + 0x78]
mov r11d, 8
movsxd rcx, dword [r14 + 0x108]
lea rdx, [0x1400e9ed9]
mov rax, qword [r14 + 0x110]
mov r8b, reloc.WLDAP32.dll_Ordinal_35
movaps xmm9, xmmword [rsp + 0x180]
movaps xmm8, xmmword [rsp + 0x190]
movaps xmm7, xmmword [rsp + 0x1a0]
mov r9d, dword [rax + rcx*4 - 4]
not r9d
mov r14d, r9d
nop dword [rax]
cmp r8b, 0x23
jne 0x140016f53
cmp byte [rdx], r8b
jne 0x140016f53
cmp byte [rdx + 1], r8b
cmove r14d, r9d
movzx ecx, r14b
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr r14d, 8
lea rax, [0x1400e82b0]
inc rdx
xor r14d, dword [rax + rcx*4]
test r8b, r8b
jne 0x140016f40
mov r10, qword [0x140150bc8]
not r14d
mov qword [rbp - 0x70], r10
cmp dword [r10 + 0x3ffc], r14d
jne 0x1400170e4
movsxd rax, dword [r10 + 0x5634]
mov rbx, qword [r10 + 0x3fc8]
cmp eax, 0xffffffff
jne 0x14001709d
mov dword [r10 + 0x5634], r12d
lea r8, [r10 + 0x5640]
mov edi, dword [rbx + 0x108]
xor eax, eax
mov ecx, dword [r8 + 4]
inc edi
mov qword [rbp - 0x10], rax
xorps xmm6, xmm6
mov qword [rsp + 0x38], r8
cmp edi, ecx
jle 0x140017000
test ecx, ecx
je 0x140016fe6
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
lea r11d, [rcx + rax]
cmp r11d, edi
mov edx, edi
mov rcx, r8
cmovg edx, r11d
call fcn.14002f6b0
mov r10, qword [rbp - 0x70]
mov r8, qword [rsp + 0x38]
movsxd rax, dword [r8]
cmp edi, eax
jle 0x140017048
movsxd rdx, edi
cmp rax, rdx
jge 0x140017048
movsd xmm1, qword [rbp - 0x10]
lea rcx, [rax + rax*8]
shl rcx, 3
sub rdx, rax
nop
mov rax, qword [r8 + 8]
lea rcx, [rcx + 0x48]
movups xmmword [rcx + rax - 0x48], xmm6
movups xmmword [rcx + rax - 0x38], xmm6
movups xmmword [rcx + rax - 0x28], xmm6
movups xmmword [rcx + rax - 0x18], xmm6
movsd qword [rcx + rax - 8], xmm1
sub rdx, 1
jne 0x140017020
mov dword [r8], edi
mov ecx, r12d
mov edx, dword [rbx + 0x108]
lea eax, [rdx + 1]
test eax, eax
jle 0x1400170e4
mov r9, r12
mov r8, r12
cmp ecx, edx
jge 0x140017076
mov rax, qword [rbx + 0x110]
mov edx, dword [r8 + rax]
jmp 0x140017079
mov edx, r14d
mov rax, qword [r10 + 0x5648]
inc ecx
add r8, 4
mov dword [r9 + rax], edx
add r9, 0x48
mov edx, dword [rbx + 0x108]
lea eax, [rdx + 1]
cmp ecx, eax
jl 0x140017065
jmp 0x1400170e4
cmp eax, dword [rbx + 0x108]
jne 0x1400170e4
mov rbx, qword [r10 + 0x5648]
lea rdi, [rax + rax*8]
mov r9d, 9
lea rax, str.TITLEBAR
lea r8, str._.s
mov qword [rsp + 0x20], rax
lea rcx, [rbx + 0xc]
lea rcx, [rcx + rdi*8]
lea edx, [r9 + 0x30]
call fcn.14001baa0
mov byte [rbx + rdi*8 + 5], 1
mov byte [rbx + rdi*8 + 8], listen
mov eax, dword [r13 + 0x4000]
movaps xmm6, xmmword [rsp + 0x1b0]
mov rdi, qword [rsp + 0x1c8]
test eax, eax
je 0x140017111
cmp eax, r14d
je 0x140017111
cmp dword [r13 + 0x4014], r14d
jne 0x1400171c5
lea r9, [rbp]
mov dword [rsp + 0x20], 0x1000
xor r8d, r8d
lea rcx, [rbp + 0x10]
mov edx, r14d
call fcn.14004f520
cmp dword [r13 + 0x4000], r14d
jne 0x140017167
mov dword [r13 + 0x408c], r14d
mov rax, qword [0x140150bc8]
mov ecx, dword [rax + 0x408c]
cmp dword [rax + 0x4000], ecx
jne 0x140017158
mov byte [rax + 0x4008], 1
cmp dword [rax + 0x4014], ecx
jne 0x140017167
mov byte [rax + 0x4021], 1
cmp byte [rbp], r12b
je 0x1400171c5
mov rax, qword [0x140150bc8]
cmp byte [rax + 0xe0c], r12b
je 0x140017199
movss xmm0, dword [rax + 0x3778]
ucomiss xmm0, xmm13
jp 0x140017199
jne 0x140017199
mov eax, dword [r15 + 0x18]
mov edx, eax
mov dword [rsp + 0x60], eax
jmp 0x14001719d
mov edx, dword [r15 + 0x18]
mov rcx, r15
call fcn.14005d090
test rax, rax
je 0x1400171c5
mov rcx, qword [rax + 8]
test rcx, rcx
jne 0x1400171ba
mov rcx, qword [rsi + 0x88]
xor r8d, r8d
mov rdx, rsi
call fcn.140029b80
mov edx, dword [r15 + 0x1c]
test edx, edx
movaps xmm13, xmmword [rsp + 0x140]
cmove edx, dword [rsp + 0x60]
test edx, edx
je 0x140017206
mov rcx, r15
call fcn.14005d090
mov rbx, rax
test rax, rax
je 0x140017206
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x140017206
call fcn.14001a430
mov rcx, qword [rbx + 8]
xor edx, edx
call fcn.14001e440
call fcn.140055230
mov rax, qword [0x140150bc8]
mov r15, qword [rsp + 0x1c0]
mov rcx, qword [rax + 0x3fc8]
dec dword [rcx + 0x108]
mov eax, dword [rsi + 0x10]
shr eax, 0xa
test al, 1
jne 0x1400172b9
mov rax, qword [rsp + 0x78]
movzx ecx, byte [rsp + 0x48]
mov dword [rax + 0x170], r12d
mov byte [rax + 0xd0], cl
jmp 0x1400172b9
cmp dword [rsi + 0x30], r12d
jle 0x14001725b
mov rax, qword [rsi + 0x38]
mov r12, qword [rax]
and r8b, 0xfd
mov qword [rsi + 0x90], r12
movzx eax, bl
add al, al
or r8b, al
mov byte [rsi + 0xc8], r8b
test bl, bl
je 0x140017286
mov eax, dword [r13 + 0x3f48]
mov dword [rsi + 0xb4], eax
test r12, r12
je 0x1400172b9
test bl, bl
jne 0x140017299
cmp qword [rdx + 0x90], 0
jne 0x1400172a0
mov qword [rdx + 0x90], r12
mov rdx, qword [rsi + 0x40]
test rdx, rdx
je 0x1400172b9
mov rax, qword [rsi + 0x90]
mov ecx, dword [rax + 0x90]
mov dword [rdx + 0x20], ecx
mov rbx, qword [rsp + 0x210]
mov rcx, qword [rbp + 0x38]
xor rcx, rsp
call fcn.1400e2050
add rsp, 0x1d0
pop r14
pop r13
pop r12
pop rsi
pop rbp
ret