Function at 0x18003f800
Capabilities:
Get graphical window text

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x648]
sub rsp, 0x748
mov rdi, qword [rsp + 0x78]
lea eax, [r9 - 9]
mov dword [rbp - 0x68], eax
mov r10, r8
mov r12d, r9d
mov r14, rdx
mov r8, rcx
cmp r9d, eax
jbe case.0x1800400a1.281
mov esi, dword [rbp + 0x6a8]
xor ebx, ebx
mov rdx, qword [rbp + 0x6b0]
lea eax, [r12 - 0x83]
lea r15, [0x1800be368]
lea r9, [0x180000000]
cmp eax, 0x10
ja case.0x18003f884.137
mov ecx, dword [r9 + rax*4 + 0x40ab8]
add rcx, r9
jmp rcx
mov qword [0x1800e0550], rbx
mov qword [0x1800e0558], rbx
mov qword [0x1800e0560], rbx
mov qword [rsp + 0x60], rbx
jmp case.0x18003f884.137
cmp qword [0x1800be6f0], 1
jne case.0x18003f884.137
mov r15d, 0x103
nop dword [rax]
cmp r15d, 0x103
je 0x18003f8db
cmp r15d, 0x8b9e
je case.0x18003fb18.100
jmp 0x1800404e4
mov ecx, 0x20
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdqe
mov ecx, 0x21
mov qword [rsp + 0x68], rax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movsxd r13, eax
mov ecx, 0x4e
mov qword [rsp + 0x78], r13
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movsxd r14, eax
mov ecx, 0x2f
sub r14, qword [0x1800be708]
sub r14, qword [0x1800be700]
sub r14, qword [0x1800be760]
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movsxd rcx, eax
mov rax, r14
mov r14, qword [rbp + 0x698]
cqo
idiv rcx
mov qword [rbp - 0x70], rax
mov eax, dword [r14]
cmp eax, 0x86
ja 0x18003fac4
je 0x18003fa34
mov ecx, eax
sub eax, 5
je 0x18003fa12
sub eax, 2
je case.0x18003fb18.100
sub eax, 0x1d
je 0x18003fa08
sub eax, 0x22
je 0x18003ff8f
cmp eax, 0x3d
jne 0x18003fc5b
cmp qword [0x1800e0558], 0
jne 0x18003f99f
cmp qword [0x1800e0560], 0
je case.0x18003fb18.100
mov rax, qword [rbp + 0x6a0]
cmp dword [rax], 1
jne case.0x18003fb18.100
mov ecx, 0x69
mov eax, ecx
sub eax, 0x69
je 0x18003f9e5
sub eax, 1
je 0x18003f9ce
cmp eax, 1
jne 0x18003f9fc
mov qword [0x1800be740], rbx
jmp 0x18003f9fc
mov rdx, qword [rbp - 0x48]
movups xmm0, xmmword [rdx]
movups xmmword [rsp + 0x30], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rsp + 0x40], xmm1
jmp 0x18003f9fc
mov r8, qword [rbp + 0x690]
mov rax, qword [r8]
mov qword [rbp - 0x48], rax
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x58], rax
inc ecx
cmp ecx, 0x6c
jb 0x18003f9b4
jmp case.0x18003fb18.100
mov r12, qword [rsp + 0x68]
jmp 0x180040372
mov rax, qword [0x1800be740]
cmp rax, 0x10
mov qword [0x1800e0550], rbx
cmovne rax, rbx
mov qword [0x1800be740], rax
jmp case.0x18003fb18.100
mov rcx, qword [0x1800e0558]
test rcx, rcx
je case.0x18003fb18.100
mov r13, qword [rbp + 0x6b0]
cmp rcx, qword [r13]
je case.0x18003fb18.100
mov rax, qword [rbp + 0x6a0]
cmp qword [rax], 0
je 0x18003fab8
mov r14d, 0x36
mov eax, r14d
sub eax, 0x36
je 0x18003faa1
cmp eax, 1
jne 0x18003faaf
mov rcx, qword [r13]
lea rdx, [0x1800be750]
call qword [sym.imp.USER32.dll_GetWindowRect]
mov rax, qword [0x1800e0558]
mov rcx, qword [r13]
mov qword [0x1800e0560], rax
mov qword [0x1800e0558], rcx
jmp 0x18003faaf
movaps xmm0, xmmword [0x1800be750]
movaps xmmword [0x1800ce770], xmm0
inc r14d
cmp r14d, 0x38
jb 0x18003fa68
mov qword [0x1800be740], rcx
jmp case.0x18003fb18.100
mov ecx, eax
sub eax, 0x112
je 0x18003fc91
sub eax, 0x102
je 0x18003faeb
sub eax, 2
je 0x18003faeb
cmp eax, 0x1c
je 0x18003fbf4
jmp 0x18003fc5b
mov r14d, ebx
nop
cmp r14d, 0x64
ja case.0x18003fb18.1
lea r9, [0x180000000]
mov eax, r14d
movzx eax, byte [r9 + rax + 0x40b18]
mov ecx, dword [r9 + rax*4 + 0x40afc]
add rcx, r9
jmp rcx
mov rcx, qword [0x1800be6a8]
lea rdx, [rsp + 0x40]
call qword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [rsp + 0x40]
lea rdx, [rsp + 0x50]
mov rcx, qword [0x1800be6a8]
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x54], eax
call qword [sym.imp.USER32.dll_ClientToScreen]
jmp case.0x18003fb18.1
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x54], eax
jmp case.0x18003fb18.1
mov eax, dword [0x1800be708]
lea rcx, [rsp + 0x40]
sub dword [rsp + 0x48], eax
mov eax, dword [0x1800be710]
sub dword [rsp + 0x4c], eax
call qword [sym.imp.USER32.dll_ClipCursor]
jmp case.0x18003fb18.1
mov rcx, qword [0x1800be6a8]
lea rdx, [rsp + 0x50]
call qword [sym.imp.USER32.dll_ClientToScreen]
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x48], eax
jmp case.0x18003fb18.1
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x4c], eax
mov eax, dword [0x1800be700]
add dword [rsp + 0x40], eax
cmp qword [0x1800be738], 0
mov eax, dword [0x1800be6f8]
je 0x18003fbda
mov eax, dword [0x1800be738]
add dword [rsp + 0x44], eax
add r14d, 0x14
lea eax, [r14 + 0xed]
cmp eax, 0x165
jb 0x18003faf0
mov r14d, 0xe2
nop word [rax + rax]
mov eax, r14d
sub eax, 0xe2
je 0x18003fc1f
cmp eax, 1
jne 0x18003fc46
lea rcx, [rsp + 0x30]
call qword [sym.imp.USER32.dll_ClipCursor]
jmp case.0x18003fb18.100
mov ecx, 0x4e
mov qword [rsp + 0x30], 0
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, 0x4f
mov dword [rsp + 0x38], eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [rsp + 0x3c], eax
inc r14d
cmp r14d, 0xe4
jb 0x18003fc00
mov rax, qword [rbp + 0x698]
mov ecx, dword [rax]
cmp ecx, 0x14
ja 0x18003fc6e
mov eax, 0x10a180
bt eax, ecx
jb 0x1800404e4
lea eax, [rcx - 0x85]
cmp eax, 1
jbe 0x1800404e4
lea eax, [rcx - 0x281]
cmp eax, 1
jbe 0x1800404e4
jmp case.0x18003fb18.100
mov r15d, 0xc0
nop word [rax + rax]
mov eax, r15d
sub eax, 0xbe
je 0x180040456
sub eax, 1
je 0x18003fe0e
cmp eax, 1
jne 0x18003ff7f
mov rax, qword [rbp + 0x6a0]
mov rax, qword [rax]
and eax, 0xfff0
mov qword [rsp + 0x70], rax
cmp rax, 0xf030
jne 0x18003ff7f
mov rbx, qword [rbp + 0x6b0]
lea r13, [0x1800be770]
mov r14d, 0x12b
nop dword [rax]
nop dword [rax + rax]
cmp r14d, 0x12b
je 0x18003fde3
cmp r14d, 0x12b0
je 0x18003fdbf
cmp r14d, 0x2435
jne 0x18003fdee
movsxd rax, dword [rsp + 0x30]
mov qword [0x1800be760], rax
movsxd rax, dword [rsp + 0x34]
mov qword [0x1800be768], rax
mov rcx, qword [rbx]
mov qword [0x1800e0558], rcx
call qword [sym.imp.USER32.dll_IsZoomed]
test eax, eax
jne 0x18003fdee
mov rcx, qword [rbx]
lea rdx, [rbp - 0x30]
mov r8d, 0x80
call qword [sym.imp.USER32.dll_GetWindowTextW]
mov r8, r13
mov qword [rsp + 0x60], 0x100
lea rbx, [0x1800ce770]
nop dword [rax]
lea r9, [rbp - 0x30]
mov rax, r8
sub r9, r8
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r9]
sub edx, ecx
jne 0x18003fda3
inc rax
test ecx, ecx
jne 0x18003fd90
test edx, edx
jne 0x18003fdaa
mov byte [r8], dl
add r8, 0x100
cmp r8, rbx
jl 0x18003fd80
mov rbx, qword [rbp + 0x6b0]
jmp 0x18003fdee
mov rcx, qword [rbx]
lea rdx, [0x1800be750]
call qword [sym.imp.USER32.dll_GetWindowRect]
mov rcx, qword [0x1800be6a8]
lea rdx, [rsp + 0x30]
call qword [sym.imp.USER32.dll_GetWindowRect]
jmp 0x18003fdee
mov qword [0x1800e0550], 1
add r14d, 0x1185
cmp r14d, 0x348f
jbe 0x18003fd00
mov r13, qword [rsp + 0x78]
xor ebx, ebx
jmp 0x18003ff7f
mov rax, qword [rsp + 0x70]
cmp rax, 0xf020
jne 0x18003fea0
mov rbx, qword [rbp + 0x6b0]
mov r14d, 0xd4
nop dword [rax]
cmp r14d, 0xd4
je 0x18003fe50
cmp r14d, 0x978c
jne 0x18003fe89
movsxd rax, dword [rsp + 0x34]
mov qword [0x1800be768], rax
jmp 0x18003fe89
mov rcx, qword [rbx]
lea rdx, [0x1800be750]
mov qword [0x1800e0550], 0x12
call qword [sym.imp.USER32.dll_GetWindowRect]
mov rcx, qword [0x1800be6a8]
lea rdx, [rsp + 0x30]
call qword [sym.imp.USER32.dll_GetWindowRect]
movsxd rax, dword [rsp + 0x30]
mov qword [0x1800be760], rax
add r14d, 0x96b8
cmp r14d, 0x12d70
jbe 0x18003fe30
xor ebx, ebx
jmp 0x18003ff7f
cmp rax, 0xf120
jne 0x18003ff7f
mov r14, qword [rbp + 0x6b0]
mov qword [0x1800e0550], 2
mov rcx, qword [r14]
call qword [sym.imp.USER32.dll_IsZoomed]
test eax, eax
je 0x18003ff14
mov eax, dword [0x1800ce77c]
mov r8d, dword [0x1800ce774]
sub eax, r8d
mov r9d, dword [0x1800ce778]
mov edx, dword [0x1800ce770]
sub r9d, edx
mov rcx, qword [0x1800e0560]
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], eax
mov qword [0x1800e0558], rbx
call qword [sym.imp.USER32.dll_MoveWindow]
mov qword [0x1800e0560], rbx
jmp 0x18003ff78
mov rcx, qword [r14]
lea rdx, [rbp - 0x30]
mov r8d, 0x80
call qword [sym.imp.USER32.dll_GetWindowTextW]
lea r9, [0x1800be770]
mov qword [rsp + 0x60], 0x100
lea rbx, [0x1800ce770]
nop
lea r8, [rbp - 0x30]
mov rax, r9
sub r8, r9
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x18003ff63
inc rax
test ecx, ecx
jne 0x18003ff50
test edx, edx
jne 0x18003ff6a
mov byte [r9], dl
add r9, 0x100
cmp r9, rbx
jl 0x18003ff40
xor ebx, ebx
mov qword [0x1800be740], rbx
dec r15d
cmp r15d, 0xbd
ja 0x18003fca0
mov r12, qword [rsp + 0x68]
mov r15d, 0x65
nop word [rax + rax]
mov eax, r15d
sub eax, 0x63
je case.0x18003fb18.100
sub eax, 1
je 0x1800401e9
cmp eax, 1
jne 0x180040365
mov rax, qword [rbp + 0x690]
lea rdx, [rsp + 0x30]
mov rcx, qword [0x1800be6a8]
mov r14, qword [rax]
mov qword [rsp + 0x58], r14
call qword [sym.imp.USER32.dll_GetWindowRect]
cmp qword [0x1800e0550], 1
jne 0x180040066
cmp qword [0x1800be748], 0xe
jne 0x180040365
mov edx, 0x5b
nop dword [rax]
mov eax, edx
sub eax, 0x59
je 0x1800403d5
sub eax, 1
je 0x180040027
cmp eax, 1
jne 0x18004005a
mov ecx, dword [0x1800be760]
add ecx, dword [0x1800be700]
sub dword [r14 + 0x10], ecx
jmp 0x18004005a
mov ecx, dword [0x1800be768]
add ecx, r13d
add ecx, dword [0x1800be6f8]
sub dword [r14 + 0x14], ecx
mov eax, dword [0x1800be758]
sub eax, dword [0x1800be750]
mov dword [r14 + 0x18], eax
mov eax, dword [0x1800be75c]
sub eax, dword [0x1800be754]
mov dword [r14 + 0x1c], eax
dec edx
cmp edx, 0x58
ja 0x180040000
jmp 0x180040365
cmp qword [0x1800e0550], 0x12
jne 0x180040365
mov r14d, 0x105
nop word [rax + rax]
lea eax, [r14 - 0x105]
cmp eax, 0x14
ja case.0x1800400a1.262
lea rdx, [0x180000000]
mov ecx, dword [rdx + rax*4 + 0x40b80]
add rcx, rdx
jmp rcx
xor edx, edx
lea r8, [rbp - 0x40]
xor r9d, r9d
lea ecx, [rdx + 0x30]
call qword [sym.imp.USER32.dll_SystemParametersInfoW]
jmp case.0x1800400a1.262
mov rax, qword [rbp + 0x6b0]
lea rdx, [rbp - 0x30]
mov r8d, 0x80
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_GetWindowTextW]
lea r11, [0x1800be770]
mov qword [rsp + 0x60], rbx
mov r8, r11
mov r10, rbx
cmp byte [r8], 0
je 0x180040137
lea r9, [rbp - 0x30]
mov rax, r8
sub r9, r8
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r9]
sub edx, ecx
jne 0x180040113
inc rax
test ecx, ecx
jne 0x180040100
test edx, edx
je 0x180040137
inc r10
lea rax, [0x1800ce770]
add r8, 0x100
mov qword [rsp + 0x60], r10
cmp r8, rax
jl 0x1800400e6
jmp case.0x1800400a1.262
lea rdx, [rbp - 0x30]
mov rax, r10
shl rax, 8
lea rcx, [rbp - 0x30]
sub rax, rdx
lea rdx, [rax + r11]
nop dword [rax]
movzx eax, byte [rcx]
mov byte [rcx + rdx], al
lea rcx, [rcx + 1]
test al, al
jne 0x180040150
mov ecx, 0x2f
mov r14d, 0x109
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, eax
mov rax, qword [rsp + 0x60]
cqo
idiv qword [rbp - 0x70]
mov rax, qword [rsp + 0x58]
imul ecx, edx
add ecx, dword [0x1800be760]
add ecx, dword [0x1800be700]
mov dword [rax + 0x10], ecx
jmp case.0x1800400a1.262
mov ecx, 0x30
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, eax
mov rax, qword [rsp + 0x60]
cqo
idiv qword [rbp - 0x70]
inc eax
imul ecx, eax
mov eax, dword [rbp - 0x34]
sub eax, ecx
mov rcx, qword [rsp + 0x58]
sub eax, dword [0x1800be768]
sub eax, r13d
sub eax, dword [0x1800be710]
mov dword [rcx + 0x14], eax
jmp case.0x1800400a1.262
mov rdi, rbx
add r14d, 4
cmp r14d, 0x11d
jb 0x180040080
jmp 0x180040365
mov rcx, qword [0x1800be740]
lea rax, [rcx - 0xc]
test rax, 0xfffffffffffffffa
jne 0x180040289
cmp rcx, 0x11
je 0x180040289
mov ecx, 0x97
nop
mov eax, ecx
sub eax, 0x97
je 0x180040262
cmp eax, 1
jne 0x18004027f
mov rcx, qword [rsp + 0x58]
lea eax, [r12 + r12]
sub eax, dword [0x1800be700]
sub eax, dword [0x1800be708]
sub eax, dword [rsp + 0x30]
add eax, dword [rsp + 0x38]
mov dword [rcx + 0x18], eax
lea eax, [r13*2]
sub eax, dword [0x1800be6f8]
sub eax, dword [0x1800be710]
sub eax, dword [rsp + 0x34]
add eax, dword [rsp + 0x3c]
mov dword [rcx + 0x1c], eax
mov rax, rbx
jmp 0x1800402b9
mov eax, dword [0x1800be700]
mov rdx, qword [rsp + 0x58]
sub eax, r12d
mov dword [rdx + 0x10], eax
mov eax, dword [0x1800be6f8]
sub eax, r13d
mov dword [rdx + 0x14], eax
inc ecx
cmp ecx, 0x99
jb 0x180040210
mov rax, qword [rbp + 0x6b0]
mov rax, qword [rax]
cmp qword [0x1800e0558], rax
jne 0x180040344
mov ecx, 0x6b
mov eax, ecx
sub eax, 0x6b
je 0x1800402f6
sub eax, 1
je 0x1800402cd
cmp eax, 1
jne 0x180040334
mov rax, rdi
add rsp, 0x748
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rdx, qword [rsp + 0x58]
lea eax, [r13*2]
sub eax, dword [0x1800be6f8]
mov rdi, rbx
sub eax, dword [0x1800be710]
sub eax, dword [rsp + 0x34]
add eax, dword [rsp + 0x3c]
mov dword [rdx + 0x1c], eax
jmp 0x180040334
mov eax, dword [0x1800be700]
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x68]
sub eax, edx
mov dword [r8 + 0x10], eax
mov eax, dword [0x1800be6f8]
sub eax, r13d
mov dword [r8 + 0x14], eax
lea eax, [rdx + rdx]
sub eax, dword [0x1800be700]
sub eax, dword [0x1800be708]
sub eax, dword [rsp + 0x30]
add eax, dword [rsp + 0x38]
mov dword [r8 + 0x18], eax
inc ecx
cmp ecx, 0x6e
jb 0x1800402a5
mov r12, qword [rsp + 0x68]
mov rcx, qword [0x1800be6f8]
test rcx, rcx
jle 0x180040365
mov r14, qword [rsp + 0x58]
movsxd rax, dword [r14 + 0x14]
cmp rax, rcx
jge 0x180040365
lea eax, [rcx - 1]
mov dword [r14 + 0x14], eax
dec r15d
cmp r15d, 0x62
ja 0x18003ffa0
cmp qword [0x1800e0550], 1
je 0x18004039d
cmp qword [0x1800be740], 0
jg 0x18004039d
mov rax, qword [rbp + 0x6b0]
mov rax, qword [rax]
cmp qword [0x1800e0558], rax
jne case.0x18003fb18.100
mov edx, 0x118
cmp edx, 0x118
je 0x180040411
cmp edx, 0x7ee0
je 0x1800403f3
cmp edx, 0xfca8
je 0x1800403dd
cmp edx, 0x17a70
jne 0x18004043f
mov ecx, dword [0x1800be6f8]
mov rax, qword [rbp - 0x60]
add ecx, dword [0x1800be710]
sub dword [rax + 0x24], ecx
mov rax, rbx
jmp 0x1800402b9
mov ecx, dword [0x1800be700]
mov r8, qword [rbp - 0x60]
add ecx, dword [0x1800be708]
sub dword [r8 + 0x20], ecx
jmp 0x18004043f
mov eax, dword [0x1800be700]
mov rcx, qword [rbp - 0x60]
sub eax, r12d
mov dword [rcx + 0x10], eax
mov eax, dword [0x1800be6f8]
sub eax, r13d
mov dword [rcx + 0x14], eax
jmp 0x18004043f
mov ecx, dword [0x1800be700]
add ecx, dword [0x1800be708]
mov rax, qword [rbp + 0x690]
mov r8, qword [rax]
mov qword [rbp - 0x60], r8
sub dword [r8 + 8], ecx
mov ecx, dword [0x1800be6f8]
add ecx, dword [0x1800be710]
sub dword [r8 + 0xc], ecx
add edx, 0x7dc8
cmp edx, 0x1f720
jbe 0x1800403a2
jmp case.0x18003fb18.100
cmp qword [rsp + 0x70], 0xf060
jne case.0x18003fb18.100
mov r13, qword [rbp + 0x6b0]
mov rcx, qword [r13]
call qword [sym.imp.USER32.dll_IsZoomed]
test eax, eax
jne case.0x18003fb18.100
mov rcx, qword [r13]
lea rdx, [rbp - 0x30]
mov r8d, 0x80
call qword [sym.imp.USER32.dll_GetWindowTextW]
lea r9, [0x1800be770]
mov qword [rsp + 0x60], 0x100
lea rbx, [0x1800ce770]
lea r8, [rbp - 0x30]
mov rax, r9
sub r8, r9
nop dword [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x1800404c3
inc rax
test ecx, ecx
jne 0x1800404b0
test edx, edx
jne 0x1800404ca
mov byte [r9], dl
add r9, 0x100
cmp r9, rbx
jl 0x1800404a1
xor ebx, ebx
mov r15d, 0x8b9e
mov r12d, 0x85
add r15d, 0x8a9b
cmp r15d, 0x11536
jbe 0x18003f8c0
mov rdx, qword [rbp + 0x6b0]
jmp case.0x18003f884.137
cmp qword [0x1800be368], 0
je case.0x18003f884.137
mov eax, dword [r14]
cmp eax, 0x112
je 0x18004052e
cmp eax, 0x84
je 0x18004052e
cmp eax, 0x116
jne case.0x18003f884.137
mov r13d, 0xea
nop dword [rax]
nop dword [rax + rax]
lea eax, [r13 - 0xde]
cmp eax, 0x12
ja case.0x18004055b.223
mov ecx, dword [r9 + rax*4 + 0x40bd4]
add rcx, r9
jmp rcx
mov rcx, qword [0x1800be368]
mov eax, ebx
mov dword [rbp + 0x6a8], ebx
mov qword [rbp - 0x78], rcx
test rcx, rcx
je case.0x18004055b.223
nop dword [rax]
test eax, eax
jne case.0x18004055b.223
mov rax, qword [rbp + 0x6b0]
mov rax, qword [rax]
cmp qword [rcx], rax
je 0x1800405a7
mov rcx, qword [rcx + 0x38]
mov eax, dword [rbp + 0x6a8]
mov qword [rbp - 0x78], rcx
jmp 0x1800405b2
mov eax, 1
mov dword [rbp + 0x6a8], eax
mov r13d, 0xea
test rcx, rcx
jne 0x180040580
jmp case.0x18004055b.223
mov esi, dword [0x1800be368]
jmp case.0x18004055b.223
mov rcx, qword [rbp - 0x78]
test ecx, ecx
jle case.0x18004055b.223
lea r14, [0x1800be369]
mov r15d, ecx
lea rbx, str.inher
nop word [rax + rax]
movzx edx, byte [r14 - 1]
lea r9, str.noinh
movzx ecx, byte [r14]
test dl, dl
movzx eax, word [r14 + 1]
mov r8d, edx
cmovs r9, rbx
mov dword [rsp + 0x28], eax
shr r8d, 4
and edx, 0xf
mov dword [rsp + 0x20], ecx
and r8d, 7
lea rcx, str.level_d_bit4560x_x__s_bits_2d_nsubdiv_d_n
call fcn.18006ac90
lea r14, [r14 + 4]
sub r15, 1
jne 0x1800405f0
xor ebx, ebx
lea r15, [0x1800be368]
jmp 0x180040680
mov ecx, 0xfffffe6d
mov word [rbp + 0x50], bx
lea rdx, [rbp + 0x50]
call qword [0x1800ce8f0]
xor r9d, r9d
mov word [0x1800ce8f8], bx
lea r8, [rsp + 0x68]
mov dword [rsp + 0x68], 0x200
lea rdx, [rbp + 0x50]
mov dword [rsp + 0x20], 0x157
mov rcx, r15
call fcn.1800108e0
lea r9, [0x180000000]
inc r13d
cmp r13d, 0xf0
jb 0x180040540
mov eax, esi
test eax, eax
je 0x1800404f8
mov ecx, 0xa2
mov eax, ecx
sub eax, 0xa2
je 0x1800406cb
cmp eax, 0xd
jne 0x180040859
lea r12d, [rax + 0x77]
jmp 0x180040859
mov eax, dword [rbp + 0x6a8]
mov esi, eax
jmp 0x180040699
mov rax, qword [rbp - 0x78]
mov r14, qword [rbp + 0x698]
mov r15, qword [rax + 0x18]
mov edx, dword [r14]
mov eax, edx
sub eax, 2
je 0x180040820
sub eax, 0x82
je 0x180040971
sub eax, 0x8e
je 0x1800408c2
cmp eax, 4
jne 0x180040854
mov r14d, 0x39
nop dword [rax]
cmp r14d, 0x39
je 0x1800407f6
cmp r14d, 0xfc
je 0x1800407a2
cmp r14d, 0x1bf
je 0x180040781
cmp r14d, 0x282
jne 0x18004080c
test r15b, 0x10
je 0x180040854
mov r15, qword [rbp - 0x80]
mov rcx, r15
call qword [sym.imp.USER32.dll_GetMenuItemCount]
movsxd r14, eax
sub r14, 1
js 0x180040854
nop dword [rax]
mov edx, r14d
mov rcx, r15
call qword [sym.imp.USER32.dll_GetMenuItemID]
mov rcx, r15
cmp eax, 0xf040
jne 0x180040874
mov edx, eax
jmp 0x180040889
test r15b, 8
je 0x18004080c
mov rcx, qword [rbp - 0x80]
mov edx, 0xf030
mov r8d, 1
call qword [sym.imp.USER32.dll_EnableMenuItem]
jmp 0x18004080c
mov r13, qword [rbp - 0x80]
test r15b, 1
je 0x1800407c0
mov edx, 0xf000
mov r8d, 1
mov rcx, r13
call qword [sym.imp.USER32.dll_EnableMenuItem]
test r15b, 2
je 0x1800407da
mov edx, 0xf010
mov r8d, 1
mov rcx, r13
call qword [sym.imp.USER32.dll_EnableMenuItem]
test r15b, 4
je 0x18004080c
mov edx, 0xf020
mov r8d, 1
mov rcx, r13
call qword [sym.imp.USER32.dll_EnableMenuItem]
jmp 0x18004080c
mov rax, qword [rbp + 0x6b0]
xor edx, edx
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_GetSystemMenu]
mov qword [rbp - 0x80], rax
add r14d, 0xc3
cmp r14d, 0x345
jb 0x180040710
mov rcx, qword [rbp + 0x6b0]
lea rax, [0x1800be368]
mov r9d, 0x11d
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x78]
mov qword [rbp - 0x70], rbx
lea rdx, [rbp - 0x70]
mov qword [rsp + 0x78], 1
call fcn.180056b50
mov ecx, 0xa2
add ecx, 0xd
cmp ecx, 0xbc
jb 0x1800406a6
mov rdx, qword [rbp + 0x6b0]
jmp case.0x18003f884.137
mov edx, r14d
call qword [sym.imp.USER32.dll_GetMenuItemID]
cmp eax, 0xf050
jne 0x1800408b6
mov edx, eax
mov rcx, r15
xor r8d, r8d
call qword [sym.imp.USER32.dll_DeleteMenu]
lea edx, [r14 - 1]
mov rcx, r15
call qword [sym.imp.USER32.dll_GetMenuItemID]
test eax, eax
jne 0x1800408b6
mov r8d, 0x400
lea edx, [r14 - 1]
mov rcx, r15
call qword [sym.imp.USER32.dll_DeleteMenu]
sub r14, 1
jns 0x180040760
jmp 0x180040854
mov r10, qword [rbp + 0x6a0]
mov ecx, 0x58
nop
mov eax, ecx
sub eax, 0x58
je 0x180040915
cmp eax, 0x66
jne 0x180040922
mov rax, qword [rsp + 0x70]
sub rax, 0xf000
je 0x18004095b
sub rax, 0x10
je 0x180040945
sub rax, 0x10
je 0x18004092f
cmp rax, 0x10
jne 0x180040854
test r15b, 8
je 0x180040854
mov qword [r10], 0xf
jmp 0x180040854
mov eax, dword [r10]
and eax, 0xfff0
mov qword [rsp + 0x70], rax
add ecx, 0x66
cmp ecx, 0x124
jb 0x1800408d0
jmp 0x180040978
test r15b, 4
je 0x180040854
mov qword [r10], 0xf
jmp 0x180040854
test r15b, 2
je 0x180040854
mov qword [r10], 0xf
jmp 0x180040854
test r15b, 1
je 0x180040854
mov qword [r10], 0xf
jmp 0x180040854
mov r10, qword [rbp + 0x6a0]
test r15b, 1
je 0x180040854
mov r13, qword [rbp + 0x690]
mov r15, qword [rbp + 0x6b0]
mov r8, qword [r10]
mov r9, qword [r13]
mov rcx, qword [r15]
call qword [sym.imp.USER32.dll_DefWindowProcW]
add rax, 0xfffffffffffffff6
cmp rax, 7
ja 0x1800409b2
mov dword [r14], ebx
jmp 0x180040854
mov edx, dword [rsp + 0x3c]
mov r14d, 0x78
mov r8d, dword [rsp + 0x38]
mov eax, r14d
sub eax, 0x78
je 0x180040a18
sub eax, 1
je 0x180040a0d
cmp eax, 1
jne 0x180040a38
mov r9, qword [rbp - 0x58]
movsxd rax, r8d
cmp r9, rax
jg 0x180040a38
lea eax, [r8 - 0x19]
movsxd rcx, eax
cmp r9, rcx
jl 0x180040a38
mov r9, qword [rbp - 0x50]
movsxd rax, edx
cmp r9, rax
jg 0x180040a38
lea eax, [rdx - 0x19]
movsxd rcx, eax
cmp r9, rcx
jl 0x180040a38
mov rax, qword [rbp + 0x698]
mov dword [rax], ebx
jmp 0x180040a38
movzx eax, word [r13 + 2]
mov qword [rbp - 0x50], rax
jmp 0x180040a38
mov rcx, qword [r15]
lea rdx, [rsp + 0x30]
call qword [sym.imp.USER32.dll_GetWindowRect]
movzx eax, word [r13]
mov edx, dword [rsp + 0x3c]
mov r8d, dword [rsp + 0x38]
mov qword [rbp - 0x58], rax
inc r14d
cmp r14d, 0x7b
jb 0x1800409c1
jmp 0x180040854
movzx eax, word [r14]
mov word [rdx + 8], ax
jmp case.0x18003f884.137
mov qword [rsp + 0x70], rbx
jmp case.0x18003f884.137
mov qword [rbp - 0x78], rbx
jmp case.0x18003f884.137
mov qword [rbp - 0x58], rbx
mov qword [rbp - 0x50], rbx
dec r12d
cmp r12d, dword [rbp - 0x68]
jbe case.0x1800400a1.281
mov r8, qword [rbp + 0x690]
mov r10, qword [rbp + 0x6a0]
mov r14, qword [rbp + 0x698]
jmp 0x18003f85a
mov rax, qword [r8]
mov r9, qword [r10]
mov r8d, dword [r14]
mov rcx, qword [0x1800be6e8]
mov qword [rsp + 0x20], rax
mov rax, qword [rbp + 0x6b0]
mov rdx, qword [rax]
call qword [sym.imp.USER32.dll_CallWindowProcW]
jmp 0x1800402b9