Function at 0x180001620
Capabilities:
Identify system language via api

Disassembly:
mov dword [rsp + 8], ecx
sub rsp, 0x88
mov dword [rsp + 0x24], 0x1055
mov dword [rsp + 0x2c], 0x13f04
mov dword [rsp + 0x28], 0x17d5a
mov dword [rsp + 0x20], 0x9096
mov eax, dword [rsp + 0x28]
mov ecx, dword [rsp + 0x24]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x20], eax
xor edx, edx
mov eax, 0x7611
div dword [rsp + 0x2c]
mov eax, edx
mov ecx, dword [rsp + 0x28]
or ecx, eax
mov eax, ecx
mov dword [rsp + 0x20], eax
mov eax, dword [0x18001c9f0]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0x2964
je 0x18000225f
cmp dword [rsp + 0x30], 0xec8d
je 0x1800017e0
cmp dword [rsp + 0x30], 0x106f5
je 0x1800016c2
cmp dword [rsp + 0x30], 0x145c4
je 0x180001953
jmp 0x180002388
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x20], eax
xor edx, edx
mov eax, dword [rsp + 0x2c]
div dword [rsp + 0x28]
mov eax, edx
mov ecx, dword [rsp + 0x2c]
sub ecx, eax
mov eax, ecx
sub eax, dword [rsp + 0x28]
sub eax, dword [rsp + 0x24]
mov ecx, dword [rsp + 0x24]
and ecx, eax
mov eax, ecx
mov dword [rsp + 0x90], eax
call fcn.1800041f0
mov dword [rsp + 0x90], eax
mov eax, dword [rsp + 0x24]
mov ecx, dword [rsp + 0x90]
add ecx, eax
mov eax, ecx
imul ecx, dword [rsp + 0x2c], 0x1b08
mov edx, dword [rsp + 0x2c]
sub edx, ecx
mov ecx, edx
shl eax, cl
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x20]
imul eax, dword [rsp + 0x20]
add eax, dword [rsp + 0x28]
or eax, dword [rsp + 0x2c]
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x90]
mov ecx, dword [rsp + 0x2c]
sub ecx, eax
mov eax, ecx
imul ecx, dword [rsp + 0x90], 0xca62
sub eax, ecx
mov dword [rsp + 0x90], eax
mov eax, dword [rsp + 0x2c]
imul eax, dword [rsp + 0x90]
add eax, dword [rsp + 0x28]
mov dword [0x18001c9f8], eax
mov r9d, dword [rsp + 0x20]
mov r8d, dword [rsp + 0x20]
mov edx, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x24]
call fcn.180002b00
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x24]
mov ecx, dword [rsp + 0x90]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x20]
mov edx, dword [rsp + 0x90]
sub edx, ecx
mov ecx, edx
shr eax, cl
mov dword [rsp + 0x28], eax
xor edx, edx
mov eax, dword [rsp + 0x20]
div dword [rsp + 0x20]
sub eax, dword [rsp + 0x20]
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x24]
imul eax, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x90]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x2c], eax
mov eax, dword [0x18001ca0c]
mov dword [rsp + 0x34], eax
jmp 0x1800017f6
mov eax, dword [rsp + 0x34]
inc eax
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x20]
cmp dword [rsp + 0x34], eax
jne 0x180001953
mov eax, dword [rsp + 0x2c]
mov dword [0x18001ca04], eax
xor edx, edx
mov eax, dword [rsp + 0x2c]
div dword [rsp + 0x20]
mov ecx, dword [rsp + 0x90]
imul ecx, dword [rsp + 0x2c]
add eax, ecx
movzx ecx, al
mov eax, dword [rsp + 0x20]
shl eax, cl
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x38], eax
jmp 0x180001847
mov eax, dword [rsp + 0x38]
dec eax
mov dword [rsp + 0x38], eax
mov eax, dword [0x18001ca18]
cmp dword [rsp + 0x38], eax
jne 0x18000193b
imul eax, dword [rsp + 0x20], 0xb8c4
imul eax, dword [rsp + 0x24]
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x24]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x44], eax
xor edx, edx
mov eax, 0xf133
div dword [rsp + 0x28]
mov eax, edx
movzx ecx, al
mov eax, dword [rsp + 0x44]
shl eax, cl
mov dword [rsp + 0x90], eax
mov eax, dword [rsp + 0x24]
mov ecx, dword [rsp + 0x24]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x48], eax
xor edx, edx
mov eax, dword [rsp + 0x24]
mov ecx, 0x139a2
div ecx
mov eax, edx
mov ecx, dword [rsp + 0x48]
add ecx, eax
mov eax, ecx
sub eax, dword [rsp + 0x24]
add eax, dword [rsp + 0x20]
mov dword [rsp + 0x20], eax
xor edx, edx
mov eax, dword [rsp + 0x90]
div dword [rsp + 0x2c]
mov eax, edx
xor edx, edx
div dword [rsp + 0x2c]
sub eax, dword [rsp + 0x90]
add eax, dword [rsp + 0x2c]
movzx ecx, al
mov eax, dword [rsp + 0x28]
shr eax, cl
mov dword [rsp + 0x20], eax
xor edx, edx
mov eax, dword [rsp + 0x20]
div dword [rsp + 0x90]
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x28]
imul eax, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x20]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x2c], eax
xor edx, edx
mov eax, dword [rsp + 0x28]
div dword [rsp + 0x90]
mov eax, edx
mov ecx, dword [rsp + 0x28]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x28], eax
jmp 0x18000183d
mov eax, dword [rsp + 0x90]
cmp dword [0x18001ca00], eax
jne 0x180001804
jmp 0x1800017ec
mov r8d, dword [rsp + 0x24]
mov edx, dword [rsp + 0x28]
mov ecx, dword [rsp + 0x90]
call fcn.180003690
cmp eax, dword [0x18001ca14]
jne 0x1800021e7
mov eax, dword [0x18001ca10]
cmp dword [rsp + 0x90], eax
jge 0x1800021e7
call fcn.1800041f0
cmp eax, dword [0x18001c9fc]
jne 0x1800019cb
mov r8d, dword [rsp + 0x24]
mov edx, dword [rsp + 0x28]
mov ecx, dword [rsp + 0x2c]
call qword [sym.imp.GDI32.dll_GdiComment]
cmp eax, dword [0x18001c9f4]
jae 0x1800019bb
mov eax, dword [0x18001c9f0]
cmp dword [rsp + 0x2c], eax
ja 0x1800019cb
mov eax, dword [0x18001ca08]
cmp dword [rsp + 0x20], eax
jb 0x180001adf
xor edx, edx
mov eax, dword [rsp + 0x24]
div dword [rsp + 0x90]
mov dword [rsp + 0x90], eax
mov eax, dword [rsp + 0x28]
add eax, 0xecec
mov ecx, dword [rsp + 0x24]
shl eax, cl
mov dword [0x18001ca04], eax
mov edx, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x24]
call qword [sym.imp.KERNEL32.dll_AssignProcessToJobObject]
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x24]
mov dword [0x18001c9f0], eax
mov eax, dword [rsp + 0x24]
add eax, 0x66a0
imul ecx, dword [rsp + 0x24], 0x1454e
sub eax, ecx
mov dword [rsp + 0x4c], eax
xor edx, edx
mov eax, dword [rsp + 0x2c]
div dword [rsp + 0x2c]
mov eax, edx
movzx ecx, al
mov eax, dword [rsp + 0x4c]
shr eax, cl
mov dword [rsp + 0x90], eax
xor edx, edx
mov eax, 0xb8c1
div dword [rsp + 0x20]
mov eax, edx
xor edx, edx
div dword [rsp + 0x28]
mov eax, edx
add eax, dword [rsp + 0x20]
add eax, dword [rsp + 0x24]
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x20]
imul eax, dword [rsp + 0x24]
mov ecx, dword [rsp + 0x2c]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28]
imul eax, dword [rsp + 0x90]
mov ecx, dword [rsp + 0x28]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x50], eax
xor edx, edx
mov eax, dword [rsp + 0x24]
div dword [rsp + 0x90]
mov eax, edx
add eax, dword [rsp + 0x20]
movzx ecx, al
mov eax, dword [rsp + 0x50]
shl eax, cl
mov dword [rsp + 0x90], eax
mov eax, dword [rsp + 0x90]
mov ecx, dword [rsp + 0x20]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x2c]
imul ecx, dword [rsp + 0x2c]
sub eax, ecx
mov dword [rsp + 0x24], eax
jmp 0x1800021e5
mov eax, dword [0x18001ca18]
cmp dword [rsp + 0x28], eax
jne 0x180001bd0
mov eax, dword [rsp + 0x28]
mov ecx, dword [rsp + 0x28]
add ecx, eax
mov eax, ecx
movzx ecx, al
mov eax, dword [rsp + 0x90]
sar eax, cl
mov dword [0x18001c9f0], eax
mov eax, dword [rsp + 0x90]
imul eax, dword [rsp + 0x24]
mov ecx, dword [rsp + 0x28]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x24]
mov edx, dword [rsp + 0x2c]
add edx, ecx
mov ecx, edx
sub ecx, dword [rsp + 0x90]
or eax, ecx
mov dword [rsp + 0x90], eax
mov eax, dword [rsp + 0x90]
movzx ecx, al
mov eax, dword [rsp + 0x28]
shl eax, cl
mov dword [rsp + 0x58], eax
mov ecx, dword [rsp + 0x24]
mov edx, dword [rsp + 0x24]
shl edx, cl
mov ecx, edx
mov dword [rsp + 0x54], ecx
mov eax, dword [rsp + 0x90]
cdq
idiv dword [rsp + 0x90]
movzx ecx, al
mov eax, dword [rsp + 0x54]
shr eax, cl
mov ecx, dword [rsp + 0x58]
and ecx, eax
mov eax, ecx
mov dword [rsp + 0x28], eax
mov eax, dword [0x18001c9f8]
cmp dword [rsp + 0x24], eax
jbe 0x180001aef
mov eax, dword [rsp + 0x90]
mov ecx, dword [rsp + 0x90]
lea eax, [rax + rcx + 0x65e2]
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x90]
cdq
mov ecx, 0x87c4
idiv ecx
mov eax, edx
mov ecx, dword [rsp + 0x5c]
and ecx, eax
mov eax, ecx
mov dword [rsp + 0x28], eax
jmp 0x1800021e5
xor edx, edx
mov eax, 0x19ff
div dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x20]
shl eax, cl
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x28], eax
xor edx, edx
mov eax, dword [rsp + 0x20]
div dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x28]
imul ecx, dword [rsp + 0x24]
and eax, ecx
mov ecx, dword [rsp + 0x90]
or ecx, eax
mov eax, ecx
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x28]
mov ecx, dword [rsp + 0x90]
sub ecx, eax
mov eax, ecx
sub eax, dword [rsp + 0x24]
add eax, dword [rsp + 0x20]
and eax, 0x10c48
mov dword [0x18001c9f4], eax
xor edx, edx
mov eax, dword [rsp + 0x20]
div dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x20]
mov edx, dword [rsp + 0x24]
add edx, ecx
mov ecx, edx
shr ecx, 0x6e
and eax, ecx
and eax, 0x11e2a
mov dword [0x18001ca10], eax
mov r9d, dword [rsp + 0x28]
mov r8d, dword [rsp + 0x28]
mov edx, dword [rsp + 0x90]
mov ecx, dword [rsp + 0x20]
call fcn.180001480
xor edx, edx
mov eax, dword [rsp + 0x24]
div dword [rsp + 0x28]
mov eax, edx
xor edx, edx
div dword [rsp + 0x28]
xor edx, edx
div dword [rsp + 0x2c]
add eax, 0x123cd
and eax, dword [rsp + 0x24]
mov dword [0x18001c9fc], eax
mov dword [0x18001ca10], 0x46c3
mov eax, dword [rsp + 0x20]
cmp dword [0x18001c9f4], eax
je 0x180001e0c
mov eax, dword [0x18001c9f8]
cmp dword [rsp + 0x90], eax
jle 0x180001e0c
mov edx, dword [rsp + 0x90]
mov ecx, dword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_GetConsoleOriginalTitleA]
cmp dword [0x18001c9fc], eax
jb 0x180001e0c
mov eax, dword [rsp + 0x90]
cdq
mov ecx, 0xf855
idiv ecx
imul eax, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x28]
mov edx, dword [rsp + 0x20]
add edx, ecx
mov ecx, edx
and eax, ecx
mov dword [rsp + 0x24], eax
xor edx, edx
mov eax, dword [rsp + 0x24]
div dword [rsp + 0x28]
add eax, 0x7cfb
mov dword [rsp + 0x24], eax
mov eax, dword [0x18001c9f4]
mov dword [rsp + 0x3c], eax
jmp 0x180001d33
mov eax, dword [rsp + 0x3c]
inc eax
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x2c]
cmp dword [rsp + 0x3c], eax
jbe 0x180001e07
xor edx, edx
mov eax, dword [rsp + 0x24]
div dword [rsp + 0x28]
imul eax, dword [rsp + 0x24]
xor edx, edx
div dword [rsp + 0x20]
mov eax, edx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x90]
cdq
idiv dword [rsp + 0x90]
mov eax, edx
mov ecx, dword [rsp + 0x90]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x90], eax
xor edx, edx
mov eax, dword [rsp + 0x28]
div dword [rsp + 0x20]
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x28]
imul eax, dword [rsp + 0x24]
mov dword [0x18001ca10], eax
xor edx, edx
mov eax, 0x165a3
div dword [rsp + 0x24]
mov eax, edx
xor edx, edx
div dword [rsp + 0x24]
mov eax, edx
and eax, 0x10a9
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28]
mov ecx, dword [rsp + 0x28]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x2c]
imul ecx, dword [rsp + 0x20]
add eax, ecx
mov dword [rsp + 0x60], eax
xor edx, edx
mov eax, 0x11b30
div dword [rsp + 0x28]
mov eax, edx
mov ecx, dword [rsp + 0x60]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x24], eax
imul eax, dword [rsp + 0x20], 0x8dc2
mov ecx, dword [rsp + 0x28]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x24], eax
jmp 0x180001d29
jmp 0x1800021b9
mov ecx, dword [rsp + 0x24]
call fcn.180002fd0
cmp eax, dword [0x18001c9f4]
jb 0x180001ee5
mov r9d, dword [rsp + 0x90]
mov r8d, dword [rsp + 0x90]
mov edx, dword [rsp + 0x24]
mov ecx, dword [rsp + 0x28]
call fcn.180001480
mov eax, dword [rsp + 0x24]
mov dword [rsp + 0x24], eax
xor edx, edx
mov eax, dword [rsp + 0x20]
div dword [rsp + 0x2c]
mov eax, edx
xor edx, edx
div dword [rsp + 0x2c]
mov eax, edx
add eax, dword [rsp + 0x28]
mov ecx, dword [rsp + 0x20]
shr eax, cl
shl eax, 0x68
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x24]
sub eax, 0x15c75
and eax, 0xe0a9
mov dword [rsp + 0x24], eax
mov dword [rsp + 0x2c], 0xc47e
mov eax, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x28]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x90]
imul eax, dword [rsp + 0x20]
add eax, dword [rsp + 0x24]
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x20]
imul eax, dword [rsp + 0x20]
sub eax, dword [rsp + 0x90]
sub eax, dword [rsp + 0x90]
mov dword [rsp + 0x90], eax
xor edx, edx
mov eax, dword [rsp + 0x2c]
div dword [rsp + 0x90]
sub eax, dword [rsp + 0x28]
and eax, dword [rsp + 0x24]
mov dword [rsp + 0x28], eax
jmp 0x1800021b9
mov eax, dword [0x18001ca08]
mov dword [rsp + 0x40], eax
jmp 0x180001efb
mov eax, dword [rsp + 0x40]
dec eax
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x20]
cmp dword [rsp + 0x40], eax
jb 0x1800021b9
xor edx, edx
mov eax, 0x1c8e
div dword [rsp + 0x28]
mov dword [rsp + 0x90], eax
mov r9d, dword [rsp + 0x24]
mov r8d, dword [rsp + 0x28]
mov edx, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x20]
call fcn.180004250
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x20]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x64], eax
xor edx, edx
mov eax, 0x10a83
div dword [rsp + 0x20]
mov ecx, dword [rsp + 0x64]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
movzx ecx, al
mov eax, dword [rsp + 0x28]
shr eax, cl
imul ecx, dword [rsp + 0x24], 0x1be0
imul ecx, dword [rsp + 0x24]
or eax, ecx
mov dword [0x18001ca00], eax
mov ecx, dword [rsp + 0x28]
call fcn.180002fd0
cmp eax, dword [0x18001c9fc]
jb 0x180001fc2
mov eax, dword [0x18001ca00]
cmp dword [rsp + 0x24], eax
je 0x180001fc2
mov r9d, dword [rsp + 0x2c]
mov r8d, dword [rsp + 0x20]
mov edx, dword [rsp + 0x24]
mov ecx, dword [rsp + 0x90]
call fcn.180004250
cmp dword [0x18001ca00], eax
jle 0x1800020b5
mov eax, dword [rsp + 0x90]
cdq
idiv dword [rsp + 0x90]
imul eax, dword [rsp + 0x24]
add eax, dword [rsp + 0x28]
mov dword [rsp + 0x20], eax
xor edx, edx
mov ecx, dword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryA]
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x24]
mov ecx, dword [rsp + 0x24]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x68], eax
xor edx, edx
mov eax, dword [rsp + 0x28]
div dword [rsp + 0x28]
mov eax, edx
mov ecx, dword [rsp + 0x68]
add ecx, eax
mov eax, ecx
movzx ecx, al
mov eax, dword [rsp + 0x20]
shl eax, cl
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x20]
mov dword [0x18001c9f0], eax
xor edx, edx
mov eax, dword [rsp + 0x28]
div dword [rsp + 0x2c]
mov eax, edx
movzx ecx, al
mov eax, dword [rsp + 0x20]
shl eax, cl
mov ecx, dword [rsp + 0x90]
imul ecx, dword [rsp + 0x24]
or eax, ecx
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x28]
imul eax, dword [rsp + 0x28]
mov ecx, dword [rsp + 0x20]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x28]
mov ecx, dword [rsp + 0x24]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x90], eax
mov eax, dword [rsp + 0x28]
mov ecx, dword [rsp + 0x90]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x90]
imul ecx, dword [rsp + 0x24]
add eax, ecx
mov dword [rsp + 0x20], eax
xor edx, edx
mov eax, 0x1013c
div dword [rsp + 0x28]
mov eax, edx
xor edx, edx
div dword [rsp + 0x24]
mov dword [rsp + 0x2c], eax
jmp 0x1800021a4
mov r8d, dword [rsp + 0x2c]
mov edx, dword [rsp + 0x2c]
mov ecx, 0xb7ec7
call qword [sym.imp.GDI32.dll_PtInRegion]
mov dword [rsp + 0x20], eax
xor edx, edx
mov eax, 0xd94c
div dword [rsp + 0x28]
mov eax, edx
mov ecx, dword [rsp + 0x90]
lea eax, [rcx + rax + 0x68d5]
or eax, 1
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x2c]
sub eax, 0xe287
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x28]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x20], eax
mov edx, dword [rsp + 0x90]
mov ecx, dword [rsp + 0x20]
call qword [sym.imp.GDI32.dll_SetStretchBltMode]
mov dword [rsp + 0x28], eax
xor edx, edx
mov eax, dword [rsp + 0x90]
div dword [rsp + 0x24]
mov eax, edx
mov dword [rsp + 0x90], eax
call fcn.1800024d0
mov eax, 0x5dd7
cdq
idiv dword [rsp + 0x90]
mov eax, edx
cdq
idiv dword [rsp + 0x90]
mov ecx, dword [rsp + 0x2c]
or ecx, eax
mov eax, ecx
mov dword [rsp + 0x20], eax
call qword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
mov dword [rsp + 0x90], eax
xor edx, edx
mov eax, dword [rsp + 0x28]
div dword [rsp + 0x28]
mov eax, edx
mov dword [rsp + 0x6c], eax
xor edx, edx
mov eax, dword [rsp + 0x24]
div dword [rsp + 0x28]
mov eax, edx
mov ecx, dword [rsp + 0x6c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x24]
cmp dword [0x18001ca18], eax
jne 0x18000210c
mov eax, dword [0x18001c9f8]
cmp dword [rsp + 0x20], eax
jb 0x180001f09
jmp 0x180001ef1
mov eax, dword [rsp + 0x28]
cmp dword [0x18001ca08], eax
ja 0x180001c11
xor edx, edx
mov eax, dword [rsp + 0x20]
div dword [rsp + 0x90]
mov eax, edx
mov ecx, 0xb34c
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x2c], eax
jmp 0x18000225f
mov eax, dword [rsp + 0x90]
imul eax, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x2c]
imul ecx, dword [rsp + 0x20]
lea eax, [rax + rcx - 0x11c35]
mov dword [rsp + 0x20], eax
mov r8d, dword [rsp + 0x28]
mov edx, dword [rsp + 0x90]
mov ecx, dword [rsp + 0x24]
call fcn.180002ba0
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x90]
mov ecx, dword [rsp + 0x28]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x70], eax
xor edx, edx
mov eax, dword [rsp + 0x90]
div dword [rsp + 0x24]
add eax, dword [rsp + 0x90]
movzx ecx, al
mov eax, dword [rsp + 0x70]
shr eax, cl
mov dword [rsp + 0x20], eax
xor edx, edx
mov eax, dword [rsp + 0x24]
div dword [rsp + 0x20]
mov ecx, dword [rsp + 0x20]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x90], eax
imul eax, dword [rsp + 0x90], 0x2eba
movzx ecx, al
mov eax, dword [rsp + 0x2c]
shl eax, cl
mov ecx, dword [rsp + 0x20]
mov edx, dword [rsp + 0x90]
sub edx, ecx
mov ecx, edx
or eax, ecx
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x90]
imul eax, dword [rsp + 0x20]
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x28]
mov ecx, dword [rsp + 0x90]
and ecx, eax
mov eax, ecx
mov dword [rsp + 0x24], eax
mov r9d, dword [rsp + 0x28]
mov r8d, dword [rsp + 0x90]
mov edx, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x90]
call fcn.180001480
mov eax, dword [rsp + 0x24]
mov dword [rsp + 0x90], eax
mov eax, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x90]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x74], eax
xor edx, edx
mov eax, dword [rsp + 0x20]
div dword [rsp + 0x2c]
mov eax, edx
mov ecx, dword [rsp + 0x74]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x2c], eax
xor edx, edx
mov eax, dword [rsp + 0x28]
div dword [rsp + 0x2c]
mov eax, edx
imul eax, dword [rsp + 0x2c]
imul eax, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x24]
sub ecx, eax
mov eax, ecx
or eax, dword [rsp + 0x20]
mov dword [rsp + 0x2c], eax
mov r9d, dword [rsp + 0x24]
mov r8d, dword [rsp + 0x28]
mov edx, dword [rsp + 0x90]
mov ecx, dword [rsp + 0x20]
call fcn.180001530
xor edx, edx
mov eax, dword [rsp + 0x20]
div dword [rsp + 0x20]
mov ecx, dword [rsp + 0x24]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x24], eax
mov dword [rsp + 0x24], 0x11d48
mov eax, dword [rsp + 0x90]
cmp dword [0x18001ca04], eax
ja 0x180002278
mov eax, dword [0x18001ca04]
cmp dword [rsp + 0x2c], eax
je 0x18000165b
add rsp, 0x88
ret