Function at 0x1400040f0
Capabilities:
Identify system language via api

Disassembly:
mov dword [rsp + 8], ecx
sub rsp, 0x98
mov dword [rsp + 0x44], 0x7b57
mov dword [rsp + 0x48], 0x9e97
mov dword [rsp + 0x4c], 0x11019
mov dword [rsp + 0x40], 0xa6fd
mov eax, dword [rsp + 0xa0]
mov ecx, dword [rsp + 0x40]
add ecx, eax
mov eax, ecx
movzx ecx, al
mov eax, dword [rsp + 0x48]
sar eax, cl
mov dword [rsp + 0x40], eax
mov r8d, dword [rsp + 0x44]
mov edx, dword [rsp + 0x4c]
mov ecx, dword [rsp + 0x40]
call fcn.140001ad0
imul eax, dword [rsp + 0x4c], 0x177d6
imul ecx, dword [rsp + 0x48], 0x16cc
shr eax, cl
mov ecx, dword [rsp + 0x40]
shl eax, cl
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x44]
mov r8d, dword [rsp + 0x40]
mov edx, dword [rsp + 0xa0]
mov ecx, dword [rsp + 0x40]
call fcn.140001970
imul eax, dword [rsp + 0x40], 0x13722
sub eax, dword [rsp + 0x48]
mov dword [rsp + 0x60], eax
xor edx, edx
mov eax, dword [rsp + 0x4c]
div dword [rsp + 0x40]
movzx ecx, al
mov eax, dword [rsp + 0x60]
shr eax, cl
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x44]
cmp dword [0x14003eb08], eax
jne 0x1400049c9
mov eax, dword [0x14003eb04]
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x50], 0xc55b
je 0x140004402
cmp dword [rsp + 0x50], 0xfe03
je 0x14000442c
cmp dword [rsp + 0x50], 0xffffde1c
je 0x1400041f6
jmp 0x140004608
mov eax, dword [0x14003ec18]
mov dword [rsp + 0x54], eax
jmp 0x14000420c
mov eax, dword [rsp + 0x54]
dec eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x44]
cmp dword [rsp + 0x54], eax
ja 0x1400043fd
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x4c]
sub ecx, eax
mov eax, ecx
sub eax, dword [rsp + 0x40]
sub eax, dword [rsp + 0xa0]
add eax, dword [rsp + 0x40]
mov dword [rsp + 0xa0], eax
xor edx, edx
mov eax, dword [rsp + 0x44]
mov ecx, 0x11d5a
div ecx
mov eax, edx
xor edx, edx
mov ecx, 0x1827b
div ecx
mov eax, edx
sub eax, dword [rsp + 0x40]
mov dword [rsp + 0x44], eax
xor edx, edx
mov eax, dword [rsp + 0x4c]
mov ecx, 0xc319
div ecx
imul eax, dword [rsp + 0x44]
add eax, dword [rsp + 0x48]
mov dword [rsp + 0xa0], eax
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0xa0]
sub ecx, eax
mov eax, ecx
or eax, dword [rsp + 0x48]
mov dword [rsp + 0xa0], eax
xor edx, edx
mov eax, 0x7a3b
div dword [rsp + 0xa0]
mov eax, edx
sub eax, dword [rsp + 0xa0]
mov dword [rsp + 0x64], eax
xor edx, edx
mov eax, dword [rsp + 0x4c]
mov ecx, 0x211b
div ecx
mov eax, edx
movzx ecx, al
mov eax, dword [rsp + 0x64]
shr eax, cl
mov ecx, dword [rsp + 0x4c]
shr eax, cl
mov dword [rsp + 0xa0], eax
mov eax, dword [rsp + 0x44]
imul eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x48]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x44]
lea eax, [rcx + rax - 0x5584]
mov dword [rsp + 0x4c], eax
xor edx, edx
mov eax, dword [rsp + 0x44]
div dword [rsp + 0x48]
xor edx, edx
div dword [rsp + 0xa0]
imul eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x48]
imul ecx, dword [rsp + 0x44]
or eax, ecx
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0xa0]
mov r8d, dword [rsp + 0xa0]
mov edx, dword [rsp + 0xa0]
mov ecx, dword [rsp + 0x48]
call fcn.140001210
mov eax, dword [rsp + 0x40]
imul eax, dword [rsp + 0xa0]
imul eax, dword [rsp + 0xa0]
imul eax, dword [rsp + 0x40]
mov ecx, 0x6976
sub ecx, eax
mov eax, ecx
mov dword [0x14003eb08], eax
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0xa0], eax
mov eax, dword [rsp + 0x4c]
imul eax, dword [rsp + 0x40]
sub eax, dword [rsp + 0xa0]
movzx ecx, al
mov eax, dword [rsp + 0x4c]
shr eax, cl
mov ecx, dword [rsp + 0xa0]
shr eax, cl
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x4c]
cmp dword [0x14003eae4], eax
jbe 0x14000421a
xor edx, edx
mov eax, dword [rsp + 0x40]
mov ecx, 0x15ceb
div ecx
mov ecx, dword [rsp + 0x40]
sub ecx, eax
mov eax, ecx
or eax, dword [rsp + 0x4c]
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0xa0]
mov ecx, dword [rsp + 0xa0]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x68], eax
xor edx, edx
mov eax, dword [rsp + 0x44]
div dword [rsp + 0x48]
mov eax, edx
mov ecx, dword [rsp + 0x68]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x40], eax
jmp 0x140004202
jmp 0x1400049c4
mov eax, dword [rsp + 0x44]
movzx ecx, al
mov eax, dword [rsp + 0x48]
shl eax, cl
mov dword [rsp + 0xa0], eax
mov eax, dword [rsp + 0x4c]
movzx ecx, al
mov eax, dword [rsp + 0x48]
sar eax, cl
mov dword [rsp + 0x48], eax
jmp 0x1400049c4
mov ecx, dword [rsp + 0xa0]
call fcn.1400082f0
mov dword [rsp + 0x40], eax
xor edx, edx
mov eax, dword [rsp + 0xa0]
div dword [rsp + 0x4c]
mov dword [rsp + 0x44], eax
xor edx, edx
mov eax, dword [rsp + 0x4c]
div dword [rsp + 0x44]
mov ecx, dword [rsp + 0x40]
shl eax, cl
mov dword [rsp + 0x4c], eax
xor edx, edx
mov eax, dword [rsp + 0x4c]
mov ecx, 0x162ae
div ecx
mov dword [rsp + 0x6c], eax
xor edx, edx
mov eax, dword [rsp + 0x44]
div dword [rsp + 0x40]
mov eax, edx
mov ecx, dword [rsp + 0x6c]
sub ecx, eax
mov eax, ecx
add eax, dword [rsp + 0x40]
mov dword [rsp + 0xa0], eax
mov ecx, dword [rsp + 0x48]
call fcn.140003180
xor edx, edx
mov eax, dword [rsp + 0x48]
div dword [rsp + 0x4c]
mov ecx, dword [rsp + 0xa0]
sub ecx, eax
mov eax, ecx
mov dword [0x14003ec18], eax
mov r9d, dword [rsp + 0xa0]
mov r8d, dword [rsp + 0x40]
mov edx, dword [rsp + 0x4c]
mov ecx, dword [rsp + 0x40]
call fcn.140003b40
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0xa0]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x70], eax
xor edx, edx
mov eax, dword [rsp + 0x44]
div dword [rsp + 0x4c]
mov eax, edx
imul eax, dword [rsp + 0x4c]
movzx ecx, al
mov eax, dword [rsp + 0x70]
shl eax, cl
mov dword [rsp + 0x48], eax
imul eax, dword [rsp + 0xa0], 0x23a7
sub eax, dword [rsp + 0x48]
mov dword [rsp + 0x40], eax
xor edx, edx
mov eax, dword [rsp + 0x40]
div dword [rsp + 0x48]
mov eax, edx
add eax, dword [rsp + 0x40]
sub eax, dword [rsp + 0x40]
add eax, 0x2b99
mov ecx, dword [rsp + 0x44]
shr eax, cl
mov dword [0x14003eb84], eax
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x40]
mov r8d, dword [rsp + 0xa0]
mov edx, dword [rsp + 0x4c]
mov ecx, dword [rsp + 0x48]
call fcn.140001970
mov eax, dword [rsp + 0x4c]
movzx ecx, al
mov eax, dword [rsp + 0x4c]
shr eax, cl
mov ecx, dword [rsp + 0x44]
shr eax, cl
mov ecx, dword [rsp + 0x48]
mov edx, dword [rsp + 0x44]
add edx, ecx
mov ecx, edx
shr ecx, 0x63
and eax, ecx
mov dword [0x14003ec2c], eax
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x40]
mov r8d, dword [rsp + 0x40]
mov edx, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_CreateTimerQueueTimer]
mov dword [rsp + 0x40], eax
mov r9d, dword [rsp + 0x40]
mov r8d, dword [rsp + 0xa0]
mov edx, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x48]
call fcn.140008460
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x44]
imul eax, dword [rsp + 0x40]
mov dword [rsp + 0x48], eax
imul eax, dword [rsp + 0xa0], 0xff17
mov ecx, dword [rsp + 0x48]
sub ecx, eax
mov eax, ecx
shr eax, 0x3d
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x40]
add eax, 0x13379
mov ecx, dword [rsp + 0xa0]
imul ecx, dword [rsp + 0xa0]
sub eax, ecx
mov ecx, dword [rsp + 0x40]
imul ecx, dword [rsp + 0xa0]
sub eax, ecx
mov dword [0x14003ec18], eax
mov eax, dword [rsp + 0x4c]
mov ecx, dword [rsp + 0xa0]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x40]
shr eax, cl
mov ecx, dword [rsp + 0x44]
imul ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0xa0]
add edx, ecx
mov ecx, edx
shr eax, cl
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x48]
and ecx, eax
mov eax, ecx
mov dword [rsp + 0x40], eax
call fcn.140002a10
mov eax, dword [rsp + 0x44]
imul eax, dword [rsp + 0x44]
imul ecx, dword [rsp + 0x4c], 0x2cc8
sub eax, ecx
mov dword [0x14003eae4], eax
xor edx, edx
mov eax, dword [rsp + 0x44]
div dword [rsp + 0xa0]
mov ecx, dword [rsp + 0x44]
shr eax, cl
mov dword [rsp + 0x74], eax
mov ecx, dword [rsp + 0x48]
imul ecx, dword [rsp + 0xa0]
xor edx, edx
mov eax, ecx
div dword [rsp + 0x40]
mov ecx, dword [rsp + 0x74]
and ecx, eax
mov eax, ecx
mov dword [rsp + 0xa0], eax
mov eax, dword [0x14003eb84]
cmp dword [rsp + 0x40], eax
je 0x14000499e
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x40]
mov r8d, dword [rsp + 0x44]
mov edx, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x44]
call fcn.140008010
cmp eax, dword [0x14003ebc8]
jg 0x1400047af
mov eax, dword [rsp + 0x48]
cdq
idiv dword [rsp + 0x48]
mov ecx, dword [rsp + 0x48]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x78], eax
xor edx, edx
mov eax, dword [rsp + 0x40]
div dword [rsp + 0x4c]
mov ecx, dword [rsp + 0x78]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x48], eax
mov ecx, dword [rsp + 0x44]
call fcn.140003180
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x44]
add ecx, eax
mov eax, ecx
mov ecx, 0xc0de
mov dword [rsp + 0x7c], ecx
movzx ecx, al
mov eax, dword [rsp + 0x7c]
sar eax, cl
mov dword [0x14003ebc8], eax
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x4c]
add ecx, eax
mov eax, ecx
add eax, dword [rsp + 0x48]
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x48]
imul eax, dword [rsp + 0x4c]
add eax, dword [rsp + 0x4c]
sub eax, dword [rsp + 0x40]
mov dword [rsp + 0xa0], eax
xor edx, edx
mov eax, dword [rsp + 0x40]
div dword [rsp + 0x48]
mov eax, edx
mov ecx, dword [rsp + 0x40]
shr eax, cl
mov ecx, dword [rsp + 0x40]
and ecx, eax
mov eax, ecx
mov dword [rsp + 0x40], eax
jmp 0x14000499e
call fcn.140009050
cmp eax, dword [rsp + 0x40]
jbe 0x1400047c9
call fcn.140008a80
cmp dword [rsp + 0x4c], eax
jbe 0x14000499e
mov eax, dword [rsp + 0x40]
cmp dword [0x14003ec18], eax
jbe 0x1400047e1
mov eax, dword [rsp + 0x4c]
cmp dword [0x14003ec18], eax
jne 0x1400047f1
mov eax, dword [rsp + 0x44]
cmp dword [0x14003eae4], eax
jae 0x1400048d5
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x44]
sub ecx, eax
mov eax, ecx
sub eax, dword [rsp + 0xa0]
mov dword [rsp + 0xa0], eax
imul eax, dword [rsp + 0x48], 0xf71e
xor edx, edx
div dword [rsp + 0x40]
mov eax, edx
xor edx, edx
div dword [rsp + 0xa0]
mov dword [0x14003eb08], eax
xor edx, edx
mov eax, dword [rsp + 0xa0]
div dword [rsp + 0x44]
mov eax, edx
mov ecx, dword [rsp + 0x44]
mov edx, dword [rsp + 0x4c]
sub edx, ecx
mov ecx, edx
sub ecx, dword [rsp + 0x48]
shl eax, cl
mov ecx, dword [rsp + 0x48]
shl eax, cl
mov dword [rsp + 0x44], eax
xor edx, edx
mov eax, dword [rsp + 0x48]
div dword [rsp + 0x40]
mov eax, edx
mov ecx, dword [rsp + 0x40]
sub ecx, eax
mov eax, ecx
sub eax, dword [rsp + 0x4c]
mov dword [rsp + 0x80], eax
xor edx, edx
mov eax, dword [rsp + 0xa0]
div dword [rsp + 0x48]
mov eax, edx
mov ecx, dword [rsp + 0x80]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x40]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x44]
mov edx, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x40]
call fcn.140001800
xor edx, edx
mov eax, 0x3c06
div dword [rsp + 0x40]
mov dword [rsp + 0x40], eax
jmp 0x14000499e
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x48]
mov r8d, dword [rsp + 0xa0]
mov edx, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x40]
call fcn.140001910
mov eax, 0x10237
sub eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x48]
imul ecx, dword [rsp + 0x48]
add eax, ecx
or eax, dword [rsp + 0x44]
or eax, dword [rsp + 0x44]
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x44]
mov dword [0x14003ec2c], eax
mov r8d, dword [rsp + 0xa0]
mov edx, dword [rsp + 0x44]
mov ecx, dword [rsp + 0x40]
call fcn.1400081f0
mov dword [rsp + 0xa0], eax
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x40]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xa0]
and ecx, eax
mov eax, ecx
mov dword [rsp + 0x4c], eax
mov r8d, dword [rsp + 0x40]
mov edx, dword [rsp + 0x44]
mov ecx, dword [rsp + 0x44]
call qword [sym.imp.KERNEL32.dll_SetThreadpoolWait]
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0xa0]
mov ecx, dword [rsp + 0x40]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x4c]
lea eax, [rax + rcx - 0xc0f]
mov ecx, dword [rsp + 0x40]
shr eax, cl
mov dword [rsp + 0xa0], eax
mov eax, dword [rsp + 0xa0]
cmp dword [0x14003ec18], eax
je 0x140004675
mov eax, dword [0x14003eb84]
cmp dword [rsp + 0xa0], eax
jne 0x140004665
jmp 0x140004f04
mov eax, dword [rsp + 0x40]
cmp dword [rsp + 0x44], eax
ja 0x140004a0d
mov r8d, dword [rsp + 0x48]
mov edx, dword [rsp + 0x4c]
mov ecx, dword [rsp + 0xa0]
call fcn.14000b280
cmp eax, dword [rsp + 0xa0]
je 0x140004e0e
mov edx, dword [rsp + 0x44]
mov ecx, dword [rsp + 0x40]
call qword [sym.imp.GDI32.dll_GetBrushOrgEx]
cmp eax, dword [rsp + 0x44]
jae 0x140004e0e
mov eax, dword [0x14003eb08]
mov dword [rsp + 0x58], eax
cmp dword [rsp + 0x58], 0xb0e3
je 0x140004c0d
cmp dword [rsp + 0x58], 0x1215f
je 0x140004cf2
cmp dword [rsp + 0x58], 0x17523
je 0x140004a42
jmp 0x140004d71
mov eax, dword [rsp + 0x4c]
mov ecx, dword [rsp + 0x4c]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x48]
shl eax, cl
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x44]
imul eax, dword [rsp + 0x48]
xor edx, edx
div dword [rsp + 0x48]
mov eax, edx
mov ecx, dword [rsp + 0x44]
imul ecx, dword [rsp + 0x40]
add ecx, dword [rsp + 0x44]
shr eax, cl
mov dword [rsp + 0xa0], eax
mov eax, 0xf073
sub eax, dword [rsp + 0x44]
add eax, dword [rsp + 0x40]
mov dword [rsp + 0x40], eax
mov r9d, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x44]
mov edx, dword [rsp + 0xa0]
mov ecx, dword [rsp + 0x40]
call fcn.140002aa0
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0xa0]
sub ecx, eax
mov eax, ecx
sub eax, dword [rsp + 0xa0]
mov ecx, dword [rsp + 0x48]
and ecx, eax
mov eax, ecx
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x4c]
mov ecx, dword [rsp + 0x40]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xa0]
lea eax, [rax + rcx - 0x127c3]
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x44]
imul eax, dword [rsp + 0x44]
mov ecx, dword [rsp + 0xa0]
imul ecx, dword [rsp + 0x48]
add eax, ecx
sub eax, dword [rsp + 0xa0]
mov dword [rsp + 0xa0], eax
mov eax, dword [rsp + 0x48]
imul eax, dword [rsp + 0xa0]
mov ecx, dword [rsp + 0xa0]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x40]
lea eax, [rcx + rax + 0x59b3]
mov dword [rsp + 0xa0], eax
mov ecx, dword [rsp + 0x40]
call fcn.1400040f0
xor edx, edx
mov eax, dword [rsp + 0x40]
div dword [rsp + 0x48]
mov eax, edx
mov dword [rsp + 0x40], eax
xor edx, edx
mov eax, dword [rsp + 0x4c]
div dword [rsp + 0x48]
mov eax, edx
sub eax, dword [rsp + 0x44]
movzx ecx, al
mov eax, dword [rsp + 0x48]
shl eax, cl
mov ecx, dword [rsp + 0x40]
add ecx, 0x23b5
shl eax, cl
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x4c]
mov ecx, dword [rsp + 0x4c]
add ecx, eax
mov eax, ecx
add eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0xa0]
lea eax, [rax + rcx - 0x11b78]
mov ecx, dword [rsp + 0xa0]
shr eax, cl
mov dword [rsp + 0x48], eax
imul eax, dword [rsp + 0x44], 0x76cf
mov dword [rsp + 0x4c], eax
mov r8d, dword [rsp + 0x4c]
mov edx, dword [rsp + 0xa0]
mov ecx, dword [rsp + 0x4c]
call fcn.140001ad0
mov eax, dword [rsp + 0xa0]
mov ecx, dword [rsp + 0x4c]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x40], eax
call qword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x4c]
add ecx, eax
mov eax, ecx
mov dword [0x14003ec2c], eax
mov eax, dword [0x14003ec2c]
cmp dword [rsp + 0xa0], eax
jb 0x140004a90
jmp 0x140004e09
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x44]
imul eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x44]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x44]
sub ecx, 0x175d6
shl eax, cl
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0xa0]
mov ecx, dword [rsp + 0x40]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x40], eax
xor edx, edx
mov eax, dword [rsp + 0xa0]
mov ecx, 0x468d
div ecx
xor edx, edx
div dword [rsp + 0x40]
mov eax, edx
mov ecx, dword [rsp + 0x44]
lea eax, [rcx + rax + 0xafcb]
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x44]
imul eax, dword [rsp + 0x44]
add eax, 0x768b
mov dword [rsp + 0x48], eax
mov eax, dword [0x14003eb84]
cmp dword [rsp + 0x40], eax
jne 0x140004c36
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x40]
mov r8d, dword [rsp + 0x48]
mov edx, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x40]
call fcn.140004f30
xor edx, edx
mov eax, dword [rsp + 0xa0]
div dword [rsp + 0x4c]
mov eax, edx
mov ecx, dword [rsp + 0x40]
mov edx, dword [rsp + 0x40]
add edx, ecx
mov ecx, edx
shr eax, cl
mov ecx, dword [rsp + 0xa0]
shl eax, cl
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x44]
cmp dword [0x14003eb00], eax
je 0x140004c0d
mov eax, dword [rsp + 0xa0]
mov ecx, dword [rsp + 0x40]
sub ecx, eax
mov eax, ecx
movzx ecx, al
mov eax, dword [rsp + 0x44]
shl eax, cl
mov ecx, dword [rsp + 0xa0]
mov edx, dword [rsp + 0x4c]
add edx, ecx
mov ecx, edx
shr eax, cl
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0xa0]
imul eax, dword [rsp + 0xa0]
xor edx, edx
div dword [rsp + 0x4c]
mov eax, edx
mov ecx, dword [rsp + 0x40]
add ecx, eax
mov eax, ecx
shl eax, 0x14
mov ecx, dword [rsp + 0xa0]
and ecx, eax
mov eax, ecx
mov dword [rsp + 0x4c], eax
lea rcx, str.groats_reaction_geophysical
call fcn.1400011a0
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x48], eax
jmp 0x140004e09
xor edx, edx
mov eax, 0xdcb3
div dword [rsp + 0x40]
sub eax, dword [rsp + 0x40]
sub eax, dword [rsp + 0x40]
mov dword [rsp + 0x40], eax
xor edx, edx
mov eax, dword [rsp + 0x44]
div dword [rsp + 0xa0]
mov ecx, dword [rsp + 0x48]
and ecx, eax
mov eax, ecx
mov dword [rsp + 0x84], eax
xor edx, edx
mov eax, dword [rsp + 0x4c]
div dword [rsp + 0x48]
mov eax, edx
sub eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x84]
and ecx, eax
mov eax, ecx
mov dword [rsp + 0xa0], eax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x40]
mov r8d, dword [rsp + 0x40]
mov edx, dword [rsp + 0x4c]
mov ecx, dword [rsp + 0x40]
call fcn.140001800
mov eax, dword [rsp + 0x48]
sar eax, 0x26
mov ecx, dword [rsp + 0x4c]
or ecx, eax
mov eax, ecx
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x44]
imul eax, dword [rsp + 0x48]
sub eax, dword [rsp + 0x48]
mov dword [rsp + 0x40], eax
jmp 0x140004f04
mov eax, dword [0x14003ebc8]
mov dword [rsp + 0x5c], eax
jmp 0x140004e24
mov eax, dword [rsp + 0x5c]
inc eax
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0xa0]
cmp dword [rsp + 0x5c], eax
jae 0x140004f04
mov eax, dword [rsp + 0x44]
mov ecx, dword [rsp + 0x40]
add ecx, eax
mov eax, ecx
mov dword [0x14003ec2c], eax
mov edx, dword [rsp + 0xa0]
mov ecx, dword [rsp + 0x44]
call qword [sym.imp.GDI32.dll_GetFontUnicodeRanges]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x44]
imul eax, dword [rsp + 0x44]
mov dword [rsp + 0xa0], eax
mov eax, dword [rsp + 0xa0]
sub eax, 0xa381
mov dword [rsp + 0x88], eax
xor edx, edx
mov eax, dword [rsp + 0x40]
div dword [rsp + 0x40]
mov eax, edx
xor edx, edx
div dword [rsp + 0xa0]
movzx ecx, al
mov eax, dword [rsp + 0x88]
shr eax, cl
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x4c]
imul eax, dword [rsp + 0xa0]
sub eax, dword [rsp + 0x4c]
movzx ecx, al
mov eax, dword [rsp + 0xa0]
shr eax, cl
mov dword [rsp + 0xa0], eax
mov eax, dword [rsp + 0x4c]
imul eax, dword [rsp + 0xa0]
mov ecx, dword [rsp + 0xa0]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x40]
imul ecx, dword [rsp + 0xa0]
sub eax, ecx
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0xa0]
cmp dword [0x14003ec18], eax
je 0x140004ea4
jmp 0x140004e1a
mov eax, dword [rsp + 0x44]
cmp dword [0x14003eb00], eax
jne 0x140004165
mov eax, dword [0x14003ebc8]
cmp dword [rsp + 0x44], eax
jb 0x14000411b
add rsp, 0x98
ret