Function at 0x14002277c
Capabilities:
Identify system language via api

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x158
mov qword [rsp + 0x138], 0xfffffffffffffffe
mov rbp, rcx
mov rcx, qword [0x140049be8]
call fcn.1400114cc
mov rdx, qword [0x140049be8]
xor r12d, r12d
cmp qword [rdx + 0x288], r12
jne 0x1400227fb
mov rdi, r12
mov rax, qword [rbp + 0x38]
cmp rax, r12
je 0x1400227db
mov rdi, rax
mov rcx, rax
call qword [sym.imp.USER32.dll_GetParent]
cmp rax, r12
jne 0x1400227ca
mov rcx, rdi
call qword [sym.imp.USER32.dll_SetActiveWindow]
mov rcx, rdi
call qword [sym.imp.USER32.dll_SetForegroundWindow]
mov rdx, qword [0x140049be8]
mov qword [rdx + 0x288], rdi
mov rax, qword [rbp + 0x80]
lea r15, [rbp + 0x50]
mov qword [rax + 0x190], r15
lea rdx, [0x140005080]
lea rcx, [rsp + 0xc8]
call fcn.14000cb18
nop
lea rdx, [rsp + 0xc8]
mov rcx, rbp
call fcn.1400258f8
nop
mov rdx, qword [rsp + 0xc8]
add rdx, 0xffffffffffffffe8
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
cmp eax, r12d
jg 0x140022859
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rbp + 0x80]
mov rax, qword [rcx]
call qword [rax + 0x1b0]
mov esi, 2
cmp eax, r12d
je 0x1400228bf
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x50]
mov edi, eax
cmp eax, r12d
jbe 0x1400228bf
cmp eax, 3
ja 0x1400228bf
call qword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
movzx edx, ax
mov rcx, qword [rbp + 0x80]
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], esi
mov r9d, dword [rcx + 0x19c]
mov r8d, esi
lea edx, [rsi + 1]
mov ecx, 0x5cd
call fcn.140037378
cmp qword [rbp + 0x88], r12
jne 0x1400228fa
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x88], rax
cmp rax, r12
jne 0x1400228fa
mov rax, qword [0x140049b20]
mov r8d, 0x1006
mov edx, dword [rax + 0x19c]
mov rcx, rbp
call fcn.140022740
cdqe
jmp 0x140023a29
cmp dword [rbp + 0x78], 0x77
jne 0x140022919
mov r8, qword [0x140049be8]
add r8, 0x60
xor r9d, r9d
xor edx, edx
lea ecx, [rdx + 0x1b]
call qword [sym.imp.USER32.dll_SystemParametersInfoW]
mov rcx, rbp
call fcn.14002595c
mov dword [rsp + 0x1b8], r12d
mov r13d, r12d
mov dword [rsp + 0x1a0], r12d
mov rcx, qword [rbp + 0x70]
cmp qword [rcx + 0x50], r12
jne 0x140022943
mov rax, r12
jmp 0x14002294f
mov rax, qword [rcx + 0x58]
sub rax, qword [rcx + 0x50]
sar rax, 3
cmp r13d, eax
jge 0x140023899
mov edx, r13d
call fcn.14002614c
mov rdi, rax
mov qword [rbp + 0x90], rax
cmp rax, r12
je 0x140023757
lea rdx, [0x140004090]
lea rcx, [rsp + 0x110]
call fcn.14000cb18
lea rdx, [rsp + 0x110]
mov rcx, rdi
call fcn.140025fe4
mov rdi, rax
mov rdx, qword [rsp + 0x110]
add rdx, 0xffffffffffffffe8
mov ecx, ebx
lock xadd dword [rdx + 0x10], ecx
add ecx, ebx
cmp ecx, r12d
jg 0x1400229bd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, rdi
lea rcx, [rsp + 0x48]
call fcn.140011a8c
nop
mov rdi, qword [rsp + 0x48]
mov rcx, rdi
call sub.DUI70.dll_StrToID
movzx edx, ax
mov rcx, qword [rbp + 0x88]
call qword [sym.imp.DUI70.dll_public:_class_DirectUI::Element____ptr64___cdecl_DirectUI::Element::FindDescendent_unsigned_short_int____ptr64]
mov r14, rax
cmp rax, r12
je 0x140023863
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x100]
cmp rax, r12
je 0x140022a10
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x40]
jmp 0x140022a17
lea rax, [0x1400050a8]
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.14000cb18
nop
xor eax, eax
lea rdi, [0x1400050c0]
mov rsi, qword [rsp + 0x60]
lea ecx, [rax + 0xa]
repe cmpsw word [rsi], word [rdi]
je 0x140022a3f
sbb eax, eax
sbb eax, ebx
cmp eax, r12d
sete al
cmp al, r12b
je 0x140022a61
lea rax, [0x14002437c]
mov qword [r14 + 0x140], rax
mov qword [r14 + 0x148], rbp
jmp 0x140022ada
xor eax, eax
lea rdi, [0x1400050d8]
mov rsi, qword [rsp + 0x60]
lea ecx, [rax + 6]
repe cmpsw word [rsi], word [rdi]
je 0x140022a7b
sbb eax, eax
sbb eax, ebx
cmp eax, r12d
sete al
cmp al, r12b
je 0x140022ada
cmp qword [rbp + 0x58], r12
jne 0x140022acd
mov ecx, 0x10
call fcn.140037668
mov rsi, rax
mov qword [rsp + 0x140], rax
cmp rax, r12
je 0x140022ac6
mov rdi, qword [rbp + 0x88]
mov rcx, rax
call qword [sym.imp.DUI70.dll_public:_void___cdecl_DirectUI::IDataEntry::constructor_void____ptr64]
lea r11, [0x140005498]
mov qword [rsi], r11
mov qword [rsi + 8], rdi
jmp 0x140022ac9
mov rsi, r12
mov qword [rbp + 0x58], rsi
mov rdx, qword [rbp + 0x58]
mov rcx, r14
call qword [sym.imp.DUI70.dll_public:_void___cdecl_DirectUI::PText::SetDataEntry_struct_DirectUI::IDataEntry____ptr64____ptr64]
mov rdi, qword [rbp + 0x90]
lea rdx, [0x140004f08]
lea rcx, [rsp + 0xb0]
call fcn.14000cb18
lea rdx, [rsp + 0xb0]
mov rcx, rdi
call fcn.140025fe4
mov rdi, rax
mov rdx, qword [rsp + 0xb0]
add rdx, 0xffffffffffffffe8
mov ecx, ebx
lock xadd dword [rdx + 0x10], ecx
add ecx, ebx
cmp ecx, r12d
jg 0x140022b2b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, rdi
lea rcx, [rsp + 0x58]
call fcn.140011a8c
nop
lea rcx, [0x140048170]
mov rax, qword [0x140048170]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x58]
cmp dword [rax - 0x10], r12d
je 0x140022bad
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x58]
mov rcx, qword [rbp + 0x80]
call fcn.140012ad4
mov rdi, qword [rsp + 0x40]
cmp qword [rbp + 0x88], r12
je 0x140022bad
mov rcx, qword [rsp + 0x48]
call sub.DUI70.dll_StrToID
movzx edx, ax
mov rcx, qword [rbp + 0x88]
call qword [sym.imp.DUI70.dll_public:_class_DirectUI::Element____ptr64___cdecl_DirectUI::Element::FindDescendent_unsigned_short_int____ptr64]
cmp rax, r12
je 0x140022bad
mov rdx, rdi
mov rcx, rax
call qword [sym.imp.DUI70.dll_public:_long_int___cdecl_DirectUI::Element::SetContentString_unsigned_short_int_const____ptr64____ptr64]
mov rdi, qword [rbp + 0x90]
lea rdx, [0x140004f18]
lea rcx, [rsp + 0x108]
call fcn.14000cb18
lea rdx, [rsp + 0x108]
mov rcx, rdi
call fcn.140025fe4
mov rdi, rax
mov rdx, qword [rsp + 0x108]
add rdx, 0xffffffffffffffe8
mov ecx, ebx
lock xadd dword [rdx + 0x10], ecx
add ecx, ebx
cmp ecx, r12d
jg 0x140022bfe
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, rdi
lea rcx, [rsp + 0x50]
call fcn.140011a8c
nop
mov r11, qword [rsp + 0x50]
mov ebx, r12d
cmp dword [r11 - 0x10], r12d
setne bl
xor eax, eax
lea rdi, [0x140004f18]
mov rsi, r11
lea ecx, [rax + 5]
repe cmpsw word [rsi], word [rdi]
je 0x140022c34
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, r12d
sete al
cmp al, r12b
je 0x140022c82
mov rax, qword [rsp + 0x40]
mov edx, dword [rax - 0x10]
cmp edx, r12d
je 0x140022c93
mov rcx, qword [0x140049b20]
cmp edx, r12d
jl 0x140023767
movzx edx, word [rax]
mov ecx, dword [rcx + 0x19c]
call fcn.14002789c
cmp eax, r12d
je 0x140022c82
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.14000cfc0
mov ebx, eax
mov r11, qword [rsp + 0x50]
cmp ebx, r12d
je 0x140022c93
mov rdx, r11
mov rcx, r14
call qword [sym.imp.DUI70.dll_public:_long_int___cdecl_DirectUI::Element::SetFontFace_unsigned_short_int_const____ptr64____ptr64]
mov rdi, qword [rbp + 0x90]
lea rdx, [0x140004f98]
lea rcx, [rsp + 0xd8]
call fcn.14000cb18
lea rdx, [rsp + 0xd8]
mov rcx, rdi
call fcn.140025fe4
mov rdi, rax
mov rdx, qword [rsp + 0xd8]
add rdx, 0xffffffffffffffe8
or ebx, 0xffffffff
mov ecx, ebx
lock xadd dword [rdx + 0x10], ecx
add ecx, ebx
cmp ecx, r12d
jg 0x140022ce7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, rdi
lea rcx, [rsp + 0xa8]
call fcn.140011a8c
nop
mov rsi, qword [rsp + 0xa8]
mov eax, r12d
cmp dword [rsi - 0x10], r12d
setne al
cmp eax, r12d
je 0x140022d33
lea rdi, [0x1400050e8]
mov ecx, 4
repe cmpsw word [rsi], word [rdi]
sete al
mov edx, r12d
cmp al, r12b
setne dl
mov rcx, r14
call qword [sym.imp.DUI70.dll_public:_long_int___cdecl_DirectUI::Element::SetDirection_int____ptr64]
mov rdi, qword [rsp + 0x48]
cmp dword [rdi - 0x10], r12d
jge 0x140022d42
mov eax, ebx
jmp 0x140022d61
lea rdx, [0x1400050f0]
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_wcsstr]
cmp rax, r12
jne 0x140022d5b
mov eax, ebx
jmp 0x140022d61
sub rax, rdi
sar rax, 1
cmp eax, r12d
setge al
cmp al, r12b
je 0x140022ebb
cmp dword [rdi - 0x10], r12d
jg 0x140022d7a
mov esi, ebx
jmp 0x140022d9a
mov edx, 0x5f
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_wcschr]
mov rsi, rax
cmp rax, r12
jne 0x140022d94
mov esi, ebx
jmp 0x140022d9a
sub rsi, rdi
sar rsi, 1
cmp esi, r12d
setge al
cmp al, r12b
je 0x140022ebb
mov rcx, qword [0x140049b20]
mov rax, qword [rcx]
call qword [rax + 0x188]
cmp eax, r12d
je 0x140022df6
mov r8d, 0x48
mov rax, qword [0x140049be8]
mov edx, dword [rax + 0x78]
lea ecx, [r8 - 3]
call qword [sym.imp.KERNEL32.dll_MulDiv]
mov edx, eax
imul edx, edx, 0x52
mov eax, 0x51eb851f
imul edx
mov r12d, edx
sar r12d, 5
mov eax, r12d
shr eax, 0x1f
add r12d, eax
jmp 0x140022e2c
mov r8d, 0x48
mov rax, qword [0x140049be8]
mov edx, dword [rax + 0x78]
lea ecx, [r8 - 0x14]
call qword [sym.imp.KERNEL32.dll_MulDiv]
mov edx, eax
imul edx, edx, 0x3a
mov eax, 0x51eb851f
imul edx
mov r12d, edx
sar r12d, 5
mov eax, r12d
shr eax, 0x1f
add r12d, eax
mov r8d, dword [rdi - 0x10]
sub r8d, esi
lea rdx, [rsp + 0x128]
lea rcx, [rsp + 0x48]
call fcn.1400217d8
nop
xor eax, eax
lea rdi, [0x140005108]
mov rbx, qword [rsp + 0x128]
mov rsi, rbx
lea ecx, [rax + 3]
repe cmpsw word [rsi], word [rdi]
je 0x140022e67
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x140022e8d
mov r8d, 0x48
mov rax, qword [0x140049be8]
mov edx, dword [rax + 0x74]
lea ecx, [r8 - 0x42]
call qword [sym.imp.KERNEL32.dll_MulDiv]
add r12d, eax
mov edx, r12d
mov rcx, r14
call qword [sym.imp.DUI70.dll_public:_long_int___cdecl_DirectUI::Element::SetWidth_int____ptr64]
nop
lea rdx, [rbx - 0x18]
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
xor r12d, r12d
cmp eax, r12d
jg 0x140022ebb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rbp + 0x90]
call fcn.14002fb88
mov esi, eax
cmp eax, r12d
je 0x140023240
mov dword [rsp + 0x1b8], 1
mov dword [rsp + 0x1b0], ebx
mov dword [rsp + 0x1a8], ebx
mov rdi, qword [rbp + 0x90]
lea rdx, [0x140004f80]
lea rcx, [rsp + 0x120]
call fcn.14000cb18
lea rdx, [rsp + 0x120]
mov rcx, rdi
call fcn.140025fe4
mov rdi, rax
mov rdx, qword [rsp + 0x120]
add rdx, 0xffffffffffffffe8
mov ecx, ebx
lock xadd dword [rdx + 0x10], ecx
add ecx, ebx
cmp ecx, r12d
jg 0x140022f3c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea r8, [rsp + 0x1a8]
mov rdx, rdi
mov rcx, qword [rbp + 0x80]
call fcn.1400107cc
mov rdi, qword [rbp + 0x90]
lea rdx, [0x140004f68]
lea rcx, [rsp + 0xe8]
call fcn.14000cb18
lea rdx, [rsp + 0xe8]
mov rcx, rdi
call fcn.140025fe4
mov rdi, rax
mov rdx, qword [rsp + 0xe8]
add rdx, 0xffffffffffffffe8
mov ecx, ebx
lock xadd dword [rdx + 0x10], ecx
add ecx, ebx
cmp ecx, r12d
jg 0x140022fa4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea r8, [rsp + 0x1b0]
mov rdx, rdi
mov rcx, qword [rbp + 0x80]
call fcn.1400107cc
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rbp + 0x80]
call fcn.140014038
mov rbx, rax
cmp rax, r12
jne 0x1400231b2
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rbp + 0x80]
call fcn.140014214
mov rbx, rax
cmp rax, r12
je 0x140023772
mov ecx, dword [rsp + 0x1a8]
mov eax, dword [rsp + 0x1b0]
mov dword [rbx + 8], esi
mov dword [rbx + 0xc], eax
mov dword [rbx + 0x10], ecx
lea rcx, [rbx + 0x20]
lea rdx, [rsp + 0x40]
call fcn.14001681c
mov rcx, qword [rbp + 0x90]
call fcn.14002fd50
mov dword [rbx + 0x28], eax
mov rdi, qword [rbp + 0x90]
lea rdx, [0x140004fb0]
lea rcx, [rsp + 0x118]
call fcn.14000cb18
lea rdx, [rsp + 0x118]
mov rcx, rdi
call fcn.140025fe4
mov rsi, rax
mov rdx, qword [rsp + 0x118]
add rdx, 0xffffffffffffffe8
or ecx, 0xffffffff
lock xadd dword [rdx + 0x10], ecx
dec ecx
cmp ecx, r12d
jg 0x14002307b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rsi, qword [rsi]
mov eax, r12d
cmp dword [rsi - 0x10], r12d
setne al
cmp eax, r12d
je 0x1400230a7
lea rdi, [0x140005110]
mov ecx, 5
repe cmpsw word [rsi], word [rdi]
mov eax, r12d
sete al
mov dword [rbx + 0x2c], eax
jmp 0x1400230ba
mov rcx, qword [0x140049b20]
mov rax, qword [rcx]
call qword [rax + 0x190]
mov dword [rbx + 0x2c], eax
mov rax, qword [rbp + 0x90]
mov rcx, qword [rax + 0x50]
cmp rcx, r12
jne 0x1400230cf
mov eax, r12d
jmp 0x1400230da
mov rax, qword [rax + 0x58]
sub rax, rcx
sar rax, 3
xor esi, esi
movsxd r13, eax
test eax, eax
jle 0x140023212
mov rcx, qword [rbp + 0x90]
xor edi, edi
test rsi, rsi
js 0x140023118
cmp qword [rcx + 0x50], rdi
jne 0x1400230ff
xor eax, eax
jmp 0x14002310b
mov rax, qword [rcx + 0x58]
sub rax, qword [rcx + 0x50]
sar rax, 3
cmp r12d, eax
jge 0x140023118
mov rax, qword [rcx + 0x50]
mov rdi, qword [rax + rsi*8]
lea rdx, [rsp + 0xf8]
mov rcx, rdi
call fcn.1400221d0
nop
lea rdx, [rsp + 0x130]
mov rcx, rdi
call fcn.14002226c
nop
mov rdi, qword [rsp + 0x130]
mov r8, rdi
mov rdx, qword [rsp + 0xf8]
mov rcx, rbx
call fcn.14002caf4
nop
lea rdx, [rdi - 0x18]
or edi, 0xffffffff
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x140023174
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0xf8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x140023196
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
inc r12d
inc rsi
cmp rsi, r13
jl 0x1400230e7
mov r13d, dword [rsp + 0x1a0]
xor r12d, r12d
jmp 0x14002321d
mov rcx, qword [rax + 0x20]
mov eax, r12d
cmp rcx, r12
setne al
cmp eax, r12d
je 0x140023858
mov rax, qword [rsp + 0x40]
sub rcx, rax
movzx edx, word [rax]
cmp dx, word [rax + rcx]
jne 0x1400231e7
add rax, 2
test dx, dx
jne 0x1400231d0
mov eax, r12d
jmp 0x1400231ec
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, r12d
setne al
cmp al, r12b
je 0x14002321d
lea rdx, [rsp + 0x40]
lea rcx, [rbx + 0x20]
call fcn.14001681c
mov rcx, qword [rbx]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x68]
jmp 0x14002321d
mov r13d, dword [rsp + 0x1a0]
xor r12d, r12d
mov r8, rbp
mov rdx, rbx
mov rcx, r14
call fcn.140019a34
cmp eax, r12d
jne 0x140023240
xor edx, edx
mov r8d, 0x1007
mov rcx, rbp
call fcn.140022740
mov rdi, qword [rbp + 0x90]
lea rdx, [0x140004f48]
lea rcx, [rsp + 0xb8]
call fcn.14000cb18
lea rdx, [rsp + 0xb8]
mov rcx, rdi
call fcn.140025fe4
mov rdi, rax
mov rdx, qword [rsp + 0xb8]
add rdx, 0xffffffffffffffe8
or ebx, 0xffffffff
mov ecx, ebx
lock xadd dword [rdx + 0x10], ecx
add ecx, ebx
cmp ecx, r12d
jg 0x140023294
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, rdi
lea rcx, [rsp + 0x98]
call fcn.140011a8c
nop
mov rax, qword [rsp + 0x98]
cmp dword [rax - 0x10], r12d
je 0x140023354
lea rcx, [0x140048170]
mov rax, qword [0x140048170]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x90], rax
lea r8, [rsp + 0x90]
lea rdx, [rsp + 0x98]
mov rcx, qword [rbp + 0x80]
call fcn.140012ad4
cmp eax, r12d
jl 0x140023331
xor eax, eax
lea rdi, [0x140005110]
mov rsi, qword [rsp + 0x90]
lea ecx, [rax + 5]
repe cmpsw word [rsi], word [rdi]
je 0x140023312
sbb eax, eax
sbb eax, ebx
cmp eax, r12d
sete al
neg al
sbb edx, edx
and edx, 0xfffffffe
add edx, ebx
cmp dword [r14 + 0x70], edx
je 0x140023331
mov rcx, r14
call qword [sym.imp.DUI70.dll_public:_long_int___cdecl_DirectUI::Element::SetLayoutPos_int____ptr64]
nop
mov rdx, qword [rsp + 0x90]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
cmp eax, r12d
jg 0x140023354
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdi, qword [rbp + 0x90]
lea rdx, [0x140004f58]
lea rcx, [rsp + 0xc0]
call fcn.14000cb18
lea rdx, [rsp + 0xc0]
mov rcx, rdi
call fcn.140025fe4
mov rdi, rax
mov rdx, qword [rsp + 0xc0]
add rdx, 0xffffffffffffffe8
mov ecx, ebx
lock xadd dword [rdx + 0x10], ecx
add ecx, ebx
cmp ecx, r12d
jg 0x1400233a5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, rdi
lea rcx, [rsp + 0x88]
call fcn.140011a8c
nop
mov rax, qword [rsp + 0x88]
cmp dword [rax - 0x10], r12d
je 0x14002344a
lea rcx, [0x140048170]
mov rax, qword [0x140048170]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x68], rax
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x88]
mov rcx, qword [rbp + 0x80]
call fcn.140012ad4
cmp eax, r12d
jl 0x14002342a
xor eax, eax
lea rdi, [0x140005110]
mov rsi, qword [rsp + 0x68]
lea ecx, [rax + 5]
repe cmpsw word [rsi], word [rdi]
je 0x14002341a
sbb eax, eax
sbb eax, ebx
cmp eax, r12d
sete dl
mov rcx, r14
call qword [sym.imp.DUI70.dll_public:_long_int___cdecl_DirectUI::Element::SetEnabled_bool____ptr64]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
cmp eax, r12d
jg 0x14002344a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdi, qword [rbp + 0x90]
lea rdx, [0x140004f38]
lea rcx, [rsp + 0xd0]
call fcn.14000cb18
lea rdx, [rsp + 0xd0]
mov rcx, rdi
call fcn.140025fe4
mov rdi, rax
mov rdx, qword [rsp + 0xd0]
add rdx, 0xffffffffffffffe8
mov ecx, ebx
lock xadd dword [rdx + 0x10], ecx
add ecx, ebx
cmp ecx, r12d
jg 0x14002349b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, rdi
lea rcx, [rsp + 0x78]
call fcn.140011a8c
nop
mov rax, qword [rsp + 0x78]
cmp dword [rax - 0x10], r12d
je 0x140023524
lea rcx, [0x140048170]
mov rax, qword [0x140048170]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x80], rax
lea r8, [rsp + 0x80]
lea rdx, [rsp + 0x78]
mov rcx, qword [rbp + 0x80]
call fcn.140012ad4
cmp eax, r12d
jl 0x140023501
mov rdx, qword [rsp + 0x80]
mov rcx, r14
call qword [sym.imp.DUI70.dll_public:_long_int___cdecl_DirectUI::Element::SetAccDesc_unsigned_short_int_const____ptr64____ptr64]
nop
mov rdx, qword [rsp + 0x80]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
cmp eax, r12d
jg 0x140023524
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdi, qword [rbp + 0x90]
lea rdx, [0x140004f28]
lea rcx, [rsp + 0xe0]
call fcn.14000cb18
lea rdx, [rsp + 0xe0]
mov rcx, rdi
call fcn.140025fe4
mov rdi, rax
mov rdx, qword [rsp + 0xe0]
add rdx, 0xffffffffffffffe8
mov ecx, ebx
lock xadd dword [rdx + 0x10], ecx
add ecx, ebx
cmp ecx, r12d
jg 0x140023575
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, rdi
lea rcx, [rsp + 0x70]
call fcn.140011a8c
nop
mov rax, qword [rsp + 0x70]
cmp dword [rax - 0x10], r12d
je 0x1400235fe
lea rcx, [0x140048170]
mov rax, qword [0x140048170]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xa0], rax
lea r8, [rsp + 0xa0]
lea rdx, [rsp + 0x70]
mov rcx, qword [rbp + 0x80]
call fcn.140012ad4
cmp eax, r12d
jl 0x1400235db
mov rdx, qword [rsp + 0xa0]
mov rcx, r14
call qword [sym.imp.DUI70.dll_public:_long_int___cdecl_DirectUI::Element::SetAccName_unsigned_short_int_const____ptr64____ptr64]
nop
mov rdx, qword [rsp + 0xa0]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
cmp eax, r12d
jg 0x1400235fe
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov qword [rbp + 0x90], r12
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
cmp eax, r12d
jg 0x140023626
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
cmp eax, r12d
jg 0x140023647
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
cmp eax, r12d
jg 0x14002366b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x98]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
cmp eax, r12d
jg 0x14002368f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0xa8]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
cmp eax, r12d
jg 0x1400236b3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
cmp eax, r12d
jg 0x1400236d4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
cmp eax, r12d
jg 0x1400236f5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
cmp eax, r12d
jg 0x140023716
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
cmp eax, r12d
jg 0x140023737
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
cmp eax, r12d
jg 0x140023757
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
inc r13d
mov dword [rsp + 0x1a0], r13d
jmp 0x140022934
mov ecx, 0x80070057
call fcn.14000f038
nop
xor edx, edx
mov r8d, 0x1006
mov rcx, rbp
call fcn.140022740
movsxd rdi, eax
mov rdx, qword [rsp + 0xa8]
add rdx, 0xffffffffffffffe8
or esi, 0xffffffff
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
cmp eax, r12d
jg 0x1400237ac
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
cmp eax, r12d
jg 0x1400237cd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
cmp eax, r12d
jg 0x1400237ee
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
cmp eax, r12d
jg 0x14002380f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
cmp eax, r12d
jg 0x140023830
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov ecx, esi
lock xadd dword [rdx + 0x10], ecx
add ecx, esi
cmp ecx, r12d
jg 0x140023850
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, rdi
jmp 0x140023a29
mov ecx, 0x80004005
call fcn.14000f038
nop
xor edx, edx
mov r8d, 0x1006
mov rcx, rbp
call fcn.140022740
movsxd rsi, eax
lea rdx, [rdi - 0x18]
mov ecx, ebx
lock xadd dword [rdx + 0x10], ecx
add ecx, ebx
cmp ecx, r12d
jg 0x140023891
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, rsi
jmp 0x140023a29
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x38]
cmp eax, r12d
setne dl
mov rcx, rbp
call fcn.140025704
mov rdx, qword [rbp]
mov rcx, rbp
call qword [rdx + 0xc0]
mov rcx, rbp
call fcn.140025b14
mov rbx, r12
cmp eax, r12d
mov eax, 2
cmovne rbx, rax
mov rdi, qword [rbp + 0x70]
lea rdx, [0x140004ff8]
lea rcx, [rsp + 0xf0]
call fcn.14000cb18
lea rdx, [rsp + 0xf0]
mov rcx, rdi
call fcn.140025fe4
mov rsi, rax
mov rdi, qword [rsp + 0xf0]
or r13d, 0xffffffff
mov edx, r13d
lock xadd dword [rdi - 8], edx
add edx, r13d
cmp edx, r12d
jg 0x140023929
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
lea rdx, [rdi - 0x18]
call qword [rax + 8]
xor eax, eax
lea rdi, [0x140005060]
mov rsi, qword [rsi]
lea ecx, [rax + 5]
repe cmpsw word [rsi], word [rdi]
je 0x140023942
sbb eax, eax
sbb eax, r13d
cmp eax, r12d
setne al
movzx ecx, al
cmp ecx, r12d
je 0x140023954
or rbx, 0x10
mov rcx, rbp
call fcn.140025ba8
cmp eax, r12d
je 0x140023965
or rbx, 4
mov r9d, 0x16
mov r8, rbx
mov edx, 0x48a
mov rcx, rbp
call qword [sym.imp.DUI70.dll_protected:_long_long___int64____cdecl_DirectUI::TaskPage::PropSheet_SendMessage_unsigned_int__unsigned_long_long_unsigned___int64___long_long___int64_____ptr64]
mov rcx, rbp
call fcn.140023e54
cmp dword [rsp + 0x1b8], r12d
jne 0x140023a17
lea rcx, [0x140048170]
mov rax, qword [0x140048170]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x100], rax
mov rax, qword [0x140049b20]
mov edi, dword [rax + 0x19c]
mov rcx, qword [rbp + 0x80]
mov rax, qword [rcx]
mov rdx, r15
call qword [rax + 0x18]
mov r9d, eax
mov r8d, edi
lea rdx, [0x140005120]
lea rcx, [rsp + 0x100]
call fcn.140018948
xor edx, edx
mov rdi, qword [rsp + 0x100]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_RegisterApplicationRestart]
nop
lea rdx, [rdi - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
cmp eax, r12d
jg 0x140023a17
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rbp + 0x80]
mov rax, qword [rcx]
call qword [rax + 0x58]
mov dword [rbp + 0x64], eax
xor eax, eax
add rsp, 0x158
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret