Function at 0x140002870
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
mov dword [rsp + 8], ecx
sub rsp, 0x68
mov dword [rsp + 0x2c], 0x66c4
mov dword [rsp + 0x24], 0x8c9e
mov dword [rsp + 0x28], 0xadd0
mov dword [rsp + 0x20], 0x1328
mov eax, dword [0x140037b04]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0xfffffae2
je 0x1400028e9
cmp dword [rsp + 0x30], 0xad4
je 0x140002c00
cmp dword [rsp + 0x30], 0x423c
je 0x140002d93
cmp dword [rsp + 0x30], 0x100d1
je 0x140002a12
jmp 0x140002ec9
mov eax, dword [rsp + 0x90]
imul eax, dword [rsp + 0x70]
imul eax, eax, 0x1159
add eax, 0xf066
sub eax, dword [rsp + 0x28]
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x80]
mov ecx, dword [rsp + 0x70]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x70]
cdq
idiv dword [rsp + 0x24]
mov eax, edx
mov ecx, dword [rsp + 0x20]
sub ecx, eax
mov eax, ecx
movzx ecx, al
mov eax, dword [rsp + 0x38]
sar eax, cl
mov dword [rsp + 0x88], eax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x78], eax
mov eax, 0xb940
cdq
idiv dword [rsp + 0x88]
mov eax, edx
mov ecx, dword [rsp + 0x78]
add ecx, eax
mov eax, ecx
sub eax, dword [rsp + 0x90]
sub eax, dword [rsp + 0x78]
mov dword [0x140037b00], eax
mov eax, dword [rsp + 0x88]
movzx ecx, al
mov eax, dword [rsp + 0x78]
shr eax, cl
mov ecx, dword [rsp + 0x90]
shl eax, cl
mov dword [rsp + 0x78], eax
imul eax, dword [rsp + 0x20], 0x13c7d
xor edx, edx
div dword [rsp + 0x90]
mov eax, edx
mov ecx, dword [rsp + 0x28]
add ecx, eax
mov eax, ecx
add eax, dword [rsp + 0x80]
or eax, 0x11393
mov dword [rsp + 0x88], eax
xor edx, edx
mov eax, dword [rsp + 0x20]
div dword [rsp + 0x28]
mov eax, edx
sub eax, dword [rsp + 0x88]
mov dword [rsp + 0x88], eax
mov eax, dword [rsp + 0x80]
imul eax, dword [rsp + 0x28]
sub eax, 0xa80c
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x80]
cdq
idiv dword [rsp + 0x24]
mov eax, edx
mov ecx, dword [rsp + 0x3c]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x24]
mov dword [rsp + 0x88], eax
jmp 0x140002ec9
mov eax, dword [rsp + 0x80]
add eax, 0x183cb
or eax, dword [rsp + 0x80]
mov dword [rsp + 0x88], eax
mov eax, dword [rsp + 0x24]
mov ecx, dword [rsp + 0x2c]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x88], eax
mov eax, dword [rsp + 0x80]
add eax, 0xd20
mov dword [rsp + 0x88], eax
mov ecx, dword [rsp + 0x20]
call fcn.140001210
mov eax, dword [rsp + 0x24]
cdq
idiv dword [rsp + 0x80]
mov ecx, dword [rsp + 0x90]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x24], eax
mov eax, dword [0x140037b08]
mov dword [rsp + 0x34], eax
jmp 0x140002a8c
mov eax, dword [rsp + 0x34]
inc eax
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x70]
cmp dword [rsp + 0x34], eax
jge 0x140002be8
mov eax, dword [rsp + 0x2c]
add eax, 0x14443
mov ecx, dword [rsp + 0x24]
shl eax, cl
mov dword [rsp + 0x20], eax
lea rcx, str.alkali_uKIglkGW_rendered_QKN:_x_vocabularies
call fcn.1400011a0
mov eax, dword [rsp + 0x80]
sub eax, 0x13c38
sub eax, dword [rsp + 0x70]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x70]
imul eax, dword [rsp + 0x80]
xor edx, edx
div dword [rsp + 0x78]
mov dword [rsp + 0x40], eax
mov eax, 0x10ecf
cdq
idiv dword [rsp + 0x20]
mov ecx, dword [rsp + 0x40]
sub ecx, eax
mov eax, ecx
movzx ecx, al
mov eax, dword [rsp + 0x88]
shl eax, cl
mov dword [rsp + 0x90], eax
mov eax, dword [rsp + 0x78]
add eax, 0x6234
sub eax, dword [rsp + 0x24]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x2c], eax
mov ecx, dword [rsp + 0x70]
call qword [sym.imp.GDI32.dll_CreateBrushIndirect]
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x80]
imul eax, dword [rsp + 0x2c]
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x20]
cdq
idiv dword [rsp + 0x80]
mov eax, edx
cdq
mov ecx, 0x15ab
idiv ecx
mov eax, edx
xor edx, edx
div dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x44]
or ecx, eax
mov eax, ecx
mov dword [rsp + 0x78], eax
xor edx, edx
mov eax, dword [rsp + 0x20]
div dword [rsp + 0x2c]
mov dword [rsp + 0x78], eax
mov eax, 0x7e15
sub eax, dword [rsp + 0x20]
add eax, dword [rsp + 0x20]
sub eax, dword [rsp + 0x88]
mov dword [rsp + 0x20], eax
mov eax, dword [0x140037b08]
cmp dword [rsp + 0x78], eax
jbe 0x140002a9a
mov eax, dword [rsp + 0x78]
imul eax, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x20]
add ecx, eax
mov eax, ecx
add eax, dword [rsp + 0x28]
mov ecx, dword [rsp + 0x20]
sar ecx, 0xca
or eax, ecx
mov dword [rsp + 0x20], eax
xor edx, edx
mov eax, dword [rsp + 0x78]
mov ecx, 0x1288b
div ecx
movzx ecx, al
mov eax, dword [rsp + 0x90]
shr eax, cl
mov dword [0x140037b08], eax
jmp 0x140002a82
mov eax, dword [0x140037b84]
cmp dword [rsp + 0x90], eax
je 0x140002a52
jmp 0x140002ec9
mov edx, dword [rsp + 0x88]
mov ecx, dword [rsp + 0x24]
call qword [sym.imp.GDI32.dll_SetColorSpace]
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x80]
mov dword [0x140037b04], eax
mov eax, dword [rsp + 0x70]
cdq
idiv dword [rsp + 0x70]
mov ecx, dword [rsp + 0x88]
add ecx, eax
mov eax, ecx
sub eax, dword [rsp + 0x70]
mov dword [0x140037bc4], eax
mov eax, dword [rsp + 0x80]
cdq
idiv dword [rsp + 0x80]
mov eax, edx
imul eax, dword [rsp + 0x24]
mov ecx, dword [rsp + 0x88]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x88]
mov edx, dword [rsp + 0x80]
sub edx, ecx
mov ecx, edx
and eax, ecx
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x88]
mov ecx, dword [rsp + 0x88]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x48], eax
xor edx, edx
mov eax, dword [rsp + 0x28]
mov ecx, 0xeb3
div ecx
mov eax, edx
mov ecx, dword [rsp + 0x80]
imul ecx, dword [rsp + 0x80]
add eax, ecx
movzx ecx, al
mov eax, dword [rsp + 0x48]
shl eax, cl
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x78]
movzx ecx, al
mov eax, dword [rsp + 0x90]
shl eax, cl
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x88]
mov ecx, dword [rsp + 0x24]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x28]
mov ecx, dword [rsp + 0x80]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x70]
mov edx, dword [rsp + 0x24]
lea ecx, [rcx + rdx + 0xc58d]
or eax, ecx
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x78]
imul eax, dword [rsp + 0x20]
xor edx, edx
div dword [rsp + 0x90]
mov dword [rsp + 0x4c], eax
xor edx, edx
mov eax, dword [rsp + 0x90]
div dword [rsp + 0x70]
mov ecx, dword [rsp + 0x4c]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x80], eax
xor edx, edx
mov eax, dword [rsp + 0x2c]
mov ecx, 0x15f7b
div ecx
mov eax, edx
imul eax, dword [rsp + 0x24]
mov dword [rsp + 0x50], eax
xor edx, edx
mov eax, dword [rsp + 0x90]
div dword [rsp + 0x70]
mov eax, edx
mov ecx, dword [rsp + 0x50]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x90]
mov ecx, dword [rsp + 0x28]
sub ecx, eax
mov eax, ecx
and eax, dword [rsp + 0x24]
mov dword [rsp + 0x78], eax
mov eax, dword [0x140037b08]
cmp dword [rsp + 0x20], eax
jle 0x140002c22
mov r9d, dword [rsp + 0x2c]
mov r8d, dword [rsp + 0x20]
mov edx, dword [rsp + 0x78]
mov ecx, dword [rsp + 0x80]
call qword [sym.imp.USER32.dll_HideCaret]
mov dword [rsp + 0x28], eax
xor edx, edx
mov eax, dword [rsp + 0x28]
div dword [rsp + 0x24]
mov eax, edx
imul eax, dword [rsp + 0x24]
mov ecx, dword [rsp + 0x90]
sub ecx, eax
mov eax, ecx
movzx ecx, al
mov eax, dword [rsp + 0x24]
sar eax, cl
mov ecx, dword [rsp + 0x20]
and ecx, eax
mov eax, ecx
mov dword [0x140037b84], eax
mov eax, dword [rsp + 0x78]
imul eax, dword [rsp + 0x24]
imul eax, dword [rsp + 0x70]
mov ecx, dword [rsp + 0x88]
imul ecx, dword [rsp + 0x28]
add eax, ecx
movzx ecx, al
mov eax, dword [rsp + 0x88]
sar eax, cl
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x90]
mov ecx, dword [rsp + 0x70]
sub ecx, eax
mov eax, ecx
add eax, dword [rsp + 0x88]
add eax, dword [rsp + 0x80]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x20]
imul eax, dword [rsp + 0x88]
mov dword [rsp + 0x28], eax
xor edx, edx
mov eax, dword [rsp + 0x28]
mov ecx, 0x16159
div ecx
mov eax, edx
imul eax, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x20]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x2c], eax
xor edx, edx
mov eax, dword [rsp + 0x90]
mov ecx, 0x11b23
div ecx
mov eax, edx
imul eax, dword [rsp + 0x78]
and eax, 0x10f61
mov dword [rsp + 0x88], eax
mov eax, dword [rsp + 0x90]
mov ecx, dword [rsp + 0x90]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x78], eax
lea rcx, str.controlling_nosey_sensation
call fcn.1400011a0
mov dword [rsp + 0x80], 0xfa87
imul eax, dword [rsp + 0x24], 0x1717d
sub eax, dword [rsp + 0x2c]
and eax, dword [rsp + 0x20]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x78]
add rsp, 0x68
ret