Function at 0x140020b38
Capabilities:
Get geographical location
Identify system language via api

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x3d8]
sub rsp, 0x4b0
mov rax, qword [0x140035078]
xor rax, rsp
mov qword [rbp + 0x3a0], rax
xor ebx, ebx
movzx r14d, r8w
mov qword [rsp + 0x30], rbx
call fcn.14002058c
mov dword [0x1400359e8], eax
lea rcx, str.Setup.exe
and eax, 0x20
xor edx, edx
or eax, 2
mov edi, ebx
mov r8d, eax
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
nop dword [rax + rax]
mov rsi, rax
test rax, rax
je 0x140021075
test byte [0x1400359e8], 0x20
jne 0x140021077
lea rax, [rsp + 0x30]
mov r9d, 0x104
mov qword [rsp + 0x28], rax
lea rdx, str.Setup.exe
lea rax, [rbp + 0x190]
xor r8d, r8d
xor ecx, ecx
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_SearchPathW]
nop dword [rax + rax]
test eax, eax
je 0x140021066
mov rax, qword [rsp + 0x30]
test rax, rax
jne 0x140020c15
lea rax, [rbp + 0x190]
mov r15d, ebx
mov qword [rsp + 0x30], rax
jmp 0x140020c20
lea r15, [rbp + 0x190]
mov word [rax - 2], bx
xor r9d, r9d
lea rdx, [0x14002fb38]
mov rcx, rsi
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_FindResourceExW]
nop dword [rax + rax]
test rax, rax
je 0x140020ec3
test r14w, r14w
jne 0x140020fe9
mov eax, dword [0x1400359e8]
test al, 4
je 0x140020f26
call qword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
nop dword [rax + rax]
mov r12d, 0x404
mov r13d, 0xc04
movzx r14d, ax
cmp ax, r12w
jne 0x140020ccf
mov r9d, 0x20
lea r8, [rbp + 0x150]
mov ecx, r12d
mov r14d, r13d
lea edx, [r9 - 0x18]
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
nop dword [rax + rax]
test eax, eax
je 0x140020ccf
mov r8d, 3
lea rdx, [0x14002fba4]
lea rcx, [rbp + 0x150]
call qword [sym.imp.msvcrt.dll_wcsncmp]
nop dword [rax + rax]
test eax, eax
je 0x140020ccf
movzx r14d, r12w
lea r9, [rbp - 0x10]
movzx ecx, r14w
lea r8, [rbp + 0xa0]
lea rdx, [rsp + 0x40]
call fcn.140020ac0
test eax, eax
je 0x140020eba
mov r9, qword [rsp + 0x30]
test r9, r9
je 0x140020d14
lea r8, [rsp + 0x40]
mov rdx, r15
mov rcx, rsi
call fcn.140020804
mov r9, qword [rsp + 0x30]
mov rdi, rax
jmp 0x140020d17
mov rdi, rbx
test rdi, rdi
jne 0x140020e3d
test r9, r9
je 0x140020d41
lea r8, [rbp + 0xa0]
mov rdx, r15
mov rcx, rsi
call fcn.140020804
mov r9, qword [rsp + 0x30]
mov rdi, rax
jmp 0x140020d44
mov rdi, rbx
test rdi, rdi
jne 0x140020e3d
cmp word [rbp - 0x10], bx
je 0x140020d78
test r9, r9
je 0x140020d6c
lea r8, [rbp - 0x10]
mov rdx, r15
mov rcx, rsi
call fcn.140020804
mov rdi, rax
jmp 0x140020d6f
mov rdi, rbx
test rdi, rdi
jne 0x140020e3d
cmp r14w, r13w
je 0x140020ccb
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
nop dword [rax + rax]
movzx r12d, ax
cmp ax, r14w
je 0x140020e54
lea r9, [rbp - 0x10]
movzx ecx, ax
lea r8, [rbp + 0xa0]
lea rdx, [rsp + 0x40]
call fcn.140020ac0
test eax, eax
je 0x140020ec3
mov r9, qword [rsp + 0x30]
test r9, r9
je 0x140020de0
lea r8, [rsp + 0x40]
mov rdx, r15
mov rcx, rsi
call fcn.140020804
mov r9, qword [rsp + 0x30]
mov rdi, rax
jmp 0x140020de3
mov rdi, rbx
test rdi, rdi
jne 0x140020e3d
test r9, r9
je 0x140020e09
lea r8, [rbp + 0xa0]
mov rdx, r15
mov rcx, rsi
call fcn.140020804
mov r9, qword [rsp + 0x30]
mov rdi, rax
jmp 0x140020e0c
mov rdi, rbx
test rdi, rdi
jne 0x140020e3d
cmp word [rbp - 0x10], bx
je 0x140020e59
test r9, r9
je 0x140020e35
lea r8, [rbp - 0x10]
mov rdx, r15
mov rcx, rsi
call fcn.140020804
mov r9, qword [rsp + 0x30]
mov rdi, rax
jmp 0x140020e38
mov rdi, rbx
test rdi, rdi
je 0x140020e59
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
mov rax, rdi
jmp 0x140021077
mov r9, qword [rsp + 0x30]
mov ecx, 0x409
cmp cx, r14w
je 0x140020eaa
cmp cx, r12w
je 0x140020eaa
xor r9d, r9d
lea r8, [rbp + 0xa0]
lea rdx, [rsp + 0x40]
call fcn.140020ac0
mov r9, qword [rsp + 0x30]
test r9, r9
je 0x140020ea2
lea r8, [rsp + 0x40]
mov rdx, r15
mov rcx, rsi
call fcn.140020804
mov r9, qword [rsp + 0x30]
mov rdi, rax
jmp 0x140020ea5
mov rdi, rbx
test rdi, rdi
jne 0x140020e3d
test r9, r9
je 0x140020eb7
xor r8d, r8d
jmp 0x140021029
mov rdi, rbx
test rdi, rdi
jne 0x140020e3d
test sil, 1
je 0x140021061
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
call fcn.14002058c
test al, 0x38
je 0x14002103c
mov rax, qword [rsp + 0x30]
lea r8, [0x140029ad0]
mov r9, r15
mov qword [rsp + 0x20], rax
mov edx, 0x104
lea rcx, [rbp + 0x190]
call fcn.1400185a4
xor r8d, r8d
lea rcx, [rbp + 0x190]
lea edx, [r8 + 1]
call fcn.14002049c
jmp 0x14002105e
test al, 3
je 0x140020ec3
call fcn.140020878
lea r9, [rbp - 0x10]
movzx ecx, ax
lea r8, [rbp + 0xa0]
movzx r14d, ax
lea rdx, [rsp + 0x40]
call fcn.140020ac0
test eax, eax
je 0x140020ec3
mov r9, qword [rsp + 0x30]
test r9, r9
je 0x140020f75
lea r8, [rsp + 0x40]
mov rdx, r15
mov rcx, rsi
call fcn.140020804
mov r9, qword [rsp + 0x30]
mov rdi, rax
test rdi, rdi
jne 0x140020e3d
test r9, r9
je 0x140020f9f
lea r8, [rbp + 0xa0]
mov rdx, r15
mov rcx, rsi
call fcn.140020804
mov r9, qword [rsp + 0x30]
mov rdi, rax
jmp 0x140020fa2
mov rdi, rbx
test rdi, rdi
jne 0x140020e3d
cmp word [rbp - 0x10], bx
je 0x140020fdb
test r9, r9
je 0x140020fcf
lea r8, [rbp - 0x10]
mov rdx, r15
mov rcx, rsi
call fcn.140020804
mov r9, qword [rsp + 0x30]
mov rdi, rax
jmp 0x140020fd2
mov rdi, rbx
test rdi, rdi
jne 0x140020e3d
mov ecx, 0x409
cmp cx, r14w
jmp 0x140020e68
test byte [0x1400359e8], 7
je 0x140020ec3
xor r9d, r9d
lea r8, [rbp + 0xa0]
lea rdx, [rsp + 0x40]
movzx ecx, r14w
call fcn.140020ac0
test eax, eax
je 0x140020ec3
mov r9, qword [rsp + 0x30]
test r9, r9
je 0x140020eba
lea r8, [rsp + 0x40]
mov rdx, r15
mov rcx, rsi
call fcn.140020804
mov rdi, rax
jmp 0x140020eba
call fcn.14002058c
test al, 0x26
lea rcx, str.Setup.exe
setne bl
xor edx, edx
mov r8d, ebx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
nop dword [rax + rax]
mov rsi, rax
mov rax, rsi
jmp 0x140021077
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
xor eax, eax
mov rcx, qword [rbp + 0x3a0]
xor rcx, rsp
call fcn.140023d70
lea r11, [rsp + 0x4b0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret