Function at 0x140003e00
Capabilities:
Identify system language via api
Terminate process

Disassembly:
sub rsp, 0x2d8
mov dword [rsp + 0x2d4], ecx
lea rcx, [0x140008419]
call qword [sym.imp.kernel32.dll_GetModuleHandleA]
mov qword [rsp + 0x58], rax
mov word [rsp + 0x70], 0
lea rdx, [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
mov r8d, 0x104
call qword [sym.imp.kernel32.dll_GetModuleFileNameW]
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x50], 0
jne 0x140003eb3
jmp 0x140003e51
movzx eax, byte [section..data]
and eax, 2
cmp eax, 0
je 0x140003ea9
lea rax, section..data
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x44], 1
mov rax, qword gs:[0x30]
mov ecx, dword [rax + 0x68]
mov rax, rsp
mov dword [rax + 0x20], ecx
lea rdx, section..data
lea r8, str.ShowUsage
lea r9, str.GetModuleFileName_failed:__ld_n
mov ecx, 1
call sym.wine_dbg_log
jmp 0x140003eae
jmp 0x140003eb3
mov dword [rsp + 0x54], 0x28
mov word [rsp + 0x280], 0
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x70]
lea r8, [rsp + 0x54]
xor eax, eax
mov r9d, eax
mov qword [rsp + 0x20], 0
call sub.msi.dll_MsiGetFileVersionW
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x50], 0
je 0x140003f58
jmp 0x140003efe
movzx eax, byte [section..data]
and eax, 2
cmp eax, 0
je 0x140003f4e
lea rax, section..data
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x34], 1
mov ecx, dword [rsp + 0x50]
mov rax, rsp
mov dword [rax + 0x20], ecx
lea rdx, section..data
lea r8, str.ShowUsage
lea r9, str.MsiGetFileVersion_failed_with__ld_n
mov ecx, 1
call sym.wine_dbg_log
jmp 0x140003f53
jmp 0x140003f58
mov rcx, qword [rsp + 0x58]
mov rax, qword [sym.imp.user32.dll_LoadStringW]
mov edx, 0xa
lea r8, [rsp + 0x68]
xor r9d, r9d
mov dword [rsp + 0x30], r9d
call rax
mov edx, dword [rsp + 0x30]
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x54]
inc eax
mov r8d, eax
add r8, r8
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
mov rcx, qword [rax + 0x30]
mov rax, qword [sym.imp.kernel32.dll_HeapAlloc]
call rax
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0x54]
inc eax
lea r8, [rax + rax + 0x50]
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
mov rcx, qword [rax + 0x30]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
mov qword [rsp + 0x60], rax
cmp qword [rsp + 0x68], 0
je 0x140004062
cmp qword [rsp + 0x60], 0
je 0x140004062
mov rax, qword [rsp + 0x68]
mov word [rax], 0
mov r9d, dword [rsp + 0x54]
add r9d, 1
mov r8, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x58]
mov edx, 0xa
call qword [sym.imp.user32.dll_LoadStringW]
lea r9, [rsp + 0x280]
mov r8, qword [rsp + 0x68]
mov eax, dword [rsp + 0x54]
add eax, 1
mov eax, eax
mov edx, eax
add rdx, 0x28
mov rcx, qword [rsp + 0x60]
call sym.swprintf
call qword [sym.imp.kernel32.dll_GetUserDefaultLangID]
mov rdx, qword [rsp + 0x60]
xor ecx, ecx
mov r8d, ecx
xor r9d, r9d
mov rcx, r8
mov word [rsp + 0x20], ax
mov dword [rsp + 0x28], 0
call sub.msi.dll_MsiMessageBoxW
mov r8, qword [rsp + 0x68]
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
mov rcx, qword [rax + 0x30]
mov rax, qword [sym.imp.kernel32.dll_HeapFree]
xor edx, edx
call rax
mov r8, qword [rsp + 0x60]
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
mov rcx, qword [rax + 0x30]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [rsp + 0x2d4]
call qword [sym.imp.kernel32.dll_ExitProcess]