Function at 0x78fd20
Capabilities:
Identify system language via api

Disassembly:
push rbp
push rsi
push rbx
sub rsp, 0x320
mov rbp, rsp
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x38], 0
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x50], 0
mov qword [rbp + 0x58], 0
mov qword [rbp + 0x60], 0
mov qword [rbp + 0x318], 0
mov qword [rbp + 0x68], rbp
lea rcx, [rbp + 0x90]
mov rdx, qword [0x0042d790]
call fcn.004140b0
nop
mov rax, qword [0x008084c0]
mov rax, qword [rax + 0x7f0]
mov rax, qword [rax + 0x508]
mov rcx, rax
mov rbx, qword [rax]
call qword [rbx + 0x90]
lea rcx, [rbp + 0x60]
mov rdx, qword [0x00808558]
lea r8, [0x00790410]
call fcn.004139c0
mov rcx, qword [rbp + 0x60]
mov edx, 0x1ff
lea r8, [rbp + 0x90]
call fcn.0043b780
test eax, eax
jne 0x78fe58
mov rax, qword [rbp + 0xa8]
mov qword [rbp + 0x80], rax
mov dword [rbp + 0x7c], 0
mov rax, qword [rbp + 0x80]
test rax, rax
je 0x78fdfc
mov eax, dword [rax - 4]
mov dword [rbp + 0x7c], eax
lea rcx, [rbp + 0x58]
mov rdx, qword [rbp + 0xa8]
mov r8d, 1
mov r9d, dword [rbp + 0x7c]
sub r9d, 6
call fcn.00413b80
mov rax, qword [0x008084c0]
mov rax, qword [rax + 0x7f0]
mov rax, qword [rax + 0x508]
mov rcx, rax
mov rdx, qword [rbp + 0x58]
mov rax, qword [rax]
call qword [rax + 0x78]
lea rcx, [rbp + 0x90]
call fcn.0043b7e0
test eax, eax
je 0x78fdd5
lea rcx, [rbp + 0x90]
call fcn.0043b810
mov rax, qword [0x008084c0]
mov rax, qword [rax + 0x7f0]
mov rax, qword [rax + 0x508]
mov rcx, rax
mov rax, qword [rax]
call qword [rax + 0x28]
test eax, eax
jne 0x78fe90
mov rcx, qword [0x00808508]
call fcn.0040ee90
mov ecx, 4
call fcn.00787860
mov rax, qword [0x008084c0]
mov rax, qword [rax + 0x7f0]
mov rax, qword [rax + 0x508]
mov rcx, rax
mov rax, qword [rax]
call qword [rax + 0x28]
cmp eax, 1
jne 0x78fed4
mov rax, qword [0x008084c0]
mov rax, qword [rax + 0x7f0]
mov rcx, rax
xor edx, edx
mov rbx, qword [rax]
call qword [rbx + 0x2a8]
jmp 0x79033f
mov rcx, qword [0x00808508]
lea rdx, [rbp + 0x318]
lea r8, [0x00790430]
lea r9, [0x00790448]
lea rax, [0x00790468]
mov qword [rsp + 0x20], rax
mov rax, qword [0x00808508]
mov rbx, qword [rax]
call qword [rbx + 0x10]
lea rcx, [0x00790484]
call fcn.0075c7f0
test ax, ax
jbe 0x78ff45
lea rcx, [0x00790484]
call fcn.0075c7f0
lea rcx, [rbp + 0x50]
movzx edx, ax
add edx, 1
call fcn.00409ba0
lea rcx, [rbp + 0x318]
mov rdx, qword [rbp + 0x50]
call fcn.00439520
mov rax, qword [0x008084c0]
mov rax, qword [rax + 0x7f0]
mov rax, qword [rax + 0x508]
mov rcx, rax
mov rax, qword [rax]
call qword [rax + 0x28]
xor ecx, ecx
mov ebx, eax
sub ebx, 1
mov dword [rbp + 0x314], ecx
cmp dword [rbp + 0x314], ebx
jg 0x78fff2
sub ebx, ecx
add ebx, 1
mov rax, qword [0x008084c0]
mov rax, qword [rax + 0x7f0]
mov rax, qword [rax + 0x508]
mov rcx, rax
lea rdx, [rbp + 0x48]
mov r8d, dword [rbp + 0x314]
mov rsi, qword [rax]
call qword [rsi + 0x18]
mov rax, qword [rbp + 0x48]
mov qword [rbp + 0x70], rax
mov rcx, qword [rbp + 0x70]
mov rdx, qword [rbp + 0x318]
call fcn.004391a0
test eax, eax
jne 0x78ffe4
mov rax, qword [0x008084c0]
mov rax, qword [rax + 0x7f0]
mov rcx, rax
mov edx, dword [rbp + 0x314]
mov rbx, qword [rax]
call qword [rbx + 0x2a8]
jmp 0x78fff2
add dword [rbp + 0x314], 1
sub ebx, 1
test ebx, ebx
jne 0x78ff7d
nop
lea rcx, [0x0079049c]
call fcn.0075ca80
test al, al
je 0x790091
nop
mov rax, qword [0x008084c0]
mov rcx, qword [rax + 0x7f0]
lea rdx, [rbp + 0x318]
call fcn.005f3140
mov rax, qword [0x008084c0]
mov rax, qword [rax + 0x7f0]
mov rax, qword [rax + 0x508]
mov rcx, rax
mov rbx, qword [rax]
call qword [rbx + 0x90]
mov rax, qword [0x008084c0]
mov rax, qword [rax + 0x7f0]
mov rax, qword [rax + 0x508]
mov rcx, rax
mov rdx, qword [rbp + 0x318]
mov rax, qword [rax]
call qword [rax + 0x78]
mov rax, qword [0x008084c0]
mov rax, qword [rax + 0x7f0]
mov rcx, rax
xor edx, edx
mov rbx, qword [rax]
call qword [rbx + 0x2a8]
jmp 0x79033f
mov rcx, qword [0x00808508]
lea rdx, [0x00790430]
lea r8, [0x007904bc]
xor r9, r9
mov rax, qword [0x00808508]
mov rax, qword [rax]
call qword [rax + 0x40]
test al, al
je 0x79033e
mov rcx, qword [0x00808508]
lea rdx, [0x00790430]
lea r8, [0x007904f0]
xor r9, r9
mov rax, qword [0x00808508]
mov rax, qword [rax]
call qword [rax + 0x20]
sub eax, 1
cmp eax, 0xffffffff
je 0x7900ff
test eax, eax
je 0x79010d
sub eax, 1
test eax, eax
je 0x79011b
sub eax, 1
test eax, eax
jne 0x790135
jmp 0x790129
call sub.kernel32.dll_GetUserDefaultUILanguage
mov word [rbp + 0x312], ax
jmp 0x790135
call sub.kernel32.dll_GetSystemDefaultLangID
mov word [rbp + 0x312], ax
jmp 0x790135
call sub.kernel32.dll_GetSystemDefaultUILanguage
mov word [rbp + 0x312], ax
jmp 0x790135
call sub.kernel32.dll_GetUserDefaultLangID
mov word [rbp + 0x312], ax
mov rax, qword [0x008084c0]
mov rax, qword [rax + 0x7f0]
mov rax, qword [rax + 0x508]
mov rcx, rax
mov rax, qword [rax]
call qword [rax + 0x28]
xor ecx, ecx
sub eax, 1
mov dword [rbp + 0x34], eax
mov dword [rbp + 0x314], ecx
mov eax, dword [rbp + 0x34]
cmp dword [rbp + 0x314], eax
jg 0x79033d
mov eax, dword [rbp + 0x34]
sub eax, ecx
add eax, 1
mov dword [rbp + 0x34], eax
nop
mov rax, qword [0x008084c0]
mov rax, qword [rax + 0x7f0]
mov rax, qword [rax + 0x508]
mov rcx, rax
lea rdx, [rbp + 0x38]
mov r8d, dword [rbp + 0x314]
mov rbx, qword [rax]
call qword [rbx + 0x18]
lea rcx, [rbp + 0x40]
mov edx, 4
mov r8, qword [0x00808558]
lea r9, [0x00790518]
mov rax, qword [rbp + 0x38]
mov qword [rsp + 0x20], rax
lea rax, [0x00790528]
mov qword [rsp + 0x28], rax
call fcn.00413af0
mov rcx, qword [0x00590fb0]
mov dl, 1
mov r8, qword [rbp + 0x40]
call fcn.00596370
mov qword [0x00808510], rax
mov rcx, qword [0x00808510]
lea rdx, [0x00790544]
lea r8, [0x0079055c]
xor r9, r9
mov rax, qword [0x00808510]
mov rax, qword [rax]
call qword [rax + 0x20]
movzx ecx, word [rbp + 0x312]
cmp eax, ecx
jne 0x79030c
mov rax, qword [0x008084c0]
mov rax, qword [rax + 0x7f0]
mov rcx, rax
mov edx, dword [rbp + 0x314]
mov rbx, qword [rax]
call qword [rbx + 0x2a8]
mov rcx, qword [0x00808510]
call fcn.0040ee90
mov rcx, qword [0x00808508]
lea rdx, [0x00790430]
lea r8, [0x00790570]
xor r9, r9
mov rax, qword [0x00808508]
mov rax, qword [rax]
call qword [rax + 0x40]
test al, al
je 0x79033d
mov rax, qword [0x008084c0]
mov rax, qword [rax + 0x7f0]
mov rax, qword [rax + 0x508]
mov rcx, rax
lea rdx, [rbp + 0x318]
mov r8d, dword [rbp + 0x314]
mov rbx, qword [rax]
call qword [rbx + 0x18]
mov rax, qword [0x008084c0]
mov rax, qword [rax + 0x7f0]
mov rax, qword [rax + 0x508]
mov rcx, rax
mov rbx, qword [rax]
call qword [rbx + 0x90]
mov rax, qword [0x008084c0]
mov rax, qword [rax + 0x7f0]
mov rax, qword [rax + 0x508]
mov rcx, rax
mov rdx, qword [rbp + 0x318]
mov rax, qword [rax]
call qword [rax + 0x78]
mov rax, qword [0x008084c0]
mov rax, qword [rax + 0x7f0]
mov rcx, rax
xor edx, edx
mov rbx, qword [rax]
call qword [rbx + 0x2a8]
jmp 0x79033d
mov rcx, qword [0x00808510]
call fcn.0040ee90
jmp 0x790322
add dword [rbp + 0x314], 1
mov eax, dword [rbp + 0x34]
sub eax, 1
mov dword [rbp + 0x34], eax
mov eax, dword [rbp + 0x34]
test eax, eax
jne 0x79017b
nop
nop
lea rcx, [rbp + 0x38]
mov edx, 4
call fcn.00412160
lea rcx, [rbp + 0x58]
call fcn.00412080
lea rcx, [rbp + 0x60]
call fcn.00412080
lea rcx, [rbp + 0x90]
mov rdx, qword [0x0042d790]
call fcn.00414590
lea rcx, [rbp + 0x318]
call fcn.00412080
lea rsp, [rbp + 0x320]
pop rbx
pop rsi
pop rbp
ret