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

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rax - 0x58]
sub rsp, 0x130
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rax + 0x20], rbx
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
mov rax, qword [0x1802d1460]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rdi, r8
mov r15, rcx
xor ebx, ebx
mov ecx, ebx
lea r8, [0x18025d640]
nop
movzx eax, word [rdx + rcx*2]
inc rcx
cmp ax, word [r8 + rcx*2 - 2]
jne 0x180177476
cmp rcx, 4
jne 0x1801773b0
mov qword [rsp + 0x20], rbx
lea r8d, [rcx + 6]
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1801d8e94
mov esi, eax
mov rcx, qword [rsp + 0x20]
add rcx, 2
mov r8d, 0xa
lea rdx, [rsp + 0x20]
call fcn.1801d8e94
mov r14d, eax
mov rcx, qword [rsp + 0x20]
add rcx, 2
mov r8d, 0xa
lea rdx, [rsp + 0x20]
call fcn.1801d8e94
mov ebx, eax
mov rcx, qword [rsp + 0x20]
add rcx, 2
mov r8d, 0xa
lea rdx, [rsp + 0x20]
call fcn.1801d8e94
mov edi, eax
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x2c], r14d
mov r8, qword [r15]
mov rdx, qword [rsp + 0x28]
mov rcx, r15
call qword [r8 + 0x1b8]
mov r8, qword [r15]
sub ebx, esi
mov edx, ebx
mov rcx, r15
call qword [r8 + 0x1d8]
mov r8, qword [r15]
sub edi, r14d
mov edx, edi
mov rcx, r15
call qword [r8 + 0x1e8]
jmp 0x18017830c
mov rcx, rbx
lea r8, str.padding
movzx eax, word [rdx + rcx*2]
inc rcx
cmp ax, word [r8 + rcx*2 - 2]
jne 0x18017752b
cmp rcx, 8
jne 0x180177480
mov qword [rsp + 0x20], rbx
lea r8d, [rcx + 2]
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1801d8e94
mov dword [rsp + 0x30], eax
mov rcx, qword [rsp + 0x20]
add rcx, 2
mov r8d, 0xa
lea rdx, [rsp + 0x20]
call fcn.1801d8e94
mov dword [rsp + 0x34], eax
mov rcx, qword [rsp + 0x20]
add rcx, 2
mov r8d, 0xa
lea rdx, [rsp + 0x20]
call fcn.1801d8e94
mov dword [rsp + 0x38], eax
mov rcx, qword [rsp + 0x20]
add rcx, 2
mov r8d, 0xa
lea rdx, [rsp + 0x20]
call fcn.1801d8e94
mov dword [rsp + 0x3c], eax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
mov rax, qword [r15]
lea rdx, [rsp + 0x30]
mov rcx, r15
call qword [rax + 0x1a8]
jmp 0x18017830c
mov rcx, rbx
lea r8, str.bkcolor
nop word [rax + rax]
movzx eax, word [rdx + rcx*2]
inc rcx
cmp ax, word [r8 + rcx*2 - 2]
jne 0x1801775c5
cmp rcx, 8
jne 0x180177540
movzx eax, word [rdi]
test ax, ax
je 0x18017757a
nop dword [rax]
cmp ax, 0x20
ja 0x18017757a
mov rcx, rdi
call qword [sym.imp.USER32.dll_CharNextW]
mov rdi, rax
movzx eax, word [rax]
test ax, ax
jne 0x180177560
cmp word [rdi], 0x23
jne 0x18017758c
mov rcx, rdi
call qword [sym.imp.USER32.dll_CharNextW]
mov rdi, rax
mov qword [rsp + 0x28], rbx
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rsp + 0x28]
mov rcx, rdi
call fcn.1801d8ec0
cmp dword [r15 + 0x458], eax
je 0x18017830c
mov dword [r15 + 0x458], eax
mov rcx, r15
call fcn.180176e70
jmp 0x18017830c
lea r8, str.bkcolor1
mov rcx, 0xffffffffffffffff
movzx eax, word [rdx + rcx*2 + 2]
cmp ax, word [r8 + rcx*2 + 2]
jne 0x1801775f9
add rcx, 2
cmp rcx, 9
je 0x180177555
movzx eax, word [rdx + rcx*2]
cmp ax, word [r8 + rcx*2]
je 0x1801775d3
lea r8, str.bkcolor2
mov rcx, 0xffffffffffffffff
nop word [rax + rax]
movzx eax, word [rdx + rcx*2 + 2]
cmp ax, word [r8 + rcx*2 + 2]
jne 0x180177636
add rcx, 2
cmp rcx, 9
je 0x1801776f5
movzx eax, word [rdx + rcx*2]
cmp ax, word [r8 + rcx*2]
je 0x180177610
lea r8, str.bkcolor3
mov rcx, 0xffffffffffffffff
nop dword [rax]
nop dword [rax + rax]
movzx eax, word [rdx + rcx*2 + 2]
cmp ax, word [r8 + rcx*2 + 2]
jne 0x180177676
add rcx, 2
cmp rcx, 9
je 0x180177765
movzx eax, word [rdx + rcx*2]
cmp ax, word [r8 + rcx*2]
je 0x180177650
lea r8, str.bordercolor
mov rcx, rbx
movzx eax, word [rdx + rcx*2]
cmp ax, word [r8 + rcx*2]
jne 0x1801777d5
movzx eax, word [rdx + rcx*2 + 2]
cmp ax, word [r8 + rcx*2 + 2]
jne 0x1801777d5
add rcx, 2
cmp rcx, 0xc
jne 0x180177680
cmp word [rdi], 0x23
jne 0x1801776bc
mov rcx, rdi
call qword [sym.imp.USER32.dll_CharNextW]
mov rdi, rax
mov qword [rsp + 0x28], rbx
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rsp + 0x28]
mov rcx, rdi
call fcn.1801d8ec0
cmp dword [r15 + 0x718], eax
je 0x18017830c
mov dword [r15 + 0x718], eax
mov rcx, r15
call fcn.180176e70
jmp 0x18017830c
movzx eax, word [rdi]
test ax, ax
je 0x18017771a
nop dword [rax]
cmp ax, 0x20
ja 0x18017771a
mov rcx, rdi
call qword [sym.imp.USER32.dll_CharNextW]
mov rdi, rax
movzx eax, word [rax]
test ax, ax
jne 0x180177700
cmp word [rdi], 0x23
jne 0x18017772c
mov rcx, rdi
call qword [sym.imp.USER32.dll_CharNextW]
mov rdi, rax
mov qword [rsp + 0x28], rbx
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rsp + 0x28]
mov rcx, rdi
call fcn.1801d8ec0
cmp dword [r15 + 0x45c], eax
je 0x18017830c
mov dword [r15 + 0x45c], eax
mov rcx, r15
call fcn.180176e70
jmp 0x18017830c
movzx eax, word [rdi]
test ax, ax
je 0x18017778a
nop dword [rax]
cmp ax, 0x20
ja 0x18017778a
mov rcx, rdi
call qword [sym.imp.USER32.dll_CharNextW]
mov rdi, rax
movzx eax, word [rax]
test ax, ax
jne 0x180177770
cmp word [rdi], 0x23
jne 0x18017779c
mov rcx, rdi
call qword [sym.imp.USER32.dll_CharNextW]
mov rdi, rax
mov qword [rsp + 0x28], rbx
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rsp + 0x28]
mov rcx, rdi
call fcn.1801d8ec0
cmp dword [r15 + 0x460], eax
je 0x18017830c
mov dword [r15 + 0x460], eax
mov rcx, r15
call fcn.180176e70
jmp 0x18017830c
lea r8, str.focusbordercolor
mov rcx, 0xffffffffffffffff
movzx eax, word [rdx + rcx*2 + 2]
cmp ax, word [r8 + rcx*2 + 2]
jne 0x180177809
add rcx, 2
cmp rcx, 0x11
je 0x1801778d6
movzx eax, word [rdx + rcx*2]
cmp ax, word [r8 + rcx*2]
je 0x1801777e3
lea r8, str.colorhsl
mov rcx, 0xffffffffffffffff
nop word [rax + rax]
movzx eax, word [rdx + rcx*2 + 2]
cmp ax, word [r8 + rcx*2 + 2]
jne 0x180177846
add rcx, 2
cmp rcx, 9
je 0x180177921
movzx eax, word [rdx + rcx*2]
cmp ax, word [r8 + rcx*2]
je 0x180177820
lea r8, str.bordersize
mov rcx, 0xffffffffffffffff
nop dword [rax]
nop dword [rax + rax]
movzx eax, word [rdx + rcx*2 + 2]
cmp ax, word [r8 + rcx*2 + 2]
jne 0x180177886
add rcx, 2
cmp rcx, 0xb
je 0x18017796d
movzx eax, word [rdx + rcx*2]
cmp ax, word [r8 + rcx*2]
je 0x180177860
lea r8, str.borderstyle
mov rcx, rbx
movzx eax, word [rdx + rcx*2]
cmp ax, word [r8 + rcx*2]
jne 0x180177aaf
movzx eax, word [rdx + rcx*2 + 2]
cmp ax, word [r8 + rcx*2 + 2]
jne 0x180177aaf
add rcx, 2
cmp rcx, 0xc
jne 0x180177890
mov rcx, rdi
call fcn.1801d178c
mov dword [r15 + 0x724], eax
mov rcx, r15
call fcn.180176e70
jmp 0x18017830c
cmp word [rdi], 0x23
jne 0x1801778e8
mov rcx, rdi
call qword [sym.imp.USER32.dll_CharNextW]
mov rdi, rax
mov qword [rsp + 0x28], rbx
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rsp + 0x28]
mov rcx, rdi
call fcn.1801d8ec0
cmp dword [r15 + 0x71c], eax
je 0x18017830c
mov dword [r15 + 0x71c], eax
mov rcx, r15
call fcn.180176e70
jmp 0x18017830c
lea rax, [0x18025d430]
nop dword [rax + rax]
movzx ecx, word [rdi + rbx*2]
inc rbx
cmp cx, word [rax + rbx*2 - 2]
jne 0x180177949
cmp rbx, 5
jne 0x180177930
cmp cx, word [rax + rbx*2 - 2]
sete al
cmp byte [r15 + 0x720], al
je 0x18017830c
mov byte [r15 + 0x720], al
mov rcx, r15
call fcn.180176e70
jmp 0x18017830c
lea rax, [rsp + 0x68]
mov qword [rsp + 0x60], rax
mov word [rsp + 0x68], bx
mov r8d, 0xffffffff
mov rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.18016b370
nop
mov edx, Ordinal_46
mov rcx, qword [rsp + 0x60]
call fcn.1801c9464
test rax, rax
je 0x180177a97
sub rax, qword [rsp + 0x60]
sar rax, 1
test eax, eax
js 0x180177a97
mov qword [rsp + 0x20], rbx
mov r8d, 0xa
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1801d8e94
mov dword [rsp + 0x30], eax
mov rcx, qword [rsp + 0x20]
add rcx, 2
mov r8d, 0xa
lea rdx, [rsp + 0x20]
call fcn.1801d8e94
mov dword [rsp + 0x34], eax
mov rcx, qword [rsp + 0x20]
add rcx, 2
mov r8d, 0xa
lea rdx, [rsp + 0x20]
call fcn.1801d8e94
mov dword [rsp + 0x38], eax
mov rcx, qword [rsp + 0x20]
add rcx, 2
mov r8d, 0xa
lea rdx, [rsp + 0x20]
call fcn.1801d8e94
mov dword [rsp + 0x3c], eax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
mov rdi, qword [0x1802f0d80]
test rdi, rdi
jne 0x180177a73
lea ecx, [rdi + 0x1c]
call fcn.1801c7c04
mov rdi, rax
mov qword [rsp + 0x28], rax
mov qword [rax], rbx
mov qword [rax + 8], rbx
mov qword [rax + 0x10], 1
mov dword [rax + 0x18], ebx
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [rdi], eax
mov qword [0x1802f0d80], rdi
lea rdx, [rsp + 0x30]
mov rcx, rdi
call fcn.180172e50
movaps xmm0, xmmword [rsp + 0x30]
movups xmmword [r15 + 0x744], xmm0
mov rcx, r15
call fcn.180176e70
jmp 0x180177aaa
mov rcx, rdi
call fcn.1801d178c
mov edx, eax
mov rcx, r15
call fcn.180175980
nop
jmp 0x180178187
lea r8, str.borderround
mov rcx, rbx
nop dword [rax]
movzx eax, word [rdx + rcx*2]
cmp ax, word [r8 + rcx*2]
jne 0x180177b8e
movzx eax, word [rdx + rcx*2 + 2]
cmp ax, word [r8 + rcx*2 + 2]
jne 0x180177b8e
add rcx, 2
cmp rcx, 0xc
jne 0x180177ac0
mov qword [rsp + 0x20], rbx
lea r8d, [rcx - 2]
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1801d8e94
mov dword [rsp + 0x28], eax
mov rcx, qword [rsp + 0x20]
add rcx, 2
mov r8d, 0xa
lea rdx, [rsp + 0x20]
call fcn.1801d8e94
mov dword [rsp + 0x2c], eax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x28], rax
mov rdi, qword [0x1802f0d80]
test rdi, rdi
jne 0x180177b68
lea ecx, [rdi + 0x1c]
call fcn.1801c7c04
mov rdi, rax
mov qword [rsp + 0x30], rax
mov qword [rax], rbx
mov qword [rax + 8], rbx
mov qword [rax + 0x10], 1
mov dword [rax + 0x18], ebx
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [rdi], eax
mov qword [0x1802f0d80], rdi
lea rdx, [rsp + 0x28]
mov rcx, rdi
call fcn.180173100
mov rax, qword [rsp + 0x28]
mov qword [r15 + 0x72c], rax
mov rcx, r15
call fcn.180176e70
jmp 0x18017830c
mov rcx, rbx
lea r8, str.bkimage
nop dword [rax + rax]
movzx eax, word [rdx + rcx*2]
inc rcx
cmp ax, word [r8 + rcx*2 - 2]
jne 0x180177bc5
cmp rcx, 8
jne 0x180177ba0
mov rdx, rdi
mov rcx, r15
call fcn.180175870
jmp 0x18017830c
mov rcx, rbx
lea r8, str.width
nop
movzx eax, word [rdx + rcx*2]
inc rcx
cmp ax, word [r8 + rcx*2 - 2]
jne 0x180177c00
cmp rcx, 6
jne 0x180177bd0
mov rbx, qword [r15]
mov rcx, rdi
call fcn.1801d178c
mov edx, eax
mov rcx, r15
call qword [rbx + 0x1d8]
jmp 0x18017830c
mov rcx, rbx
lea r8, str.height
nop word [rax + rax]
movzx eax, word [rdx + rcx*2]
inc rcx
cmp ax, word [r8 + rcx*2 - 2]
jne 0x180177c40
cmp rcx, 7
jne 0x180177c10
mov rbx, qword [r15]
mov rcx, rdi
call fcn.1801d178c
mov edx, eax
mov rcx, r15
call qword [rbx + 0x1e8]
jmp 0x18017830c
lea r8, str.minwidth
mov rcx, 0xffffffffffffffff
nop
movzx eax, word [rdx + rcx*2 + 2]
cmp ax, word [r8 + rcx*2 + 2]
jne 0x180177c72
add rcx, 2
cmp rcx, 9
je 0x180177cbd
movzx eax, word [rdx + rcx*2]
cmp ax, word [r8 + rcx*2]
je 0x180177c50
lea r8, str.minheight
mov rcx, rbx
nop dword [rax]
movzx eax, word [rdx + rcx*2]
cmp ax, word [r8 + rcx*2]
jne 0x180177cd8
movzx eax, word [rdx + rcx*2 + 2]
cmp ax, word [r8 + rcx*2 + 2]
jne 0x180177cd8
add rcx, 2
cmp rcx, 0xa
jne 0x180177c80
mov rbx, qword [r15]
mov rcx, rdi
call fcn.1801d178c
mov edx, eax
mov rcx, r15
call qword [rbx + 0x218]
jmp 0x18017830c
mov rbx, qword [r15]
mov rcx, rdi
call fcn.1801d178c
mov edx, eax
mov rcx, r15
call qword [rbx + 0x1f8]
jmp 0x18017830c
lea r8, str.maxwidth
mov rcx, 0xffffffffffffffff
nop word [rax + rax]
movzx eax, word [rdx + rcx*2 + 2]
cmp ax, word [r8 + rcx*2 + 2]
jne 0x180177d12
add rcx, 2
cmp rcx, 9
je 0x180177d5d
movzx eax, word [rdx + rcx*2]
cmp ax, word [r8 + rcx*2]
je 0x180177cf0
lea r8, str.maxheight
mov rcx, rbx
nop dword [rax]
movzx eax, word [rdx + rcx*2]
cmp ax, word [r8 + rcx*2]
jne 0x180177d78
movzx eax, word [rdx + rcx*2 + 2]
cmp ax, word [r8 + rcx*2 + 2]
jne 0x180177d78
add rcx, 2
cmp rcx, 0xa
jne 0x180177d20
mov rbx, qword [r15]
mov rcx, rdi
call fcn.1801d178c
mov edx, eax
mov rcx, r15
call qword [rbx + 0x228]
jmp 0x18017830c
mov rbx, qword [r15]
mov rcx, rdi
call fcn.1801d178c
mov edx, eax
mov rcx, r15
call qword [rbx + 0x208]
jmp 0x18017830c
mov rcx, rbx
lea r8, [0x18025d820]
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rdx + rcx*2]
inc rcx
cmp ax, word [r8 + rcx*2 - 2]
jne 0x180177db9
cmp rcx, 5
jne 0x180177d90
mov rax, qword [r15]
mov rdx, rdi
mov rcx, r15
call qword [rax + 0xe0]
jmp 0x18017830c
mov rcx, rbx
lea r8, str.text
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rdx + rcx*2]
inc rcx
cmp ax, word [r8 + rcx*2 - 2]
jne 0x180177df9
cmp rcx, 5
jne 0x180177dd0
mov rax, qword [r15]
mov rdx, rdi
mov rcx, r15
call qword [rax + 0x140]
jmp 0x18017830c
mov rcx, rbx
lea r8, str.tooltip
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rdx + rcx*2]
inc rcx
cmp ax, word [r8 + rcx*2 - 2]
jne 0x180177e39
cmp rcx, 8
jne 0x180177e10
mov rax, qword [r15]
mov rdx, rdi
mov rcx, r15
call qword [rax + 0x238]
jmp 0x18017830c
lea r8, str.userdata
mov rcx, 0xffffffffffffffff
nop word [rax + rax]
movzx eax, word [rdx + rcx*2 + 2]
cmp ax, word [r8 + rcx*2 + 2]
jne 0x180177e72
add rcx, 2
cmp rcx, 9
je 0x180177eb1
movzx eax, word [rdx + rcx*2]
cmp ax, word [r8 + rcx*2]
je 0x180177e50
mov rcx, rbx
lea r8, [0x18025d800]
nop dword [rax]
movzx eax, word [rdx + rcx*2]
inc rcx
cmp ax, word [r8 + rcx*2 - 2]
jne 0x180177ec5
cmp rcx, 4
jne 0x180177e80
mov rbx, qword [r15]
mov rcx, rdi
call fcn.1801d178c
movsxd rdx, eax
mov rcx, r15
call qword [rbx + 0x288]
jmp 0x18017830c
mov rax, qword [r15]
mov rdx, rdi
mov rcx, r15
call qword [rax + 0x278]
jmp 0x18017830c
mov rcx, rbx
lea r8, str.enabled
nop
movzx eax, word [rdx + rcx*2]
inc rcx
cmp ax, word [r8 + rcx*2 - 2]
jne 0x180177f1b
cmp rcx, 8
jne 0x180177ed0
mov r8, qword [r15]
lea rax, [0x18025d430]
nop
movzx ecx, word [rdi + rbx*2]
inc rbx
cmp cx, word [rax + rbx*2 - 2]
jne 0x180177f09
cmp rbx, 5
jne 0x180177ef0
cmp cx, word [rax + rbx*2 - 2]
sete dl
mov rcx, r15
call qword [r8 + 0x2b0]
jmp 0x18017830c
mov rcx, rbx
lea r8, str.mouse
nop word [rax + rax]
movzx eax, word [rdx + rcx*2]
inc rcx
cmp ax, word [r8 + rcx*2 - 2]
jne 0x180177f7b
cmp rcx, 6
jne 0x180177f30
mov r8, qword [r15]
lea rax, [0x18025d430]
nop
movzx ecx, word [rdi + rbx*2]
inc rbx
cmp cx, word [rax + rbx*2 - 2]
jne 0x180177f69
cmp rbx, 5
jne 0x180177f50
cmp cx, word [rax + rbx*2 - 2]
sete dl
mov rcx, r15
call qword [r8 + 0x2c0]
jmp 0x18017830c
lea r8, str.keyboard
mov rcx, 0xffffffffffffffff
nop dword [rax]
movzx eax, word [rdx + rcx*2 + 2]
cmp ax, word [r8 + rcx*2 + 2]
jne 0x180177fb2
add rcx, 2
cmp rcx, 9
je 0x18017800b
movzx eax, word [rdx + rcx*2]
cmp ax, word [r8 + rcx*2]
je 0x180177f90
mov rcx, rbx
lea r8, str.visible
nop dword [rax]
movzx eax, word [rdx + rcx*2]
inc rcx
cmp ax, word [r8 + rcx*2 - 2]
jne 0x18017804b
cmp rcx, 8
jne 0x180177fc0
mov r8, qword [r15]
lea rax, [0x18025d430]
nop
movzx ecx, word [rdi + rbx*2]
inc rbx
cmp cx, word [rax + rbx*2 - 2]
jne 0x180177ff9
cmp rbx, 5
jne 0x180177fe0
cmp cx, word [rax + rbx*2 - 2]
sete dl
mov rcx, r15
call qword [r8 + 0x298]
jmp 0x18017830c
mov r8, qword [r15]
lea rax, [0x18025d430]
nop word [rax + rax]
movzx ecx, word [rdi + rbx*2]
inc rbx
cmp cx, word [rax + rbx*2 - 2]
jne 0x180178039
cmp rbx, 5
jne 0x180178020
cmp cx, word [rax + rbx*2 - 2]
sete dl
mov rcx, r15
call qword [r8 + 0x2d0]
jmp 0x18017830c
mov rcx, rbx
lea r8, str.float
nop word [rax + rax]
movzx eax, word [rdx + rcx*2]
inc rcx
cmp ax, word [r8 + rcx*2 - 2]
jne 0x1801781a4
cmp rcx, 6
jne 0x180178060
lea rax, [rsp + 0x68]
mov qword [rsp + 0x60], rax
mov word [rsp + 0x68], bx
lea r8d, [rcx - 7]
mov rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.18016b370
nop
mov edx, Ordinal_46
mov rcx, qword [rsp + 0x60]
call fcn.1801c9464
test rax, rax
je 0x180178151
sub rax, qword [rsp + 0x60]
sar rax, 1
test eax, eax
js 0x180178151
mov qword [rsp + 0x20], rbx
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1801da7b8
movaps xmm8, xmm0
mov rcx, qword [rsp + 0x20]
add rcx, 2
lea rdx, [rsp + 0x20]
call fcn.1801da7b8
movaps xmm7, xmm0
mov rcx, qword [rsp + 0x20]
add rcx, 2
lea rdx, [rsp + 0x20]
call fcn.1801da7b8
movaps xmm6, xmm0
mov rcx, qword [rsp + 0x20]
add rcx, 2
lea rdx, [rsp + 0x20]
call fcn.1801da7b8
movaps xmm1, xmm8
unpcklpd xmm1, xmm7
movaps xmmword [rsp + 0x30], xmm1
movaps xmm2, xmm6
unpcklpd xmm2, xmm0
movaps xmmword [rsp + 0x40], xmm2
mov rax, qword [r15]
lea rdx, [rsp + 0x30]
mov rcx, r15
call qword [rax + 0x1c8]
mov rax, qword [r15]
mov dl, 1
mov rcx, r15
call qword [rax + 0x2f0]
jmp 0x180178187
mov r8, qword [r15]
lea rax, [0x18025d430]
nop dword [rax + rax]
movzx ecx, word [rdi + rbx*2]
inc rbx
cmp cx, word [rax + rbx*2 - 2]
jne 0x180178179
cmp rbx, 5
jne 0x180178160
cmp cx, word [rax + rbx*2 - 2]
sete dl
mov rcx, r15
call qword [r8 + 0x2f0]
nop
lea rax, [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
cmp rcx, rax
je 0x18017830c
call fcn.1801cc408
jmp 0x18017830c
lea r8, str.shortcut
mov rcx, 0xffffffffffffffff
movzx eax, word [rdx + rcx*2 + 2]
cmp ax, word [r8 + rcx*2 + 2]
jne 0x1801781d4
add rcx, 2
cmp rcx, 9
je 0x18017822b
movzx eax, word [rdx + rcx*2]
cmp ax, word [r8 + rcx*2]
je 0x1801781b2
mov rcx, rbx
lea r8, str.menu
nop
movzx eax, word [rdx + rcx*2]
inc rcx
cmp ax, word [r8 + rcx*2 - 2]
jne 0x18017823f
cmp rcx, 5
jne 0x1801781e0
mov r8, qword [r15]
lea rax, [0x18025d430]
nop
movzx ecx, word [rdi + rbx*2]
inc rbx
cmp cx, word [rax + rbx*2 - 2]
jne 0x180178219
cmp rbx, 5
jne 0x180178200
cmp cx, word [rax + rbx*2 - 2]
sete dl
mov rcx, r15
call qword [r8 + 0x268]
jmp 0x18017830c
mov rax, qword [r15]
movzx edx, word [rdi]
mov rcx, r15
call qword [rax + 0x258]
jmp 0x18017830c
lea r8, str.virtualwnd
mov rcx, 0xffffffffffffffff
nop dword [rax]
movzx eax, word [rdx + rcx*2 + 2]
cmp ax, word [r8 + rcx*2 + 2]
jne 0x180178272
add rcx, 2
cmp rcx, 0xb
je 0x1801782a5
movzx eax, word [rdx + rcx*2]
cmp ax, word [r8 + rcx*2]
je 0x180178250
lea rcx, str.accname
nop dword [rax]
movzx eax, word [rdx + rbx*2]
inc rbx
cmp ax, word [rcx + rbx*2 - 2]
jne 0x180178301
cmp rbx, 8
jne 0x180178280
mov rax, qword [r15]
mov rdx, rdi
mov rcx, r15
call qword [rax + 0x150]
jmp 0x18017830c
test rdi, rdi
je 0x1801782cf
mov r8d, 0xffffffff
mov rdx, rdi
lea rcx, [r15 + 0xa0]
call fcn.18016b370
mov rax, qword [r15 + 0x88]
mov byte [rax + 0x323], 1
jmp 0x18017830c
lea rdi, [r15 + 0xa8]
mov rcx, qword [r15 + 0xa0]
cmp rcx, rdi
je 0x1801782e7
call fcn.1801cc408
mov qword [r15 + 0xa0], rdi
mov word [rdi], bx
mov rax, qword [r15 + 0x88]
mov byte [rax + 0x323], 1
jmp 0x18017830c
mov r8, rdi
mov rcx, r15
call fcn.180176ca0
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1801c74b0
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret