Function at 0x433efc
Capabilities:
Identify system language via api

Disassembly:
mov rax, rsp
push r12
push r13
push r14
sub rsp, 0x870
mov qword [rsp + 0x118], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov rax, qword [0x004bf230]
xor rax, rsp
mov qword [rsp + 0x860], rax
xor r9d, r9d
xor r8d, r8d
lea esi, [r9 + 1]
mov edx, esi
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_HeapSetInformation]
lea r12d, [rsi + 6]
mov qword [rsp + 0x140], r12
xor ebx, ebx
mov qword [rsp + 0x138], rbx
mov word [rsp + 0x128], bx
call fcn.00456d00
nop
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_DefWindowProcW]
mov rcx, qword [0x004c5760]
call fcn.0040efc0
cmp al, bl
jne 0x433fe3
lea r9d, [rsi + 0xf]
lea r8, [0x004a0590]
lea rdx, str.Required_file_install.ini_not_found._Setup_will_now_exit.
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
nop
cmp qword [rsp + 0x140], 8
jb 0x433fc1
mov rcx, qword [rsp + 0x128]
call fcn.00443d3c
mov qword [rsp + 0x140], r12
mov qword [rsp + 0x138], rbx
mov word [rsp + 0x128], bx
mov eax, 0x1fff
jmp 0x434dcd
lea r8, [rsp + 0x120]
xor edx, edx
mov rcx, qword [0x004c5760]
call fcn.00410024
mov qword [rsp + 0x190], r12
mov qword [rsp + 0x188], rbx
mov word [rsp + 0x178], bx
lea r8, [rsp + 0x170]
mov edx, 0x11
mov rcx, qword [0x004c5760]
call fcn.00410024
mov r8d, 2
lea rdx, [0x004a0614]
lea rcx, [rsp + 0x170]
call fcn.00404a40
lea rdx, [rsp + 0x68]
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x88], r12
mov qword [rsp + 0x80], rbx
mov word [rsp + 0x70], bx
or r14, 0xffffffffffffffff
mov r9, r14
xor r8d, r8d
lea rdx, [rsp + 0x170]
lea rcx, [rsp + 0x68]
call fcn.004020b0
nop
lea rcx, [rsp + 0x68]
call fcn.0043566c
mov qword [rsp + 0x168], r12
mov qword [rsp + 0x160], rbx
mov word [rsp + 0x150], bx
xor r8d, r8d
lea rdx, [0x004998e4]
lea rcx, [rsp + 0x148]
call fcn.00404e54
nop
lea r8, [rsp + 0x148]
lea edx, [r14 + 0x18]
mov rcx, qword [0x004c5760]
call fcn.00410024
mov qword [rsp + 0x20], rbx
lea r9, [0x004998e4]
mov r8, qword [rsp + 0x160]
xor edx, edx
lea rcx, [rsp + 0x148]
call fcn.00406604
cmp eax, ebx
je 0x434124
mov qword [rsp + 0x20], rsi
lea r9, [0x0049d0ac]
mov r8, qword [rsp + 0x160]
xor edx, edx
lea rcx, [rsp + 0x148]
call fcn.00406604
cmp eax, ebx
je 0x434124
mov eax, ebx
jmp 0x434126
mov eax, esi
mov byte [rsp + 0x34], al
cmp al, bl
je 0x434146
lea rdx, str.No_language_specified_in_ini_file_default_to_OS_language
mov rcx, qword [0x004c5758]
call fcn.00429b54
jmp 0x4341c6
lea rax, [rsp + 0x68]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x88], r12
mov qword [rsp + 0x80], rbx
mov word [rsp + 0x70], bx
mov r9, r14
xor r8d, r8d
lea rdx, [rsp + 0x148]
lea rcx, [rsp + 0x68]
call fcn.004020b0
nop
lea rcx, [rsp + 0x68]
call fcn.004353ec
cmp al, bl
sete cl
mov byte [rsp + 0x34], cl
cmp cl, bl
je 0x4344d9
lea r8, [rsp + 0x150]
cmp qword [rsp + 0x168], 8
cmovae r8, qword [rsp + 0x150]
lea rdx, str.Failed_to_set_lang_to_requested_lang_code__s
mov rcx, qword [0x004c5758]
call fcn.0042a050
mov eax, 0x409
mov word [rsp + 0x30], ax
lea rcx, str.KERNEL32.DLL
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, str.GetUserDefaultUILanguage
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp rax, rbx
je 0x4341fe
call rax
mov di, ax
mov word [rsp + 0x30], ax
jmp 0x43420c
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
mov di, ax
mov word [rsp + 0x30], ax
movzx eax, di
mov ecx, 0x3ff
and ax, cx
mov r13d, 4
cmp ax, r13w
jne 0x434242
movzx eax, di
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xc00
cmp ax, cx
jne 0x434242
mov edi, 0x404
mov word [rsp + 0x30], di
mov word [rsp + 0x650], bx
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x652]
call fcn.00449860
movzx ecx, di
mov r9d, 0xa
mov r8d, 0x104
lea rdx, [rsp + 0x650]
call fcn.00445bf0
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x58], rbx
mov word [rsp + 0x48], bx
xor eax, eax
mov rcx, r14
lea rdi, [rsp + 0x650]
repne scasw ax, word [rdi]
not rcx
sub rcx, rsi
mov r8, rcx
lea rdx, [rsp + 0x650]
lea rcx, [rsp + 0x40]
call fcn.00404e54
nop
lea rcx, [rsp + 0x40]
call fcn.004353ec
cmp al, bl
je 0x434349
lea r8, [rsp + 0x650]
lea rdx, str.Set_lang_to__s
mov rcx, qword [0x004c5758]
call fcn.0042a050
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x58], rbx
mov word [rsp + 0x48], bx
xor eax, eax
mov rcx, r14
lea rdi, [rsp + 0x650]
repne scasw ax, word [rdi]
not rcx
sub rcx, rsi
mov r8, rcx
lea rdx, [rsp + 0x650]
lea rcx, [rsp + 0x40]
call fcn.00404e54
nop
lea r8, [rsp + 0x40]
mov edx, 0x17
mov rcx, qword [0x004c5760]
call fcn.0040ff50
jmp 0x4344d9
lea r8, [rsp + 0x650]
lea rdx, str.Failed_to_set_lang_to_OS_language__s
mov rcx, qword [0x004c5758]
call fcn.0042a050
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x58], rbx
mov word [rsp + 0x48], bx
mov r8, r13
lea rdx, str.1033
lea rcx, [rsp + 0x40]
call fcn.00404e54
nop
lea rcx, [rsp + 0x40]
call fcn.004353ec
cmp al, bl
je 0x434413
lea rdx, str.Set_lang_to_ENU_1033
mov rcx, qword [0x004c5758]
call fcn.00429b54
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x58], rbx
mov word [rsp + 0x48], bx
xor eax, eax
mov rcx, r14
lea rdi, [rsp + 0x650]
repne scasw ax, word [rdi]
not rcx
sub rcx, rsi
mov r8, rcx
lea rdx, [rsp + 0x650]
lea rcx, [rsp + 0x40]
call fcn.00404e54
nop
lea r8, [rsp + 0x40]
mov edx, 0x17
mov rcx, qword [0x004c5760]
call fcn.0040ff50
jmp 0x4344d9
lea rdx, str.Failed_last_resort_to_set_lang_to_ENU___no_resources
mov rcx, qword [0x004c5758]
call fcn.00429edc
mov r9d, 0x10
lea rdx, str.install.res.____.dll
mov r8, rdx
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
nop
cmp qword [rsp + 0x168], 8
jb 0x434457
mov rcx, qword [rsp + 0x150]
call fcn.00443d3c
mov qword [rsp + 0x168], r12
mov qword [rsp + 0x160], rbx
mov word [rsp + 0x150], bx
cmp qword [rsp + 0x190], 8
jb 0x434487
mov rcx, qword [rsp + 0x178]
call fcn.00443d3c
mov qword [rsp + 0x190], r12
mov qword [rsp + 0x188], rbx
mov word [rsp + 0x178], bx
cmp qword [rsp + 0x140], 8
jb 0x4344b7
mov rcx, qword [rsp + 0x128]
call fcn.00443d3c
mov qword [rsp + 0x140], r12
mov qword [rsp + 0x138], rbx
mov word [rsp + 0x128], bx
mov eax, 0x1fff
jmp 0x434dcd
mov qword [rsp + 0x1e0], r12
mov qword [rsp + 0x1d8], rbx
mov word [rsp + 0x1c8], bx
lea r8, [rsp + 0x1c0]
mov edx, 0x1d
mov rcx, qword [0x004c5760]
call fcn.00410024
lea r8, [rsp + 0x148]
mov edx, 0x17
mov rcx, qword [0x004c5760]
call fcn.00410024
lea r8, [rsp + 0x120]
lea rdx, [rsp + 0x148]
lea rcx, [rsp + 0x1c0]
call fcn.0040ea04
cmp eax, ebx
je 0x4345d1
lea rax, [rsp + 0x40]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x58], rbx
mov word [rsp + 0x48], bx
mov r8, rsi
lea rdx, [0x0049a2d0]
lea rcx, [rsp + 0x40]
call fcn.00404e54
nop
lea r8, [rsp + 0x40]
mov edx, 0x2d
mov rcx, qword [0x004c5760]
call fcn.0040ff50
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x58], rbx
mov word [rsp + 0x48], bx
mov r9, r14
xor r8d, r8d
lea rdx, [rsp + 0x120]
lea rcx, [rsp + 0x40]
call fcn.004020b0
nop
lea r8, [rsp + 0x40]
xor edx, edx
mov rcx, qword [0x004c5760]
call fcn.0040ff50
lea rax, [rsp + 0x40]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x58], rbx
mov word [rsp + 0x48], bx
mov r9, r14
xor r8d, r8d
lea rdx, [rsp + 0x120]
lea rcx, [rsp + 0x40]
call fcn.004020b0
nop
xor r9d, r9d
lea r8, [rsp + 0x40]
mov edx, esi
mov rcx, qword [0x004c5758]
call fcn.0043581c
mov qword [rsp + 0x88], r12
mov qword [rsp + 0x80], rbx
mov word [rsp + 0x70], bx
mov r8d, 8
lea rdx, str.RTL_True
lea rcx, [rsp + 0x68]
call fcn.00404e54
nop
mov edx, 0x125f
lea rcx, [rsp + 0x40]
call fcn.00452494
nop
lea r9, [rsp + 0x70]
cmp qword [rsp + 0x88], 8
cmovae r9, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x20], rcx
mov r8, qword [rax + 0x18]
xor edx, edx
mov rcx, rax
call fcn.00406604
cmp eax, ebx
sete dil
cmp qword [rsp + 0x60], 8
jb 0x43469d
mov rcx, qword [rsp + 0x48]
call fcn.00443d3c
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x58], rbx
mov word [rsp + 0x48], bx
cmp qword [rsp + 0x88], 8
jb 0x4346c1
mov rcx, qword [rsp + 0x70]
call fcn.00443d3c
mov qword [rsp + 0x88], r12
mov qword [rsp + 0x80], rbx
mov word [rsp + 0x70], bx
cmp dil, bl
je 0x434731
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0xd8], r12
mov qword [rsp + 0xd0], rbx
mov word [rsp + 0xc0], bx
mov r8, rsi
lea rdx, [0x0049a2d0]
lea rcx, [rsp + 0xb8]
call fcn.00404e54
nop
lea r8, [rsp + 0xb8]
mov edx, 0x2b
mov rcx, qword [0x004c5760]
call fcn.0040ff50
mov rcx, qword [0x004c5760]
call fcn.0041187c
call fcn.00434e04
mov edx, 0x1f
mov rcx, qword [0x004c5760]
call fcn.0041004c
cmp eax, ebx
je 0x4348d8
mov edx, 0x124c
lea rcx, [rsp + 0xe8]
call fcn.00452494
mov rdi, rax
mov edx, 0x124b
lea rcx, [rsp + 0xb8]
call fcn.00452494
nop
cmp qword [rdi + 0x20], 8
jb 0x434790
mov r8, qword [rdi + 8]
jmp 0x434794
lea r8, [rdi + 8]
cmp qword [rax + 0x20], 8
jb 0x4347a1
mov rdx, qword [rax + 8]
jmp 0x4347a5
lea rdx, [rax + 8]
xor r9d, r9d
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
nop
cmp qword [rsp + 0xd8], 8
jb 0x4347c9
mov rcx, qword [rsp + 0xc0]
call fcn.00443d3c
mov qword [rsp + 0xd8], r12
mov qword [rsp + 0xd0], rbx
mov word [rsp + 0xc0], bx
cmp qword [rsp + 0x108], 8
jb 0x4347f9
mov rcx, qword [rsp + 0xf0]
call fcn.00443d3c
mov qword [rsp + 0x108], r12
mov qword [rsp + 0x100], rbx
mov word [rsp + 0xf0], bx
cmp qword [rsp + 0x1e0], 8
jb 0x434829
mov rcx, qword [rsp + 0x1c8]
call fcn.00443d3c
mov qword [rsp + 0x1e0], r12
mov qword [rsp + 0x1d8], rbx
mov word [rsp + 0x1c8], bx
cmp qword [rsp + 0x168], 8
jb 0x434859
mov rcx, qword [rsp + 0x150]
call fcn.00443d3c
mov qword [rsp + 0x168], r12
mov qword [rsp + 0x160], rbx
mov word [rsp + 0x150], bx
cmp qword [rsp + 0x190], 8
jb 0x434889
mov rcx, qword [rsp + 0x178]
call fcn.00443d3c
mov qword [rsp + 0x190], r12
mov qword [rsp + 0x188], rbx
mov word [rsp + 0x178], bx
cmp qword [rsp + 0x140], 8
jb 0x4348b9
mov rcx, qword [rsp + 0x128]
call fcn.00443d3c
mov qword [rsp + 0x140], r12
mov qword [rsp + 0x138], rbx
mov word [rsp + 0x128], bx
xor eax, eax
jmp 0x434dcd
mov edx, 0xa
mov rcx, qword [0x004c5760]
call fcn.0041004c
cmp eax, esi
jne 0x434a8c
xor r8d, r8d
xor edx, edx
lea ecx, [rdx + 2]
call fcn.0040283c
cmp eax, esi
je 0x43490b
cmp eax, 2
jne 0x434a8c
mov edx, 0x22
mov rcx, qword [0x004c5760]
call fcn.0041004c
cmp eax, ebx
jne 0x434a87
mov edx, 0x124e
lea rcx, [rsp + 0x90]
call fcn.00452494
nop
lea r8, [rsp + 0x128]
cmp qword [rsp + 0x140], 8
cmovae r8, qword [rsp + 0x128]
cmp qword [rax + 0x20], 8
jb 0x43495e
mov rdx, qword [rax + 8]
jmp 0x434962
lea rdx, [rax + 8]
xor ecx, ecx
lea r9d, [rcx + 0x34]
call qword [sym.imp.USER32.dll_MessageBoxW]
mov edi, eax
cmp qword [rsp + 0xb0], 8
jb 0x434988
mov rcx, qword [rsp + 0x98]
call fcn.00443d3c
mov qword [rsp + 0xb0], r12
mov qword [rsp + 0xa8], rbx
mov word [rsp + 0x98], bx
cmp edi, 6
je 0x434a87
lea rdx, str.Darwin_not_present___user_declined
mov rcx, qword [0x004c5758]
call fcn.00429b54
nop
cmp qword [rsp + 0x1e0], 8
jb 0x4349d5
mov rcx, qword [rsp + 0x1c8]
call fcn.00443d3c
mov qword [rsp + 0x1e0], r12
mov qword [rsp + 0x1d8], rbx
mov word [rsp + 0x1c8], bx
cmp qword [rsp + 0x168], 8
jb 0x434a05
mov rcx, qword [rsp + 0x150]
call fcn.00443d3c
mov qword [rsp + 0x168], r12
mov qword [rsp + 0x160], rbx
mov word [rsp + 0x150], bx
cmp qword [rsp + 0x190], 8
jb 0x434a35
mov rcx, qword [rsp + 0x178]
call fcn.00443d3c
mov qword [rsp + 0x190], r12
mov qword [rsp + 0x188], rbx
mov word [rsp + 0x178], bx
cmp qword [rsp + 0x140], 8
jb 0x434a65
mov rcx, qword [rsp + 0x128]
call fcn.00443d3c
mov qword [rsp + 0x140], r12
mov qword [rsp + 0x138], rbx
mov word [rsp + 0x128], bx
mov eax, 0x1003
jmp 0x434dcd
call fcn.00402ab4
mov qword [rsp + 0x1b8], r12
mov qword [rsp + 0x1b0], rbx
mov word [rsp + 0x1a0], bx
xor r8d, r8d
lea rdx, [0x004998e4]
lea rcx, [rsp + 0x198]
call fcn.00404e54
nop
lea r8, [rsp + 0x198]
mov edx, esi
mov rcx, qword [0x004c5760]
call fcn.00410024
lea rcx, [rsp + 0x1a0]
cmp qword [rsp + 0x1b8], 8
cmovae rcx, qword [rsp + 0x1a0]
xor edx, edx
call fcn.00445770
cmp eax, ebx
je 0x434b86
mov ecx, 0x840
call fcn.004443a8
mov qword [rsp + 0x38], rax
cmp rax, rbx
je 0x434b6a
lea rcx, [rsp + 0x1a0]
cmp qword [rsp + 0x1b8], 8
cmovae rcx, qword [rsp + 0x1a0]
lea r8, [rsp + 0x1a0]
cmp qword [rsp + 0x1b8], 8
cmovae r8, qword [rsp + 0x1a0]
mov qword [rsp + 0x28], rcx
lea rcx, str.Could_not_find_the_msi__s
mov qword [rsp + 0x20], rcx
mov edx, 0x125a
mov r9d, 0x653
mov rcx, rax
call fcn.00401ebc
mov rbx, rax
mov qword [rsp + 0xe0], rbx
lea rdx, [0x004bc148]
lea rcx, [rsp + 0xe0]
call fcn.00449f60
lea rax, [rsp + 0x90]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0xb0], r12
mov qword [rsp + 0xa8], rbx
mov word [rsp + 0x98], bx
mov r9, r14
xor r8d, r8d
lea rdx, [rsp + 0x198]
lea rcx, [rsp + 0x90]
call fcn.004020b0
nop
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x1f0]
call fcn.0042a438
nop
mov rcx, qword [rsp + 0x1f0]
mov rax, qword [rcx]
lea r8, [rsp + 0x200]
lea rdx, [rsp + 0x1f8]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rsp + 0x1f0]
mov rax, qword [rcx]
lea rdx, [rsp + 0x438]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x1f0]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov edi, eax
mov r8d, eax
lea rdx, str.Process_returning_code__i
mov rcx, qword [0x004c5758]
call fcn.0042a050
lea r11, [rsp + 0x90]
mov qword [rsp + 0x38], r11
mov qword [rsp + 0xb0], r12
mov qword [rsp + 0xa8], rbx
mov word [rsp + 0x98], bx
mov r9, r14
xor r8d, r8d
lea rdx, [rsp + 0x120]
lea rcx, [rsp + 0x90]
call fcn.004020b0
nop
xor r9d, r9d
lea r8, [rsp + 0x90]
mov edx, esi
mov rcx, qword [0x004c5758]
call fcn.0043581c
nop
mov rcx, qword [rsp + 0x1f0]
cmp rcx, rbx
je 0x434ca7
mov rax, qword [rcx]
mov edx, esi
call qword [rax]
nop
lea rcx, [rsp + 0x438]
call fcn.0042a254
nop
lea rcx, [rsp + 0x1f8]
call fcn.0040755c
nop
cmp qword [rsp + 0x1b8], 8
jb 0x434cdb
mov rcx, qword [rsp + 0x1a0]
call fcn.00443d3c
mov qword [rsp + 0x1b8], r12
mov qword [rsp + 0x1b0], rbx
mov word [rsp + 0x1a0], bx
cmp qword [rsp + 0x1e0], 8
jb 0x434d0b
mov rcx, qword [rsp + 0x1c8]
call fcn.00443d3c
mov qword [rsp + 0x1e0], r12
mov qword [rsp + 0x1d8], rbx
mov word [rsp + 0x1c8], bx
cmp qword [rsp + 0x168], 8
jb 0x434d3b
mov rcx, qword [rsp + 0x150]
call fcn.00443d3c
mov qword [rsp + 0x168], r12
mov qword [rsp + 0x160], rbx
mov word [rsp + 0x150], bx
cmp qword [rsp + 0x190], 8
jb 0x434d6b
mov rcx, qword [rsp + 0x178]
call fcn.00443d3c
mov qword [rsp + 0x190], r12
mov qword [rsp + 0x188], rbx
mov word [rsp + 0x178], bx
cmp qword [rsp + 0x140], 8
jb 0x434d9b
mov rcx, qword [rsp + 0x128]
call fcn.00443d3c
mov qword [rsp + 0x140], r12
mov qword [rsp + 0x138], rbx
mov word [rsp + 0x128], bx
mov eax, edi
jmp 0x434dcd
mov rcx, qword [rsp + 0x860]
xor rcx, rsp
call fcn.00443d60
lea r11, [rsp + 0x870]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop r13
pop r12
ret