Function at 0x18001b508
Capabilities:
Identify system language via api

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x78]
sub rsp, 0x178
mov rax, qword [0x180053d28]
xor rax, rsp
mov qword [rbp + 0x60], rax
mov eax, dword [0x180053820]
mov esi, 0x4a
mov dword [rbp - 0x28], eax
movabs rax, 0x305d19df7fc4f
mov qword [rbp - 0x70], rax
mov al, byte [0x18005383c]
mov byte [rsp + 0x51], al
mov eax, 0xffffab56
mov dword [rsp + 0x78], 0x4d
mov byte [rsp + 0x50], 0xc5
mov r12d, dword [0x18005381c]
mov word [rsp + 0x58], ax
mov eax, 0x51
mov qword [rbp], rdx
movzx edx, word [0x1800537dc]
mov word [rsp + 0x60], ax
movzx eax, byte [0x18005371f]
mov dword [rbp - 0x80], eax
mov rax, qword [0x1800537e8]
mov word [rsp + 0x5c], ax
mov al, byte [0x180053830]
mov byte [rsp + 0x64], al
movsxd rax, dword [0x180053734]
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x68], 0x5af29054
movsx eax, word [0x180053844]
mov dword [rsp + 0x7c], eax
mov r13, qword [0x180053848]
mov dword [rsp + 0x68], 0xec39
mov eax, dword [0x1800537f4]
movsx rdi, word [0x1800537dc]
mov word [rsp + 0x54], ax
mov qword [rbp - 0x28], 0x7fa3
mov eax, dword [0x180053800]
mov eax, dword [0x18005374c]
mov eax, dword [0x1800536f4]
mov r14b, byte [0x180053850]
movsx eax, dx
not r14b
sar eax, 7
mov byte [rsp + 0x51], al
mov eax, dword [0x180b88880]
mov dword [rsp + 0x74], eax
mov eax, dword [rsp + 0x74]
movups xmm0, xmmword [str.Plugin_initialize]
add eax, 0x16d
mov qword [rbp - 8], rcx
mov dword [rbp - 0x40], eax
lea rcx, [rbp + 0x38]
movzx eax, word [0x18003c9e8]
mov word [rbp + 0x48], ax
mov qword [rbp + 8], r9
mov dword [rbp - 0xc], r8d
mov dword [rsp + 0x70], edx
mov dword [rbp - 0x64], 0x7c
mov qword [rbp - 0x18], rsi
movups xmmword [rbp + 0x38], xmm0
call qword [sym.imp.KERNEL32.dll_lstrlenA]
movsxd rcx, eax
xor ebx, ebx
mov qword [0x180053828], rcx
mov edx, ebx
mov eax, dword [rsp + 0x74]
add eax, 0xee
mov dword [rbp - 0x34], eax
mov ecx, dword [0x180053734]
mov eax, dword [rsp + 0x78]
cmp eax, ecx
mov eax, dword [rsp + 0x78]
mov ecx, ebx
seta dl
mov cl, 1
cmp edx, ecx
ja 0x18001b6e5
lea edx, [rsi - 0x3a]
mov ecx, esi
lea r9d, [rsi + 0x6c]
lea r8d, [rsi + 0x73]
call fcn.180027320
mov dword [0x180053830], eax
test eax, eax
jne 0x18001b6d0
cmp word [0x180053834], bx
je 0x18001b6c3
mov eax, dword [rbp - 0x80]
mov eax, dword [rsp + 0x7c]
mov qword [0x180bf8040], rax
jmp 0x18001b6e5
test r14b, r14b
je 0x18001b6e5
mov eax, dword [0x180053810]
sar eax, 3
mov word [0x1800537f8], ax
mov eax, dword [rsp + 0x74]
xor r8d, r8d
add eax, 0x453
mov dl, 0xa
mov dword [rbp - 0x4c], eax
xor ecx, ecx
movzx eax, word [0x180b88880]
mov word [0x18005378c], ax
movzx eax, word [0x180053818]
sar ax, 8
mov word [rsp + 0x5c], ax
mov eax, dword [0x180b88880]
mov dword [rsp + 0x74], eax
mov r9d, dword [0x180053800]
call fcn.1800275ec
movsx ecx, al
mov word [rsp + 0x58], cx
movzx eax, word [rsp + 0x58]
test ax, ax
jle 0x18001b75c
movzx edx, byte [0x18005371e]
movzx eax, byte [0x18005371e]
sub edx, eax
mov eax, dword [0x18005381c]
sub dl, al
mov byte [0x18005371e], dl
mov eax, dword [rsp + 0x74]
add eax, 0x262
mov dword [rbp - 0x48], eax
mov eax, dword [rsp + 0x74]
add eax, 0x17d
mov dword [rbp - 0x5c], eax
mov eax, dword [0x180b88880]
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x74]
add eax, 0x33f
mov dword [rbp - 0x30], eax
mov eax, dword [0x180b88880]
mov dword [rsp + 0x74], eax
mov eax, dword [rsp + 0x74]
add eax, 0x181
mov dword [rbp - 0x60], eax
mov eax, dword [rsp + 0x74]
add eax, 0x29e
mov dword [rbp - 0x28], eax
mov eax, dword [rsp + 0x74]
add eax, 0xd2
mov dword [rbp - 0x78], eax
mov eax, dword [0x180b88880]
mov dword [rsp + 0x6c], eax
mov rax, qword [0x180053848]
movsx ecx, word [0x180053844]
test rax, rax
jne 0x18001b7d8
mov ecx, dword [rbp - 0x80]
mov word [rsp + 0x58], cx
mov r15d, edi
mov eax, dword [rbp - 0x80]
mov ecx, ebx
shr eax, 3
mov word [rsp + 0x58], ax
mov eax, dword [rsp + 0x6c]
add eax, 0x12e
mov dword [rsp + 0x74], eax
test r12d, r12d
movzx eax, di
cmove cx, di
xor ax, r13w
sub cx, ax
movzx eax, byte [0x18005374b]
sub cx, ax
mov word [rsp + 0x60], cx
movzx eax, word [rsp + 0x54]
movzx ecx, byte [0x18005371f]
xor ecx, eax
mov eax, 0x7c
sub eax, ecx
mov dword [0x18005383c], eax
mov eax, dword [rsp + 0x6c]
add eax, 0x224
mov dword [rbp - 0x38], eax
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
mov word [rsp + 0x58], ax
mov edx, ebx
movzx eax, word [rsp + 0x58]
mov ecx, ebx
cmp ax, 0x2c
mov r8d, 1
movzx eax, word [rsp + 0x58]
setg dl
test ax, ax
setg cl
cmp ecx, edx
jbe 0x18001b90f
test r14b, r14b
je 0x18001b886
mov eax, dword [rbp - 0x68]
mov dword [rsp + 0x78], eax
jmp 0x18001b92d
mov eax, dword [rsp + 0x7c]
test eax, eax
jne 0x18001b89a
cmp word [0x18005379c], bx
mov edx, r8d
jne 0x18001b89c
mov edx, ebx
movsx eax, byte [0x180053733]
mov ecx, ebx
cmp di, ax
setge cl
add ecx, edx
je 0x18001b92d
mov r8d, dword [0x180053734]
movzx eax, byte [0x18005374b]
movsx ecx, word [0x180053850]
add r8w, ax
movzx eax, word [0x180053810]
not ax
movsx edx, ax
imul edx, ecx
mov ecx, ebx
movsx eax, r8w
movsx r8d, dx
imul r8d, eax
mov eax, dword [rbp - 0x80]
test eax, eax
sete cl
sub r8w, cx
movsx ecx, byte [0x180053733]
lea eax, [r8 + rcx]
sub cl, 0x3a
not ax
mov byte [rbp - 0x64], cl
mov word [0x18005379c], ax
jmp 0x18001b92d
mov rax, qword [rbp - 0x58]
imul rcx, rax, 0x4a
mov rax, qword [rbp - 0x58]
add rax, rcx
mov qword [rbp - 0x58], rax
mov qword [0x180053828], 2
mov eax, dword [rsp + 0x6c]
mov ecx, ebx
add eax, 0xfe
mov edx, 0x34
mov dword [rbp - 0x78], eax
mov eax, dword [rbp - 0x68]
cmp r15d, eax
mov eax, ebx
setg cl
cmp di, dx
setg al
cmp ecx, eax
jbe 0x18001b96b
call qword [sym.imp.USER32.dll_GetFocus]
test rax, rax
je 0x18001b9c5
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowDC]
jmp 0x18001b9c5
movzx eax, word [rsp + 0x5c]
mov edx, ebx
cmp eax, dword [0x180053810]
mov ecx, ebx
mov rax, qword [0x180053848]
setl dl
cmp rax, rdi
setbe cl
add ecx, edx
jne 0x18001b99b
movsx eax, r14b
sar eax, 4
mov dword [rsp + 0x78], eax
jmp 0x18001b9c5
movzx eax, word [0x180053840]
test ax, ax
je 0x18001b9b0
sub r12d, dword [0x180053850]
jmp 0x18001b9c5
mov rax, qword [rbp - 0x58]
test rax, rax
je 0x18001b9c5
mov eax, 0x368e
mov word [0x1800537b4], ax
mov eax, dword [0x180b88880]
mov edx, ebx
movsx rcx, word [0x180053808]
mov dword [rsp + 0x6c], eax
mov rax, qword [rbp - 0x70]
cmp rcx, rax
mov eax, dword [rsp + 0x68]
setne dl
cmp eax, edx
jl 0x18001ba07
movups xmm0, xmmword [str.no_such_process]
lea rcx, [rbp + 0x50]
movdqu xmmword [rbp + 0x50], xmm0
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [rsp + 0x51], al
jmp 0x18001ba22
mov rax, qword [0x1800537e8]
not rax
test rax, rax
jg 0x18001ba22
mov eax, 0xffffdc26
mov word [0x18005379c], ax
mov eax, dword [rsp + 0x6c]
mov ecx, 0x341
add eax, 0x152
mov edi, 0x26
mov dword [rbp - 0x78], eax
mov eax, dword [rsp + 0x6c]
add eax, 0x17e
mov dword [rbp - 0x50], eax
mov eax, dword [0x180053734]
add ax, di
mov word [0x180053818], ax
movzx eax, word [0x18005378c]
inc ax
mov word [0x18005378c], ax
mov eax, dword [rsp + 0x6c]
add eax, 0x12f
mov dword [rbp - 0x78], eax
mov eax, dword [0x180b88880]
mov qword [rbp - 0x58], rax
mov eax, dword [rbp - 0x50]
sub ecx, eax
mov eax, dword [rbp - 0x50]
add eax, ecx
mov dword [rbp - 0x44], eax
mov ecx, dword [rsp + 0x68]
mov eax, dword [0x180b88880]
add ecx, 0x28dc
add ecx, r15d
mov dword [rsp + 0x68], ecx
mov dword [rsp + 0x6c], eax
movzx eax, word [rsp + 0x54]
movzx ecx, word [rsp + 0x58]
xor cx, ax
mov eax, ebx
mov word [rsp + 0x58], cx
mov edx, dword [0x1800537f4]
test edx, edx
movsx ecx, byte [rsp + 0x50]
cmove eax, ecx
movsxd rcx, eax
mov eax, dword [0x180053830]
xor rax, r13
sub rcx, rax
not rcx
mov qword [rbp - 0x58], rcx
lea rcx, str.comdlg32
mov eax, dword [rsp + 0x6c]
add eax, 0x8f
mov dword [rbp - 0x20], eax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov word [rsp + 0x5c], ax
mov ecx, ebx
mov eax, dword [rsp + 0x6c]
movsx edx, byte [0x180053733]
add eax, 0x11d
cmp edx, dword [0x180053830]
mov dword [rbp - 0x78], eax
mov eax, ebx
setbe cl
cmp dl, 0x50
setle al
cmp ecx, eax
jb 0x18001bb56
mov r8d, dword [rsp + 0x78]
mov eax, ebx
mov ecx, dword [rbp - 0x80]
test dl, dl
sete al
add ecx, r15d
xor r8d, eax
movsx eax, word [0x180053844]
xor eax, ecx
not r8d
and r8d, dword [0x1800537dc]
add eax, r8d
mov qword [rbp - 0x70], rax
jmp 0x18001bb83
movzx eax, word [rsp + 0x60]
mov ecx, ebx
sub word [0x18005379c], ax
mov eax, dword [0x1800537f4]
test eax, eax
movzx eax, word [0x180053834]
sete cl
add eax, ecx
mov ecx, ebx
sete cl
mov dword [0x180053800], ecx
mov eax, dword [rsp + 0x6c]
add eax, 0xf217
mov dword [rbp - 0x78], eax
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
mov r15d, dword [rbp - 0x64]
mov byte [rsp + 0x51], al
mov al, byte [0x18005371e]
mov eax, dword [0x1800536f4]
mov eax, dword [rbp - 0x20]
xor eax, edi
sub eax, 0x97
mov dword [rbp - 0x78], eax
mov eax, dword [0x180b88880]
mov dword [rbp - 0x7c], eax
mov edi, dword [rbp - 0x68]
movsx eax, word [0x180053808]
add edi, esi
mov esi, dword [rsp + 0x70]
add eax, 0x4b
imul edi, eax
mov eax, dword [rbp - 0x7c]
add eax, 0xce
mov dword [rsp + 0x6c], eax
test r15b, r15b
je 0x18001bbf8
mov al, byte [rsp + 0x50]
mov al, r14b
movsx ecx, si
sub al, cl
mov byte [rsp + 0x50], al
jmp 0x18001bc19
cmp byte [0x18005374b], bl
je 0x18001bc19
movsx rax, word [0x1800537fc]
mov rcx, qword [0x1800537e0]
sub rcx, rax
mov qword [0x1800537e0], rcx
mov eax, dword [rbp - 0x7c]
mov r9d, 0x11
add eax, 0x2d9
xor r8d, r8d
mov dword [rbp - 0x3c], eax
xor edx, edx
mov eax, dword [rbp - 0x7c]
xor ecx, ecx
add eax, 0xfc
mov dword [rbp - 0x64], eax
mov eax, dword [0x180b88880]
mov dword [rbp - 0x7c], eax
mov rax, qword [rbp - 0x70]
add al, 0x5b
mov byte [0x18005371e], al
mov eax, dword [rbp - 0x7c]
add eax, 0xa3
mov dword [rbp - 0x3c], eax
mov eax, dword [0x18005381c]
sar eax, 6
cdqe
mov qword [rbp - 0x70], rax
movsx eax, byte [rsp + 0x50]
mov word [0x180bf1506], ax
mov eax, dword [rbp - 0x7c]
add eax, 0x21e
mov dword [rbp - 0x20], eax
call fcn.180027320
cmp ax, 0xf
mov dword [rbp - 0x50], eax
mov edx, ebx
mov ecx, ebx
sete dl
test ax, ax
sete cl
or r8d, 0xffffffff
cmp ecx, edx
jae 0x18001bcf3
movzx ecx, word [rsp + 0x5c]
mov edx, ebx
cwde
test cx, cx
sete dl
add edx, eax
mov rax, qword [rbp - 0x58]
not rax
movsxd rcx, edx
mov rdx, qword [0x180053848]
or rdx, rax
sub rdx, rcx
movsx ecx, word [0x180053818]
mov eax, dword [rsp + 0x68]
not ecx
add eax, ecx
xor eax, edx
mov dword [0x180053800], eax
movsxd rcx, dword [rsp + 0x68]
mov rax, qword [rbp - 0x70]
sub rax, rcx
mov qword [rbp - 0x70], rax
jmp 0x18001bd19
cmp word [0x18005379c], bx
je 0x18001bd19
movzx eax, word [rsp + 0x54]
mov ecx, ebx
add word [0x1800537b4], r8w
cmp word [rsp + 0x60], 0xb7e
cmove ecx, eax
mov dword [rsp + 0x7c], ecx
mov ecx, dword [rbp - 0x7c]
mov edx, ebx
mov eax, dword [rbp - 0x44]
mov r9d, 0x51
add ecx, eax
movsx rsi, si
mov dword [rbp - 0x44], ecx
mov rax, qword [rbp - 0x70]
and rax, rsi
mov dword [rbp - 0x10], ebx
mov qword [rbp - 0x70], rax
movzx ecx, word [rsp + 0x54]
mov eax, dword [rsp + 0x7c]
cmp ecx, eax
movzx eax, word [rsp + 0x54]
mov ecx, ebx
setbe dl
cmp ax, r9w
setbe cl
cmp edx, ecx
jb 0x18001bdad
movzx ecx, word [0x1800537f8]
mov eax, dword [rsp + 0x68]
cmp ecx, eax
jg 0x18001bd8d
movzx ecx, word [0x180053818]
movzx eax, word [rsp + 0x54]
sub cx, ax
mov eax, 0x1caf
sub cx, ax
mov word [0x180053818], cx
jmp 0x18001bdd8
mov ecx, dword [0x180053800]
mov eax, dword [0x180053734]
add ecx, eax
mov al, byte [0x180b88880]
mov byte [rsp + 0x64], al
mov dword [0x180053800], ecx
jmp 0x18001bdd8
movzx eax, word [rsp + 0x54]
test ax, ax
jne 0x18001bdd8
cmp word [0x180053804], bx
je 0x18001bdd8
movzx eax, word [0x1800537e8]
mov word [0x180053834], ax
mov dword [0x18005383c], 0x58
movsx ecx, byte [rsp + 0x50]
mov byte [0x18005374b], 5
add ecx, 0x154bbe05
movzx eax, byte [0x18005374b]
cmp eax, ecx
jne 0x18001bea6
lea eax, [r12 + 0xaa76]
cmp dword [0x18005380c], eax
jne 0x18001bea6
movsxd rcx, dword [0x18005383c]
mov r9, r13
mov rdx, qword [0x180053820]
xor r8d, r8d
mov qword [rsp + 0x20], rbx
call fcn.180027200
mov word [rsp + 0x5c], ax
mov ecx, ebx
movzx eax, word [rsp + 0x5c]
movzx eax, word [rsp + 0x5c]
cmp ax, 0x40
setb cl
test ecx, ecx
je 0x18001be79
movzx ecx, byte [0x18005371e]
mov edx, ebx
mov eax, dword [rsp + 0x78]
cmp eax, ecx
mov eax, dword [rsp + 0x78]
mov ecx, ebx
setbe dl
cmp eax, 0x21
setbe cl
cmp edx, ecx
je 0x18001bea2
movzx eax, word [0x180c1595e]
or word [0x180053808], ax
jmp 0x18001bea2
movzx eax, word [rsp + 0x60]
movzx eax, word [rsp + 0x54]
test ax, ax
je 0x18001bea2
mov eax, dword [0x180053800]
movsx ecx, r14b
sub ecx, eax
mov eax, dword [0x180053800]
add eax, ecx
mov dword [0x180053800], eax
or r8d, 0xffffffff
mov byte [0x18005374b], 5
lea eax, [r15 + 0x12]
mov byte [0x18005371e], 0x62
mov byte [rsp + 0x50], al
mov ecx, dword [rbp - 0x64]
mov eax, dword [rsp + 0x6c]
imul ecx, eax
mov eax, dword [rsp + 0x6c]
sub ecx, eax
mov eax, dword [rsp + 0x6c]
add ecx, eax
mov eax, dword [rsp + 0x6c]
cmp ecx, eax
je 0x18001ca39
mov eax, dword [0x180b88880]
mov r14d, r8d
mov dword [rbp - 0x7c], eax
mov r9d, 0x33
mov rax, qword [rbp - 0x58]
xor r8d, r8d
mov ecx, dword [0x180053734]
sub r14b, al
mov al, r14b
shl al, 2
add r14b, al
movzx eax, byte [0x18005371f]
xor ecx, eax
shl r14b, 3
mov eax, dword [0x180053734]
sub eax, ecx
xor ecx, ecx
mov dword [0x180053734], eax
mov eax, dword [rbp - 0x7c]
add eax, 0xea
mov dword [rsp + 0x6c], eax
mov edx, dword [rbp - 0x68]
call fcn.180027320
mov dword [rbp - 0x80], eax
test r13, r13
js 0x18001bf76
movzx r8d, word [rsp + 0x54]
mov r9d, 0x37
movsx rdx, word [0x180053818]
mov rcx, rsi
mov qword [rsp + 0x20], 0xd0
call fcn.180027200
mov word [rsp + 0x54], ax
movzx eax, word [rsp + 0x54]
movzx eax, word [rsp + 0x54]
mov eax, dword [rbp - 0x7c]
add eax, 0x15c
mov dword [rbp - 0x44], eax
mov eax, dword [0x180053830]
mov dword [rsp + 0x78], eax
mov eax, dword [rbp - 0x7c]
add eax, 0x150
mov dword [rbp - 0x7c], eax
mov eax, dword [rsp + 0x7c]
cmp eax, edi
jne 0x18001bfae
imul eax, dword [0x180053814], 0x644c570d
mov dword [0x18005380c], eax
mov eax, dword [rbp - 0x4c]
mov eax, dword [rbp - 0x4c]
mov eax, dword [rbp - 0x4c]
mov eax, dword [rbp - 0x34]
mov eax, dword [rbp - 0x40]
mov ecx, dword [rbp - 0x44]
mov eax, dword [rsp + 0x6c]
imul ecx, eax
mov eax, 0x14045
mov dword [0x180053850], 0xc5186d5b
sub eax, ecx
mov dword [rbp - 0x34], eax
mov rax, qword [rbp - 0x58]
mov dword [0x18005383c], eax
mov eax, dword [0x180b88880]
mov dword [rbp - 0x4c], eax
mov rax, qword [0x1800537e8]
test rax, rax
je 0x18001c00c
mov eax, dword [0x180053800]
test eax, eax
jne 0x18001c00c
mov ecx, ebx
lea r15d, [rax + 1]
jmp 0x18001c015
mov r15d, 1
mov ecx, r15d
movzx eax, word [0x180053818]
test ax, ax
je 0x18001c029
mov eax, r15d
test r13, r13
je 0x18001c02b
mov eax, ebx
cmp ecx, eax
jb 0x18001c039
movzx eax, word [rsp + 0x58]
movzx eax, word [rsp + 0x5c]
mov eax, dword [rbp - 0x4c]
xor r8d, r8d
mov esi, dword [rsp + 0x70]
add eax, 0xd4
mov dword [rbp - 0x40], eax
xor edx, edx
mov eax, dword [rbp - 0x4c]
add eax, 0xf1
mov qword [rsp + 0x20], rbx
mov dword [rbp - 0x44], eax
mov eax, 0xeb56
mov word [rsp + 0x54], ax
movzx eax, byte [0x18005371f]
add ax, si
mov word [0x1800537f8], ax
mov eax, dword [rbp - 0x4c]
add eax, 0x141
mov dword [rbp - 0x44], eax
movsx r9, word [rsp + 0x60]
movzx ecx, byte [0x18005371f]
call fcn.180027200
cmp al, 0x5e
mov r8b, al
mov ecx, ebx
mov dword [rbp - 0x64], r8d
setne cl
mov eax, ebx
test r8b, r8b
setne al
cmp eax, ecx
jbe 0x18001c119
movsx eax, r14b
cmp eax, dword [0x1800537f0]
je 0x18001c0ef
movzx edx, word [rsp + 0x5c]
mov r13, r15
movsx ecx, word [rsp + 0x58]
add ecx, edx
movsxd rdx, ecx
movsxd rcx, dword [0x180053800]
mov rax, qword [0x1800537e8]
imul rax, rcx
add rax, rdx
mov eax, ebx
sete al
mov dword [0x180053800], eax
jmp 0x18001c122
test r14b, r14b
je 0x18001c103
movsx rax, byte [rsp + 0x50]
mov qword [0x180053820], rax
jmp 0x18001c122
mov rax, qword [0x180053858]
movsx ecx, ax
movsx esi, si
imul esi, ecx
mov dword [rsp + 0x70], esi
jmp 0x18001c122
test r12d, r12d
je 0x18001c122
mov rax, qword [rbp - 0x70]
mov rcx, qword [rbp - 0x70]
mov r9d, 0xb8f8
movzx eax, word [0x180053834]
add rcx, r9
mov dword [0x180053814], r9d
cmp rax, rcx
jne 0x18001c2a2
mov r8d, edi
not r8d
movsx ecx, word [0x1800537b4]
mov edx, ebx
movzx eax, byte [0x18005374b]
not ecx
add ecx, eax
mov rax, qword [rbp - 0x58]
movsxd rcx, ecx
cmp rcx, rax
sete dl
cmp r8d, edx
jb 0x18001c1b6
mov rax, qword [0x1800537e0]
test rax, rax
je 0x18001c21f
movsx eax, si
add eax, 0xca58
movsx ecx, r14b
sub ecx, dword [0x1800537f0]
cdqe
sub ecx, edi
mov qword [0x180053858], rax
mov edx, dword [0x18005374c]
movsx eax, word [rsp + 0x60]
not edx
add edx, ecx
add eax, edx
mov qword [rbp - 0x58], rax
jmp 0x18001c21f
movsx eax, r14b
cmp eax, edi
jne 0x18001c1ce
movzx eax, word [0x180053818]
mov word [0x180bf14c8], ax
jmp 0x18001c21f
test r13, r13
jne 0x18001c1dd
add word [0x1800537f8], r15w
jmp 0x18001c21f
mov rax, qword [0x180053858]
not rax
test rax, rax
je 0x18001c21f
movzx eax, word [rsp + 0x54]
movzx eax, word [0x180053818]
test ax, ax
mov eax, dword [0x18005381c]
movsx edx, al
movsx eax, byte [0x180053808]
sete cl
xor cl, sil
movsx ecx, cl
imul edx, ecx
movsx r14d, dl
imul r14d, eax
movsx ecx, byte [rsp + 0x50]
add ecx, 0xaf06
cmp dword [0x1800537dc], ecx
jne 0x18001c29e
mov ecx, dword [rbp - 0x68]
mov edx, ebx
mov eax, dword [rbp - 0x80]
cmp eax, ecx
mov eax, dword [rbp - 0x80]
mov ecx, ebx
setbe dl
cmp eax, 0xa
setbe cl
cmp edx, ecx
jne 0x18001c280
mov eax, dword [0x180053734]
test eax, eax
jne 0x18001c25f
mov rax, qword [0x180053848]
movzx eax, word [rsp + 0x54]
mov dword [0x1800536f4], ebx
movsxd rax, dword [rsp + 0x68]
movsx ecx, word [rsp + 0x58]
add ecx, 0x1cfb961d
add eax, ecx
mov dword [rsp + 0x68], eax
mov rcx, qword [rbp - 0x70]
movzx eax, word [0x180053834]
add rcx, r9
mov dword [0x180053814], r9d
cmp rax, rcx
je 0x18001c14c
mov r8d, dword [rbp - 0x64]
mov eax, dword [rsp + 0x7c]
cmp eax, edi
jne 0x18001c2c8
cmp byte [0x180053733], bl
movzx ecx, word [0x180053808]
movzx eax, r8b
cmovne cx, ax
mov word [0x1800537fc], cx
jmp 0x18001c2da
cmp qword [0x180053820], rbx
je 0x18001c2da
mov eax, edi
shr eax, 4
mov dword [rsp + 0x78], eax
mov ecx, dword [rbp - 0x5c]
mov eax, dword [rbp - 0x5c]
xor ecx, eax
mov edx, dword [rbp - 0x30]
mov eax, dword [rbp - 0x48]
add edx, eax
imul edx, ecx
mov ecx, dword [rbp - 0x5c]
mov eax, dword [rbp - 0x48]
xor ecx, eax
imul ecx, edx
mov edx, dword [rbp - 0x48]
mov eax, dword [rbp - 0x48]
sub edx, eax
mov eax, dword [rbp - 0x40]
add eax, 0x1e5e
imul edx, ecx
xor eax, 0x1d86
add eax, edx
mov dword [rbp - 0x44], eax
call qword [sym.imp.USER32.dll_GetFocus]
test rax, rax
je 0x18001c32f
mov rcx, rax
call qword [sym.imp.USER32.dll_GetMenu]
call qword [sym.imp.USER32.dll_EndMenu]
cmp word [0x180053834], bx
je 0x18001c3d4
movsx eax, r14b
mov r8d, ebx
cmp word [0x1800537b4], ax
mov edx, ebx
mov eax, dword [rsp + 0x7c]
mov ecx, ebx
setne r8b
cmp eax, 0xe943
movsx eax, word [0x18005379c]
setb dl
cmp eax, edx
setne cl
cmp ecx, r8d
jb 0x18001c39a
mov rax, qword [rbp - 0x58]
movzx r9d, byte [rsp + 0x64]
mov qword [0x180ba56d8], rax
mov rax, qword [rbp - 0x58]
movzx edx, word [0x1800537f8]
test rax, rax
cmovne edx, r9d
mov dword [0x180053838], edx
jmp 0x18001c3fe
mov eax, dword [0x18005374c]
mov rcx, rbx
cmp dword [0x18005383c], eax
mov rax, r13
mov r9b, byte [rsp + 0x64]
not rax
sete cl
or rax, 0x4a
cmp rcx, rax
jl 0x18001c3fe
movsx eax, word [rsp + 0x60]
imul edi, eax
mov dword [0x18005383c], 0xe2263d5e
jmp 0x18001c3fe
mov eax, dword [rsp + 0x68]
mov r9b, byte [rsp + 0x64]
test eax, eax
jne 0x18001c3ef
mov eax, 8
mov word [0x180053808], ax
jmp 0x18001c3fe
mov eax, dword [0x18005381c]
mov eax, dword [rbp - 0x80]
mov eax, r12d
sub r13, rax
mov eax, dword [0x180b88880]
test r12d, r12d
mov dword [rbp - 0x5c], eax
mov r8d, 0x1d0
mov eax, 0x4a
cmovne eax, dword [0x18005380c]
mov dword [rbp - 0x68], eax
mov eax, dword [rbp - 0x5c]
add eax, 0xff5f
mov dword [rbp - 0x40], eax
mov eax, dword [0x180053800]
movsx ecx, word [rsp + 0x60]
add eax, 0xa03c55c1
add eax, ecx
mov dword [0x180053800], eax
mov eax, dword [rsp + 0x68]
add eax, r15d
mov dword [rsp + 0x68], eax
sub r8, r15
jne 0x18001c42a
mov eax, dword [rbp - 0x5c]
add eax, 0xa3f7
movsx r12d, si
mov dword [rbp - 0x4c], eax
movsx ecx, word [rsp + 0x60]
mov eax, dword [0x18005381c]
sub ax, cx
movzx r15d, r9b
mov word [0x180053818], ax
mov eax, dword [rbp - 0x5c]
add eax, 0xb6
imul r12d, r15d
movsx esi, r14b
cmp esi, dword [0x18005380c]
mov dword [rbp - 0x30], eax
jb 0x18001c4a8
movabs rax, 0x925aa4a0dc86f
mov qword [0x180053848], rax
jmp 0x18001c4e6
test r13, r13
je 0x18001c4c2
mov rax, qword [0x1800537e8]
mov ecx, 0x5410
add ax, cx
mov word [rbp - 0x50], ax
jmp 0x18001c4e6
movzx eax, word [rsp + 0x60]
mov ecx, ebx
test ax, ax
movsx eax, word [0x180053804]
sete cl
cmp ecx, eax
jle 0x18001c4e6
mov eax, dword [0x180053850]
mov dword [0x18005374c], eax
mov ecx, 0x72
call fcn.18002773c
mov dword [0x180053814], eax
test eax, eax
jns 0x18001c52c
movzx ecx, byte [rsp + 0x51]
call fcn.18002773c
mov dword [0x18005380c], eax
mov eax, dword [rbp - 0x68]
test eax, eax
je 0x18001c52c
movzx eax, word [rsp + 0x54]
mov ecx, dword [0x18005374c]
sub ecx, eax
mov eax, dword [0x18005374c]
add eax, ecx
mov dword [0x18005374c], eax
mov ecx, dword [rbp - 0x30]
mov eax, dword [rbp - 0x40]
or ecx, eax
mov edx, dword [rbp - 0x4c]
add ecx, 0xfffdbbea
mov eax, dword [rbp - 0x4c]
add edx, ecx
add eax, edx
mov dword [rbp - 0x40], eax
cmp qword [rbp - 8], rbx
jne 0x18001ca35
movzx ecx, byte [rsp + 0x51]
mov r9d, 0xe98d
mov word [0x1800537f8], r9w
inc ecx
movzx eax, word [0x1800537f8]
cmp eax, ecx
jne 0x18001c5d8
movzx eax, byte [0x18005371e]
mov edx, ebx
cmp dword [0x18005383c], eax
mov ecx, ebx
movzx eax, word [rsp + 0x54]
mov eax, dword [0x180053830]
setle dl
not edx
sub ecx, eax
cmp ecx, edx
ja 0x18001c5b5
mov eax, dword [0x1800536f4]
test r13, r13
sete r8b
add r8b, byte [0x18005379c]
sub r8b, al
mov dword [rbp - 0x64], r8d
jmp 0x18001c5dc
test eax, eax
je 0x18001c5c0
movzx eax, word [0x180053840]
mov eax, dword [0x18005374c]
xor word [0x1800537b4], ax
mov al, byte [0x180053834]
add al, 0x4a
mov byte [rbp - 0x18], al
mov r8d, dword [rbp - 0x64]
mov rax, qword [rbp - 0x58]
mov edx, ebx
mov word [0x1800537f8], r9w
mov r9d, dword [rsp + 0x70]
movsx rcx, r14b
and ecx, 0x51d7
add rcx, rax
mov qword [rbp - 0x58], rcx
movsxd rcx, dword [0x1800536f4]
mov rax, qword [0x1800537e0]
add eax, ecx
movsx ecx, r9w
mov dword [0x1800536f4], eax
movzx eax, byte [rsp + 0x51]
cmp eax, ecx
mov al, byte [rsp + 0x51]
mov ecx, ebx
setg dl
cmp al, 0x25
seta cl
cmp edx, ecx
jae 0x18001c693
mov edx, dword [0x1800537f4]
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
call fcn.180027320
mov word [0x18005379c], ax
test ax, ax
jle 0x18001c6ea
mov eax, dword [0x1800536f4]
test eax, eax
je 0x18001c67c
lea eax, [rsi - 0x8a55]
movsxd r13, eax
mov eax, dword [0x180053814]
xor eax, 0xdd
mov dword [0x180053800], eax
jmp 0x18001c6ea
mov ecx, dword [0x180053838]
imul eax, r12d, 0x1f90ee7
sub ecx, eax
mov dword [0x180053838], ecx
jmp 0x18001c6ea
mov eax, dword [0x18005381c]
movzx ecx, r8b
sub ecx, eax
cmp dword [0x180053830], ecx
jne 0x18001c6c9
mov ecx, dword [rsp + 0x68]
mov eax, dword [rbp - 0x68]
xor eax, ecx
not eax
cdqe
mov qword [rbp - 0x58], rax
movsx ecx, byte [rsp + 0x50]
mov al, byte [rsp + 0x51]
xor al, cl
mov byte [rsp + 0x51], al
jmp 0x18001c6ea
mov eax, dword [0x180053734]
test eax, eax
je 0x18001c6ea
movzx eax, word [0x1800537f8]
shr rax, 5
mov qword [rbp - 0x70], 0x85
mov qword [rbp - 0x70], rax
mov eax, dword [0x180b88880]
mov dword [rbp - 0x5c], eax
mov ecx, dword [rbp - 0x5c]
mov byte [0x180053733], al
mov eax, dword [rbp - 0x34]
add ecx, eax
mov dword [rbp - 0x30], ecx
xor ecx, ecx
call fcn.180027480
movzx eax, ax
mov dword [0x180053734], eax
mov eax, dword [0x180053734]
test eax, eax
jle 0x18001c72c
movsx rcx, byte [rbp - 0x18]
call qword [sym.imp.USER32.dll_GetLastActivePopup]
mov dword [rbp - 0x68], eax
mov ecx, dword [rbp - 0x5c]
mov r8d, 0x5c
mov eax, dword [rbp - 0x44]
add ecx, eax
mov dword [rbp - 0x48], ecx
mov eax, dword [rbp - 0x5c]
add eax, 0x274
mov dword [rbp - 0x34], eax
mov word [0x18005378c], r8w
mov rdx, qword [rbp - 0x70]
movsx rax, word [0x18005378c]
add rdx, r8
cmp rax, rdx
jne 0x18001c7e0
movsx ecx, byte [rsp + 0x50]
movzx eax, byte [0x18005371f]
add ecx, 0x85
cmp eax, ecx
jne 0x18001c7e0
mov eax, dword [rbp - 0x80]
cmp esi, eax
jbe 0x18001c7e0
mov rax, qword [rbp - 0x70]
mov edx, ebx
mov ecx, r12d
cmp rcx, rax
mov eax, ebx
setne dl
cmp r12d, 0x34
setne al
cmp edx, eax
jbe 0x18001c7ad
movzx eax, word [0x180053808]
mov word [0x18005378c], ax
jmp 0x18001c7e0
mov rax, qword [0x180053848]
test rax, rax
je 0x18001c7e0
movsx eax, byte [rsp + 0x50]
movsx ecx, byte [rsp + 0x50]
dec byte [rbp - 0x18]
add ecx, eax
movsxd rdx, ecx
mov rcx, qword [0x180053858]
add ecx, 0xccf55c66
add ecx, edx
mov dword [0x180053734], ecx
mov eax, dword [0x1800537f0]
movabs rcx, 0x526661d4b3cc4
sub rax, rcx
mov word [0x18005378c], r8w
mov qword [rbp - 0x58], rax
mov ecx, dword [rbp - 0x48]
mov eax, dword [rbp - 0x48]
imul ecx, eax
mov eax, dword [rbp - 0x48]
mov edx, dword [rbp - 0x48]
add ecx, eax
add edx, ecx
mov ecx, dword [rbp - 0x30]
mov eax, dword [rbp - 0x40]
or ecx, eax
mov eax, dword [rbp - 0x34]
imul eax, ecx
cmp eax, edx
je 0x18001ca35
cmp dword [0x180053810], ebx
je 0x18001c8a2
movzx eax, word [rsp + 0x5c]
test ax, ax
je 0x18001c855
movsx ecx, word [0x18005378c]
imul ecx, dword [0x1800537f0]
mov dword [rbp - 0x68], ecx
mov esi, 1
jmp 0x18001c93d
mov eax, dword [rsp + 0x7c]
test eax, eax
je 0x18001c871
movzx eax, word [rsp + 0x5c]
movsx eax, word [rbp - 0x50]
sub eax, 0x34
mov dword [0x1800537f4], eax
jmp 0x18001c84b
mov eax, dword [0x180053838]
mov ecx, ebx
mov edx, dword [rsp + 0x70]
test eax, eax
mov esi, 1
sete cl
cmp edi, ecx
jb 0x18001c941
movzx eax, byte [0x18005374b]
mov word [0x1800537fc], ax
jmp 0x18001c941
cmp dword [0x1800537dc], ebx
jne 0x18001c8bc
cmp word [0x180053808], bx
jne 0x18001c8bc
mov edx, ebx
mov esi, 1
jmp 0x18001c8c3
mov esi, 1
mov edx, esi
mov rax, qword [rbp - 0x58]
mov ecx, ebx
test rax, rax
mov eax, ebx
sete cl
cmp ecx, r15d
seta al
cmp edx, eax
je 0x18001c8f3
mov eax, dword [0x180053734]
mov edx, dword [rsp + 0x70]
movsx ecx, dx
imul eax, ecx
mov dword [0x180053734], eax
jmp 0x18001c941
mov ecx, dword [0x1800536f4]
mov eax, dword [rsp + 0x68]
cmp ecx, eax
jg 0x18001c912
mov eax, dword [0x180053734]
add eax, 0x406c633
mov dword [rsp + 0x68], eax
jmp 0x18001c93d
test r13, r13
je 0x18001c93d
mov rax, qword [0x180053828]
lea ecx, [rdi + 0xe8d6]
add rcx, rax
mov qword [0x180053828], rcx
movsxd rcx, dword [rbp - 0x68]
mov rax, qword [rbp - 0x70]
add rax, rcx
mov qword [rbp - 0x70], rax
mov edx, dword [rsp + 0x70]
mov eax, dword [rsp + 0x78]
mov edi, 0xb
mov dword [0x1800537dc], edi
add eax, dword [0x1800537dc]
cmp dword [0x18005380c], eax
jne 0x18001ca2e
lea esi, [rdi + 0x46]
movzx eax, word [rsp + 0x54]
mov ecx, 0x6a73
add ax, cx
mov word [0x180053804], ax
lea eax, [rsi + rdx]
add byte [0x18005371f], al
mov eax, dword [rsp + 0x78]
add eax, 0xdd
cmp dword [0x180053830], eax
jne 0x18001ca29
movzx ecx, word [rsp + 0x5c]
mov edx, ebx
mov eax, dword [0x1800536f4]
cmp ecx, eax
movsx eax, word [rsp + 0x60]
setg dl
add edx, 0xfffffffe
cmp eax, edx
je 0x18001ca09
mov r8, qword [0x180053848]
xor r9d, r9d
mov dl, r12b
xor ecx, ecx
call fcn.1800275ec
movsx ecx, al
mov dword [0x180053830], ecx
test al, al
jne 0x18001ca09
movsxd rax, dword [0x18005374c]
cmp r13, rax
jle 0x18001c9f3
movzx eax, word [rsp + 0x54]
add rax, 0x74300ee7
mov qword [rbp - 0x58], rax
jmp 0x18001ca09
mov rax, qword [0x180053828]
test rax, rax
je 0x18001ca09
mov ecx, 0x3114
mov word [rsp + 0x58], cx
mov ecx, dword [rsp + 0x78]
mov edx, dword [rsp + 0x70]
mov dword [0x1800537dc], edi
add ecx, dword [0x1800537dc]
cmp dword [0x18005380c], ecx
je 0x18001c965
mov esi, 1
mov eax, esi
jmp 0x18001d14a
mov r15d, dword [rbp - 0x64]
mov r9d, dword [rbp - 0xc]
lea rax, [rbp - 0x10]
mov r8, qword [rbp]
lea rcx, [0x18002fc8a]
mov rdx, qword [rbp - 8]
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rax
call fcn.1800181fc
mov r8d, dword [rbp - 0x20]
mov rsi, rax
mov edx, dword [rbp - 0x20]
sub r8d, edx
mov edx, dword [rbp - 0x3c]
add r8d, edx
mov edx, dword [rbp - 0x78]
add edx, r8d
cmp edx, 0x1e7
je 0x18001cf93
movzx edx, word [rsp + 0x5c]
test dx, dx
je 0x18001caaa
lea rcx, str.comdlg32
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
movsx eax, word [rbp - 0x50]
mov dword [0x180053830], eax
mov eax, dword [0x180b88880]
mov dword [rbp - 0x50], eax
mov rax, qword [rbp - 0x18]
sub al, byte [0x18005374b]
mov qword [rbp - 0x18], rax
mov eax, dword [rbp - 0x50]
add eax, 0x83ea
mov dword [rbp - 0x78], eax
movzx ecx, byte [0x18005371e]
mov rax, qword [0x180053858]
cmp rax, rcx
je 0x18001cb42
xor edx, edx
mov ecx, 0x90
lea r9d, [rdx + 0x57]
lea r8d, [rcx + 0x42]
call fcn.180027320
mov word [rsp + 0x58], ax
mov ecx, 0x11
movzx eax, word [rsp + 0x58]
mov edx, ebx
cmp ax, cx
movzx eax, word [rsp + 0x58]
mov ecx, ebx
setge dl
test ax, ax
setns cl
cmp ecx, edx
ja 0x18001cbb6
movsx rcx, byte [rsp + 0x50]
mov rax, qword [rbp - 0x70]
sub rcx, rax
mov al, byte [rsp + 0x50]
and al, cl
mov byte [rsp + 0x50], al
jmp 0x18001cbb6
movsx eax, word [0x1800537b4]
not eax
test eax, eax
je 0x18001cb5b
mov dword [0x1800537f0], 0x3c
jmp 0x18001cbb6
movzx eax, byte [rsp + 0x51]
mov edx, ebx
not eax
movsxd rcx, eax
movzx eax, word [0x1800537f8]
cmp rcx, r13
setne dl
add edx, 0xfffffffe
add eax, edx
jne 0x18001cb8b
movzx eax, word [0x180b88880]
mov word [0x1800537b4], ax
jmp 0x18001cbb6
mov eax, dword [0x180053734]
test eax, eax
je 0x18001cbb6
mov eax, dword [0x18005383c]
xor eax, 0x73
add dword [0x180053830], eax
mov eax, dword [0x18005381c]
sub eax, dword [0x180053850]
mov dword [0x18005381c], eax
mov eax, dword [rbp - 0x50]
add eax, 0xb1
mov dword [rbp - 0x3c], eax
mov r12, qword [0x180053848]
mov eax, dword [rbp - 0x50]
add r12d, 0x79e43ebf
add eax, 0x113
mov dword [rbp - 0x78], eax
mov eax, dword [0x180053838]
mov rdx, qword [0x1800537e0]
movzx ecx, byte [0x18005371e]
imul rdx, rax
mov rax, qword [rbp - 0x70]
xor rax, rcx
mov ecx, 0x31b
add rax, rdx
mov edx, 1
mov qword [0x1800537e0], rax
movzx eax, word [rsp + 0x60]
add ax, dx
mov word [rsp + 0x60], ax
sub rcx, rdx
jne 0x18001cc0d
mov edx, dword [rbp - 0x28]
mov eax, dword [rbp - 0x60]
add edx, eax
mov r8d, dword [rbp - 0x60]
mov eax, dword [rbp - 0x60]
xor r8d, eax
mov ecx, dword [rbp - 0x78]
mov eax, dword [rbp - 0x3c]
add ecx, eax
mov eax, dword [0x180b88880]
xor ecx, 0x3af
imul r8d, edx
add ecx, r8d
mov dword [rbp - 0x78], ecx
mov dword [rbp - 0x60], eax
mov ecx, dword [rsp + 0x68]
movsx eax, word [0x1800537b4]
mov edi, dword [0x180053820]
add ecx, eax
mov dword [rsp + 0x68], ecx
xor edi, 0xf3
mov eax, dword [rbp - 0x60]
lea rcx, [rbp + 0x20]
add eax, 0x3db0
mov dword [rbp - 0x28], eax
mov eax, dword [rbp - 0x60]
add eax, 0xe2fb
mov dword [rbp - 0x28], eax
mov eax, dword [rbp - 0x60]
movups xmm0, xmmword [str.Navigation_to_non_]
add eax, 0x843e
mov dword [rbp - 0x28], eax
movzx eax, word [0x18003ca10]
mov word [rbp + 0x30], ax
mov al, byte [0x18003ca12]
mov byte [rbp + 0x32], al
movups xmmword [rbp + 0x20], xmm0
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [rbp - 0x38]
mov r8d, 0x31d
mov word [0x1800537fc], ax
movzx eax, r15b
sub dword [0x180053814], eax
mov eax, dword [rsp + 0x74]
xor ecx, eax
mov eax, dword [rbp - 0x38]
mov edx, dword [rsp + 0x74]
xor eax, r8d
add ecx, eax
mov eax, dword [rsp + 0x74]
sub edx, eax
mov eax, dword [rsp + 0x74]
imul edx, ecx
add eax, r8d
mov ecx, 0xef4a
imul eax, edx
sub ecx, eax
mov eax, dword [rbp - 0x28]
or eax, 0xe913
sub ecx, eax
mov dword [rbp - 0x3c], ecx
test rsi, rsi
jne 0x18001cf93
mov eax, dword [rsp + 0x78]
test eax, eax
mov eax, dword [rbp - 0x80]
jne 0x18001cd27
movsx eax, word [0x180053840]
mov dword [0x18005380c], eax
mov r8d, 0xb8f8
jmp 0x18001cda2
mov rax, qword [rbp - 0x70]
mov ecx, 0xffffff83
sub cl, al
mov eax, dword [rsp + 0x78]
add eax, 0x296a
add r14b, cl
cmp dword [0x18005380c], eax
jne 0x18001cdc0
movsxd rax, dword [0x18005381c]
mov edx, ebx
cmp rax, r13
mov ecx, ebx
mov eax, dword [0x18005381c]
sete dl
cmp eax, 0x11
sete cl
cmp edx, ecx
jae 0x18001cd80
mov r15b, byte [rsp + 0x50]
sar r15b, 3
jmp 0x18001cda2
mov rax, qword [rbp - 0x58]
test rax, rax
jne 0x18001cda2
mov eax, dword [0x180053810]
mov ecx, dword [0x180053734]
add eax, 0xe56b6303
add ecx, eax
mov dword [0x180053810], ecx
movzx edx, byte [rsp + 0x51]
movzx eax, word [0x180053834]
add edx, r8d
mov dword [0x18005383c], r8d
cmp eax, edx
je 0x18001cd35
movsx ecx, word [0x180053840]
mov eax, dword [rsp + 0x7c]
cmp ecx, eax
jne 0x18001ce0f
mov ecx, dword [rsp + 0x7c]
mov edx, ebx
movsx eax, r14b
or ecx, eax
mov eax, dword [rsp + 0x70]
cmp word [0x180053808], bx
cwde
sete dl
add edx, eax
movsx eax, byte [0x180053733]
imul eax, ecx
not edx
add eax, edx
not eax
mov qword [rbp - 0x70], rax
mov rax, qword [rbp - 0x70]
add eax, 0x98c7
mov dword [rsp + 0x7c], eax
jmp 0x18001ce54
movsx rax, word [0x180053818]
mov rdx, qword [0x180053848]
not edx
or edx, eax
mov eax, dword [rsp + 0x7c]
mov ecx, dword [0x18005380c]
or eax, r12d
not ecx
add ecx, eax
mov eax, dword [0x18005383c]
imul ecx, edx
mov dword [0x18005380c], ecx
lea ecx, [rax + rax]
movsx eax, word [0x180053808]
sub ecx, eax
mov dword [0x18005383c], ecx
mov eax, dword [0x180b88880]
mov edx, ebx
mov dword [rbp - 0x60], eax
movsx eax, word [0x1800537b4]
cmp dword [0x1800537f0], eax
mov eax, ebx
setae dl
cmp dword [0x1800537f0], 0x2f
setae al
cmp edx, eax
jne 0x18001ce95
mov eax, 0x5e3a
mov word [0x180053818], ax
mov eax, 4
mov word [rsp + 0x54], ax
mov ecx, dword [rbp - 0x60]
mov eax, dword [rbp - 0x78]
add ecx, eax
mov dword [rbp - 0x28], ecx
call qword [sym.imp.USER32.dll_GetFocus]
mov byte [rsp + 0x50], al
mov eax, dword [rbp - 0x60]
add eax, 0x45a
mov dword [rbp - 0x28], eax
call qword [sym.imp.USER32.dll_GetFocus]
test rax, rax
je 0x18001ced2
mov rcx, rax
call qword [sym.imp.USER32.dll_GetMenu]
mov rcx, rax
call qword [sym.imp.USER32.dll_DestroyMenu]
movzx eax, word [rsp + 0x5c]
test ax, ax
je 0x18001cee6
mov dword [rsp + 0x7c], 0x5ba63e0e
jmp 0x18001cefa
or eax, 0xffffffff
add word [0x180053808], ax
mov eax, dword [0x180b88880]
mov qword [rbp - 0x70], rax
mov eax, dword [rbp - 0x60]
mov edx, 0xffffff66
add eax, 0x34a
mov dword [rbp - 0x38], eax
mov ecx, dword [rbp - 0x38]
mov eax, dword [rbp - 0x38]
imul ecx, eax
mov eax, dword [rbp - 0x28]
sub edx, ecx
mov ecx, dword [rbp - 0x3c]
sub ecx, eax
cmp edx, ecx
je 0x18001cf93
mov ecx, dword [rsp + 0x78]
mov edx, 0xffffaf06
mov word [0x18005379c], dx
add ecx, 0xaf06
movsx eax, word [0x18005379c]
cmp eax, ecx
jne 0x18001cf74
movsx ecx, byte [rsp + 0x50]
mov eax, dword [0x180053800]
add ecx, 0xdd
cmp eax, ecx
jne 0x18001cf74
mov rax, qword [0x1800537e0]
test rax, rax
jne 0x18001cf74
mov eax, dword [0x180053734]
add eax, 0x51a37012
cdqe
mov qword [rbp - 0x58], rax
mov rax, qword [0x180053848]
add byte [0x18005374b], dil
mov eax, 1
mov word [0x18005379c], dx
jmp 0x18001d14a
mov eax, dword [rbp - 0x10]
cmp eax, dword [rbp - 0xc]
jbe 0x18001d13f
mov eax, dword [0x1800536f4]
cmp edi, eax
jbe 0x18001d0a7
xor ecx, ecx
call fcn.180027480
movzx eax, ax
mov edx, ebx
mov dword [0x18005381c], eax
mov ecx, ebx
mov eax, dword [0x18005381c]
cmp eax, 0x35
mov eax, dword [0x18005381c]
sete dl
test eax, eax
sete cl
cmp ecx, edx
jb 0x18001d089
movzx ecx, word [0x1800537f8]
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
test ax, ax
jne 0x18001d03b
movsx eax, word [0x180053804]
mov edx, ebx
cmp dword [0x180053814], eax
mov eax, ebx
setne dl
cmp dword [0x180053814], 5
setne al
cmp edx, eax
jb 0x18001d025
mov eax, 0x4612
mov word [0x180053844], ax
jmp 0x18001d0a7
test r15b, r15b
je 0x18001d0a7
movsx eax, byte [0x180ba79fb]
mov ecx, dword [rbp - 0x80]
or ecx, eax
mov dword [rbp - 0x80], ecx
jmp 0x18001d0a7
movzx eax, byte [rsp + 0x51]
cmp r12d, 0xf3db
mov ecx, ebx
sete cl
add ecx, eax
je 0x18001d064
movsx eax, word [0x180053804]
add eax, 0x3522eddc
mov dword [0x180053810], eax
jmp 0x18001d0a7
movzx ecx, word [rsp + 0x5c]
movzx eax, r15b
cmp ax, cx
mov rax, qword [0x1800537e0]
not rax
setae bl
cmp rbx, rax
jne 0x18001d0a7
mov byte [rsp + 0x51], 0xf1
jmp 0x18001d0a7
movsx eax, word [rsp + 0x58]
add eax, 0x7a1343c6
mov qword [rbp - 0x58], rax
movsx eax, byte [rbp - 0x18]
xor eax, dword [0x180053810]
mov dword [0x180053734], eax
movsx ecx, byte [rsp + 0x50]
mov ebx, 0xffffbe05
mov word [0x180053808], bx
add ecx, 0x154bbe05
movsx eax, word [0x180053808]
cmp eax, ecx
jne 0x18001d108
mov rcx, qword [rbp - 0x70]
mov eax, dword [0x1800537dc]
add rcx, 0x24
cmp rax, rcx
jne 0x18001d108
movsd xmm0, qword [str.key_error]
lea rcx, [rbp + 0x10]
movzx eax, word [0x18003ca20]
movsd qword [rbp + 0x10], xmm0
mov word [rbp + 0x18], ax
call qword [sym.imp.KERNEL32.dll_lstrlenA]
movsxd rcx, eax
mov qword [0x180053848], rcx
mov ecx, 0xfff
mov word [0x180053808], bx
add cx, word [0x180053850]
mov eax, 2
mov word [rsp + 0x58], cx
movsx r8d, word [rsp + 0x60]
mov ecx, dword [0x1800536f4]
movsx edx, cx
imul edx, r8d
mov word [rsp + 0x60], dx
jmp 0x18001d14a
mov rcx, qword [rbp + 8]
shr eax, 3
mov dword [rcx], eax
xor eax, eax
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.18002fd30
add rsp, 0x178
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret