Function at 0x10026404
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10214895
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x6c
push ebx
push ebp
mov ebp, dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ebx, ecx
push esi
push edi
push 0x11
mov dword [esp + 0x30], edx
call ebp
mov esi, eax
push 0x10
mov dword [esp + 0x34], esi
call ebp
push 0x29
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], esi
mov byte [esp + 0x1c], 0
mov byte [esp + 0x2c], 0
call ebp
test eax, eax
push 0x13
setne byte [esp + 0x4c]
call ebp
test eax, eax
push 0x4b
setne byte [esp + 0x50]
call ebp
test eax, eax
push 0x49
setne byte [esp + 0x54]
call ebp
mov ebp, dword [sym.imp.USER32.dll_SystemParametersInfoA]
test eax, eax
push 0
lea eax, [esp + 0x6c]
setne byte [esp + 0x58]
push eax
push 0
push 0x30
call ebp
test eax, eax
je 0x100264b5
mov esi, dword [esp + 0x70]
sub esi, dword [esp + 0x68]
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x74]
sub esi, dword [esp + 0x6c]
mov dword [esp + 0x14], esi
xor eax, eax
lea edi, [esp + 0x58]
stosd dword es:[edi], eax
push 0
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [esp + 0x5c]
push eax
push 0
push 0x42
mov dword [esp + 0x68], 0xc
call ebp
test eax, eax
je 0x100264e1
mov al, byte [esp + 0x5c]
and al, 1
mov byte [esp + 0x18], al
xor ecx, ecx
lea eax, [esp + 0x1c]
push ecx
push eax
push ecx
push 0x46
mov dword [esp + 0x2c], ecx
call ebp
test eax, eax
je 0x10026500
cmp dword [esp + 0x1c], 0
setne byte [esp + 0x28]
push 0
call dword [sym.imp.USER32.dll_GetDC]
mov esi, dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov edi, eax
push 0xc
push edi
call esi
push 0x26
mov ebp, eax
push edi
mov dword [esp + 0x3c], ebp
call esi
test eax, 0x100
je 0x10026530
push 0x6c
push edi
call esi
mov ebp, eax
jmp 0x10026553
mov eax, ebp
xor ecx, ecx
xor ebp, ebp
bts ebp, eax
cmp eax, 0x20
cmovae ecx, ebp
xor ebp, ecx
cmp eax, 0x40
cmovae ecx, ebp
test ecx, ecx
jne 0x10026550
cmp ebp, 0xffffffff
jbe 0x10026553
or ebp, 0xffffffff
push 0x58
push edi
call esi
push 0x5a
push edi
mov dword [esp + 0x40], eax
call esi
push 8
push edi
mov dword [esp + 0x44], eax
call esi
push 4
push edi
imul esi, eax, 0xa
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov ecx, eax
mov eax, esi
cdq
idiv ecx
push 0xa
push edi
mov dword [esp + 0x48], eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 6
push edi
imul esi, eax, 0xa
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov ecx, eax
mov eax, esi
cdq
idiv ecx
push edi
push 0
mov dword [esp + 0x4c], eax
call dword [sym.imp.USER32.dll_ReleaseDC]
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x100265e4
movdqa xmm0, xmmword [0x102711a0]
lea ecx, [esp + 0x58]
push ecx
push eax
movdqu xmmword [esp + 0x60], xmm0
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esp + 0x64]
sub eax, dword [esp + 0x5c]
mov edi, dword [esp + 0x60]
inc eax
sub edi, dword [esp + 0x58]
mov dword [esp + 0x10], eax
inc edi
jmp 0x100265e8
mov edi, dword [esp + 0x20]
push ecx
push 0x10257ffc
lea ecx, [esp + 0x24]
call fcn.10131390
and dword [esp + 0x84], 0
lea ecx, [esp + 0x68]
push 7
mov edx, edi
call fcn.10025bbd
pop ecx
mov esi, eax
push 1
lea eax, [esp + 0x20]
mov byte [esp + 0x88], 1
push eax
mov ecx, ebx
call fcn.1002210f
imul ecx, eax, 0x18
mov eax, dword [ebx + 0xc]
add eax, 8
push esi
add ecx, eax
call fcn.10002d1e
lea ecx, [esp + 0x68]
mov byte [esp + 0x84], 0
call fcn.10002db8
or dword [esp + 0x84], 0xffffffff
lea ecx, [esp + 0x1c]
call fcn.100026e7
push ecx
push 0x10257ff4
lea ecx, [esp + 0x24]
call fcn.10131390
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x68]
push 7
mov dword [esp + 0x88], 2
call fcn.10025bbd
pop ecx
mov esi, eax
push 1
lea eax, [esp + 0x20]
mov byte [esp + 0x88], 3
push eax
mov ecx, ebx
call fcn.1002210f
imul ecx, eax, 0x18
mov eax, dword [ebx + 0xc]
add eax, 8
push esi
add ecx, eax
call fcn.10002d1e
lea ecx, [esp + 0x68]
mov byte [esp + 0x84], 2
call fcn.10002db8
or dword [esp + 0x84], 0xffffffff
lea ecx, [esp + 0x1c]
call fcn.100026e7
push ecx
push str.min_width
lea ecx, [esp + 0x24]
call fcn.10131390
push 7
xor edx, edx
mov dword [esp + 0x88], 4
lea ecx, [esp + 0x6c]
call fcn.10025bbd
pop ecx
mov esi, eax
push 1
lea eax, [esp + 0x20]
mov byte [esp + 0x88], 5
push eax
mov ecx, ebx
call fcn.1002210f
imul ecx, eax, 0x18
mov eax, dword [ebx + 0xc]
add eax, 8
push esi
add ecx, eax
call fcn.10002d1e
lea ecx, [esp + 0x68]
mov byte [esp + 0x84], 4
call fcn.10002db8
or dword [esp + 0x84], 0xffffffff
lea ecx, [esp + 0x1c]
call fcn.100026e7
push ecx
push str.min_height
lea ecx, [esp + 0x24]
call fcn.10131390
push 7
xor edx, edx
mov dword [esp + 0x88], 6
lea ecx, [esp + 0x6c]
call fcn.10025bbd
pop ecx
mov esi, eax
push 1
lea eax, [esp + 0x20]
mov byte [esp + 0x88], 7
push eax
mov ecx, ebx
call fcn.1002210f
imul ecx, eax, 0x18
mov eax, dword [ebx + 0xc]
add eax, 8
push esi
add ecx, eax
call fcn.10002d1e
lea ecx, [esp + 0x68]
mov byte [esp + 0x84], 6
call fcn.10002db8
or dword [esp + 0x84], 0xffffffff
lea ecx, [esp + 0x1c]
call fcn.100026e7
push ecx
push str.max_width
lea ecx, [esp + 0x24]
call fcn.10131390
mov dword [esp + 0x84], 8
lea ecx, [esp + 0x68]
mov edx, dword [esp + 0x20]
push 7
call fcn.10025bbd
pop ecx
mov esi, eax
push 1
lea eax, [esp + 0x20]
mov byte [esp + 0x88], 9
push eax
mov ecx, ebx
call fcn.1002210f
imul ecx, eax, 0x18
mov eax, dword [ebx + 0xc]
add eax, 8
push esi
add ecx, eax
call fcn.10002d1e
lea ecx, [esp + 0x68]
mov byte [esp + 0x84], 8
call fcn.10002db8
or dword [esp + 0x84], 0xffffffff
lea ecx, [esp + 0x1c]
call fcn.100026e7
push ecx
push str.max_height
lea ecx, [esp + 0x28]
call fcn.10131390
mov dword [esp + 0x84], 0xa
push 7
mov edx, dword [esp + 0x34]
lea ecx, [esp + 0x6c]
call fcn.10025bbd
pop ecx
mov esi, eax
push 1
lea eax, [esp + 0x24]
mov byte [esp + 0x88], 0xb
push eax
mov ecx, ebx
call fcn.1002210f
imul ecx, eax, 0x18
mov eax, dword [ebx + 0xc]
add eax, 8
push esi
add ecx, eax
call fcn.10002d1e
lea ecx, [esp + 0x68]
mov byte [esp + 0x84], 0xa
call fcn.10002db8
or dword [esp + 0x84], 0xffffffff
lea ecx, [esp + 0x20]
call fcn.100026e7
push ecx
push str.aspect_ratio
lea ecx, [esp + 0x28]
call fcn.10131390
movd xmm0, dword [esp + 0x10]
movd xmm1, edi
cvtdq2pd xmm1, xmm1
mov dword [esp + 0x84], 0xc
and dword [esp + 0x6c], 0
mov dword [esp + 0x68], 4
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movsd qword [esp + 0x70], xmm1
push 1
lea eax, [esp + 0x24]
mov byte [esp + 0x88], 0xd
push eax
mov ecx, ebx
call fcn.1002210f
imul ecx, eax, 0x18
mov eax, dword [ebx + 0xc]
add eax, 8
add ecx, eax
lea eax, [esp + 0x68]
push eax
call fcn.10002d1e
lea ecx, [esp + 0x68]
mov byte [esp + 0x84], 0xc
call fcn.10002db8
or dword [esp + 0x84], 0xffffffff
lea ecx, [esp + 0x20]
call fcn.100026e7
push ecx
push str.monitors
lea ecx, [esp + 0x28]
call fcn.10131390
push 0x50
mov dword [esp + 0x88], 0xe
call dword [sym.imp.USER32.dll_GetSystemMetrics]
and dword [esp + 0x5c], 0
cdq
mov dword [esp + 0x58], 3
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
push 1
lea eax, [esp + 0x24]
mov byte [esp + 0x88], 0xf
push eax
mov ecx, ebx
call fcn.1002210f
imul ecx, eax, 0x18
mov eax, dword [ebx + 0xc]
add eax, 8
add ecx, eax
lea eax, [esp + 0x58]
push eax
call fcn.10002d1e
lea ecx, [esp + 0x58]
mov byte [esp + 0x84], 0xe
call fcn.10002db8
or dword [esp + 0x84], 0xffffffff
lea ecx, [esp + 0x20]
call fcn.100026e7
push ecx
push str.device_width
lea ecx, [esp + 0x28]
call fcn.10131390
mov dword [esp + 0x84], 0x10
lea ecx, [esp + 0x68]
mov edi, dword [esp + 0x24]
mov edx, edi
push 7
call fcn.10025bbd
pop ecx
mov esi, eax
push 1
lea eax, [esp + 0x24]
mov byte [esp + 0x88], 0x11
push eax
mov ecx, ebx
call fcn.1002210f
imul ecx, eax, 0x18
mov eax, dword [ebx + 0xc]
add eax, 8
push esi
add ecx, eax
call fcn.10002d1e
lea ecx, [esp + 0x68]
mov byte [esp + 0x84], 0x10
call fcn.10002db8
or dword [esp + 0x84], 0xffffffff
lea ecx, [esp + 0x20]
call fcn.100026e7
push ecx
push str.device_height
lea ecx, [esp + 0x2c]
call fcn.10131390
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x68]
push 7
mov dword [esp + 0x88], 0x12
call fcn.10025bbd
pop ecx
mov esi, eax
push 1
lea eax, [esp + 0x28]
mov byte [esp + 0x88], 0x13
push eax
mov ecx, ebx
call fcn.1002210f
imul ecx, eax, 0x18
mov eax, dword [ebx + 0xc]
add eax, 8
push esi
add ecx, eax
call fcn.10002d1e
lea ecx, [esp + 0x68]
mov byte [esp + 0x84], 0x12
call fcn.10002db8
or dword [esp + 0x84], 0xffffffff
lea ecx, [esp + 0x24]
call fcn.100026e7
push ecx
push str.device_aspect_ratio
lea ecx, [esp + 0x2c]
call fcn.10131390
movd xmm1, edi
mov dword [esp + 0x84], 0x14
cvtdq2pd xmm1, xmm1
mov esi, dword [esp + 0x14]
and dword [esp + 0x6c], 0
mov dword [esp + 0x68], 4
movd xmm0, esi
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movsd qword [esp + 0x70], xmm1
push 1
lea eax, [esp + 0x28]
mov byte [esp + 0x88], 0x15
push eax
mov ecx, ebx
call fcn.1002210f
imul ecx, eax, 0x18
mov eax, dword [ebx + 0xc]
add eax, 8
add ecx, eax
lea eax, [esp + 0x68]
push eax
call fcn.10002d1e
lea ecx, [esp + 0x68]
mov byte [esp + 0x84], 0x14
call fcn.10002db8
or dword [esp + 0x84], 0xffffffff
lea ecx, [esp + 0x24]
call fcn.100026e7
push ecx
push str.orientation_portrait
lea ecx, [esp + 0x2c]
call fcn.10131390
push 1
lea eax, [esp + 0x28]
mov dword [esp + 0x88], 0x16
push eax
mov ecx, ebx
call fcn.1002210f
cmp esi, edi
setg cl
movzx ecx, cl
push ecx
imul ecx, eax, 0x18
mov eax, dword [ebx + 0xc]
add eax, 8
add ecx, eax
call fcn.10025ab6
or dword [esp + 0x84], 0xffffffff
lea ecx, [esp + 0x24]
call fcn.100026e7
push ecx
push str.orientation_landscape
lea ecx, [esp + 0x2c]
call fcn.10131390
push 1
lea eax, [esp + 0x28]
mov dword [esp + 0x88], 0x17
push eax
mov ecx, ebx
call fcn.1002210f
cmp esi, edi
setl cl
movzx ecx, cl
push ecx
imul ecx, eax, 0x18
mov eax, dword [ebx + 0xc]
add eax, 8
add ecx, eax
call fcn.10025ab6
or esi, 0xffffffff
lea ecx, [esp + 0x24]
mov dword [esp + 0x84], esi
call fcn.100026e7
push ecx
push 0x10257fec
lea ecx, [esp + 0x2c]
call fcn.10131390
mov dword [esp + 0x84], 0x18
push 1
lea eax, [esp + 0x28]
mov ecx, ebx
push eax
call fcn.1002210f
push dword [esp + 0x34]
imul ecx, eax, 0x18
mov eax, dword [ebx + 0xc]
add eax, 8
add ecx, eax
call fcn.10025b0a
lea ecx, [esp + 0x24]
mov dword [esp + 0x84], esi
call fcn.100026e7
push ecx
push str.color_index
lea ecx, [esp + 0x2c]
call fcn.10131390
push 1
lea eax, [esp + 0x28]
mov dword [esp + 0x88], 0x19
push eax
mov ecx, ebx
call fcn.1002210f
imul ecx, eax, 0x18
mov eax, dword [ebx + 0xc]
add eax, 8
push ebp
add ecx, eax
call fcn.10025b0a
lea ecx, [esp + 0x24]
mov dword [esp + 0x84], esi
call fcn.100026e7
mov ebp, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
push ecx
lea ecx, [esp + 0x28]
cmp ebp, edi
jne 0x10026d38
push str.resolution
call fcn.10131390
push 1
lea eax, [esp + 0x28]
mov dword [esp + 0x88], 0x1a
push eax
mov ecx, ebx
call fcn.1002210f
imul ecx, eax, 0x18
mov eax, dword [ebx + 0xc]
add eax, 8
push ebp
add ecx, eax
call fcn.10025b0a
lea ecx, [esp + 0x24]
mov dword [esp + 0x84], esi
call fcn.100026e7
push ecx
push str.min_resolution
lea ecx, [esp + 0x2c]
call fcn.10131390
push 1
lea eax, [esp + 0x28]
mov dword [esp + 0x88], 0x1b
push eax
mov ecx, ebx
call fcn.1002210f
imul ecx, eax, 0x18
mov eax, dword [ebx + 0xc]
add eax, 8
push ebp
add ecx, eax
call fcn.10025b0a
lea ecx, [esp + 0x24]
mov dword [esp + 0x84], esi
call fcn.100026e7
push ecx
push str.max_resolution
lea ecx, [esp + 0x2c]
call fcn.10131390
push 1
lea eax, [esp + 0x28]
mov dword [esp + 0x88], 0x1c
push eax
mov ecx, ebx
call fcn.1002210f
push ebp
jmp 0x10026db4
push str.min_resolution
call fcn.10131390
push 1
lea eax, [esp + 0x28]
mov dword [esp + 0x88], 0x1d
cmp ebp, edi
mov esi, edi
push eax
mov ecx, ebx
cmovl esi, ebp
call fcn.1002210f
imul ecx, eax, 0x18
mov eax, dword [ebx + 0xc]
add eax, 8
push esi
add ecx, eax
call fcn.10025b0a
or esi, 0xffffffff
lea ecx, [esp + 0x24]
mov dword [esp + 0x84], esi
call fcn.100026e7
push ecx
push str.max_resolution
lea ecx, [esp + 0x2c]
call fcn.10131390
cmp ebp, edi
mov dword [esp + 0x84], 0x1e
push 1
lea eax, [esp + 0x28]
mov ecx, ebx
push eax
cmovg edi, ebp
call fcn.1002210f
push edi
imul ecx, eax, 0x18
mov eax, dword [ebx + 0xc]
add eax, 8
add ecx, eax
call fcn.10025b0a
lea ecx, [esp + 0x24]
mov dword [esp + 0x84], esi
call fcn.100026e7
mov ebp, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
push ecx
lea ecx, [esp + 0x28]
cmp ebp, edi
jne 0x10026ec4
push str.resolution_dpcm
call fcn.10131390
xor edi, edi
mov dword [esp + 0x84], 0x1f
inc edi
lea eax, [esp + 0x24]
push edi
push eax
mov ecx, ebx
call fcn.1002210f
imul ecx, eax, 0x18
mov eax, dword [ebx + 0xc]
add eax, 8
push ebp
add ecx, eax
call fcn.10025b0a
lea ecx, [esp + 0x24]
mov dword [esp + 0x84], esi
call fcn.100026e7
push ecx
push str.min_resolution_dpcm
lea ecx, [esp + 0x2c]
call fcn.10131390
push edi
lea eax, [esp + 0x28]
mov dword [esp + 0x88], 0x20
push eax
mov ecx, ebx
call fcn.1002210f
imul ecx, eax, 0x18
mov eax, dword [ebx + 0xc]
add eax, 8
push ebp
add ecx, eax
call fcn.10025b0a
lea ecx, [esp + 0x24]
mov dword [esp + 0x84], esi
call fcn.100026e7
push ecx
push str.max_resolution_dpcm
lea ecx, [esp + 0x2c]
call fcn.10131390
push edi
lea eax, [esp + 0x28]
mov dword [esp + 0x88], 0x21
push eax
mov ecx, ebx
call fcn.1002210f
imul ecx, eax, 0x18
mov eax, dword [ebx + 0xc]
add eax, 8
push ebp
add ecx, eax
call fcn.10025b0a
lea ecx, [esp + 0x24]
mov dword [esp + 0x84], esi
call fcn.100026e7
jmp 0x10026f63
push str.min_resolution_dpcm
call fcn.10131390
push 1
lea eax, [esp + 0x28]
mov dword [esp + 0x88], 0x22
cmp ebp, edi
mov esi, edi
push eax
mov ecx, ebx
cmovl esi, ebp
call fcn.1002210f
imul ecx, eax, 0x18
mov eax, dword [ebx + 0xc]
add eax, 8
push esi
add ecx, eax
call fcn.10025b0a
or esi, 0xffffffff
lea ecx, [esp + 0x24]
mov dword [esp + 0x84], esi
call fcn.100026e7
push ecx
push str.max_resolution_dpcm
lea ecx, [esp + 0x2c]
call fcn.10131390
push 1
lea eax, [esp + 0x28]
mov dword [esp + 0x88], 0x23
cmp ebp, edi
mov ecx, ebx
push eax
cmovg edi, ebp
call fcn.1002210f
imul ecx, eax, 0x18
mov eax, dword [ebx + 0xc]
add eax, 8
push edi
add ecx, eax
call fcn.10025b0a
lea ecx, [esp + 0x24]
mov dword [esp + 0x84], esi
call fcn.100026e7
xor edi, edi
inc edi
push ecx
push str.high_contrast
lea ecx, [esp + 0x2c]
call fcn.10131390
push edi
lea eax, [esp + 0x28]
mov dword [esp + 0x88], 0x24
push eax
mov ecx, ebx
call fcn.1002210f
push dword [esp + 0x18]
imul ecx, eax, 0x18
mov eax, dword [ebx + 0xc]
add eax, 8
add ecx, eax
call fcn.10025ab6
lea ecx, [esp + 0x24]
mov dword [esp + 0x84], esi
call fcn.100026e7
push ecx
push str.contrast_screen
lea ecx, [esp + 0x2c]
call fcn.10131390
push edi
lea eax, [esp + 0x28]
mov dword [esp + 0x88], 0x25
push eax
mov ecx, ebx
call fcn.1002210f
push dword [esp + 0x18]
imul ecx, eax, 0x18
mov eax, dword [ebx + 0xc]
add eax, 8
add ecx, eax
call fcn.10025ab6
lea ecx, [esp + 0x24]
mov dword [esp + 0x84], esi
call fcn.100026e7
push ecx
push str.has_pen
lea ecx, [esp + 0x2c]
call fcn.10131390
push edi
lea eax, [esp + 0x28]
mov dword [esp + 0x88], 0x26
push eax
mov ecx, ebx
call fcn.1002210f
push dword [esp + 0x48]
imul ecx, eax, 0x18
mov eax, dword [ebx + 0xc]
add eax, 8
add ecx, eax
call fcn.10025ab6
lea ecx, [esp + 0x24]
mov dword [esp + 0x84], esi
call fcn.100026e7
push ecx
push str.has_mouse
lea ecx, [esp + 0x2c]
call fcn.10131390
push edi
lea eax, [esp + 0x28]
mov dword [esp + 0x88], 0x27
push eax
mov ecx, ebx
call fcn.1002210f
push dword [esp + 0x4c]
imul ecx, eax, 0x18
mov eax, dword [ebx + 0xc]
add eax, 8
add ecx, eax
call fcn.10025ab6
lea ecx, [esp + 0x24]
mov dword [esp + 0x84], esi
call fcn.100026e7
push ecx
push str.has_mouse_wheel
lea ecx, [esp + 0x2c]
call fcn.10131390
push edi
lea eax, [esp + 0x28]
mov dword [esp + 0x88], 0x28
push eax
mov ecx, ebx
call fcn.1002210f
push dword [esp + 0x50]
imul ecx, eax, 0x18
mov eax, dword [ebx + 0xc]
add eax, 8
add ecx, eax
call fcn.10025ab6
lea ecx, [esp + 0x24]
mov dword [esp + 0x84], esi
call fcn.100026e7
push ecx
push str.has_horizontal_mouse_wheel
lea ecx, [esp + 0x2c]
call fcn.10131390
push edi
lea eax, [esp + 0x28]
mov dword [esp + 0x88], 0x29
push eax
mov ecx, ebx
call fcn.1002210f
imul ecx, eax, 0x18
mov eax, dword [ebx + 0xc]
add eax, 8
push 0
add ecx, eax
call fcn.10025ab6
lea ecx, [esp + 0x24]
mov dword [esp + 0x84], esi
call fcn.100026e7
push ecx
push str.screen_reader
lea ecx, [esp + 0x2c]
call fcn.10131390
push edi
lea eax, [esp + 0x28]
mov dword [esp + 0x88], 0x2a
push eax
mov ecx, ebx
call fcn.1002210f
push dword [esp + 0x28]
imul ecx, eax, 0x18
mov eax, dword [ebx + 0xc]
add eax, 8
add ecx, eax
call fcn.10025ab6
lea ecx, [esp + 0x24]
mov dword [esp + 0x84], esi
call fcn.100026e7
push ecx
push str.slow_machine
lea ecx, [esp + 0x30]
call fcn.10131390
push edi
lea eax, [esp + 0x2c]
mov dword [esp + 0x88], 0x2b
push eax
mov ecx, ebx
call fcn.1002210f
push dword [esp + 0x54]
imul ecx, eax, 0x18
mov eax, dword [ebx + 0xc]
add eax, 8
add ecx, eax
call fcn.10025ab6
lea ecx, [esp + 0x28]
mov dword [esp + 0x84], esi
call fcn.100026e7
push ecx
push str.engine
lea ecx, [esp + 0x30]
call fcn.10131390
push str.htmlayout
lea ecx, [esp + 0x58]
mov dword [esp + 0x88], 0x2c
call fcn.10002639
mov esi, eax
push edi
lea eax, [esp + 0x2c]
mov byte [esp + 0x88], 0x2d
push eax
mov ecx, ebx
call fcn.1002210f
imul ecx, eax, 0x18
mov eax, dword [ebx + 0xc]
add eax, 8
push esi
add ecx, eax
call fcn.10025b5b
lea ecx, [esp + 0x54]
call fcn.100026e7
or dword [esp + 0x84], 0xffffffff
lea ecx, [esp + 0x28]
call fcn.100026e7
push ecx
push 0x102581f4
lea ecx, [esp + 0x30]
call fcn.10131390
push ecx
mov dword [esp + 0x88], 0x2e
call fcn.10132bd5
push eax
lea ecx, [esp + 0x5c]
call fcn.10131390
mov esi, eax
push edi
lea eax, [esp + 0x2c]
mov byte [esp + 0x88], 0x2f
push eax
mov ecx, ebx
call fcn.1002210f
imul ecx, eax, 0x18
mov eax, dword [ebx + 0xc]
add eax, 8
push esi
add ecx, eax
call fcn.10025b5b
lea ecx, [esp + 0x54]
call fcn.100026e7
or dword [esp + 0x84], 0xffffffff
lea ecx, [esp + 0x28]
call fcn.100026e7
mov eax, dword [0x102b7664]
test eax, eax
je 0x1002729e
call eax
mov esi, eax
jmp 0x100272a0
xor esi, esi
push ecx
push str.composition_supported
lea ecx, [esp + 0x30]
call fcn.10131390
mov dword [esp + 0x84], 0x30
and dword [esp + 0x5c], 0
test esi, esi
mov dword [esp + 0x58], 2
setne al
movzx eax, al
cdq
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
push edi
lea eax, [esp + 0x2c]
mov byte [esp + 0x88], 0x31
push eax
mov ecx, ebx
call fcn.1002210f
imul ecx, eax, 0x18
mov eax, dword [ebx + 0xc]
add eax, 8
add ecx, eax
lea eax, [esp + 0x58]
push eax
call fcn.10002d1e
lea ecx, [esp + 0x58]
mov byte [esp + 0x84], 0x30
call fcn.10002db8
lea ecx, [esp + 0x28]
call fcn.100026e7
mov ecx, dword [esp + 0x7c]
pop edi
mov dword fs:[0], ecx
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret