Function at 0x100161e0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x54
push ebx
push esi
push edi
xor edi, edi
push edi
push dword [0x102b7444]
push edi
push dword [ebp + 8]
push 0xa
push 0xa
push edi
push edi
push 0x80c80000
push edi
call sym.HTMLayout.dll_HTMLayoutClassNameA
push eax
push 0x101
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov esi, dword [ebp + 0x20]
mov ebx, eax
mov dword [esp + 0x10], ebx
test esi, esi
je 0x1001624a
push dword [ebp + 0x28]
push esi
push ebx
call sym.HTMLayout.dll_HTMLayoutSetCallback
push dword [ebp + 0x28]
lea eax, [esp + 0x1c]
mov dword [esp + 0x24], 0xb0f
push eax
push edi
push 0x4e
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], edi
call esi
mov eax, dword [ebp + 0x2c]
test eax, eax
je 0x100164e0
cmp dword [ebp + 0x30], edi
jne 0x10016263
push eax
push ebx
call sym.HTMLayout.dll_HTMLayoutLoadFile
jmp 0x1001626d
push dword [ebp + 0x30]
push eax
push ebx
call sym.HTMLayout.dll_HTMLayoutLoadHtml
lea eax, [esp + 0x14]
mov dword [esp + 0x14], edi
push eax
push ebx
call sym.HTMLayout.dll_HTMLayoutGetRootElement
push dword [esp + 0x14]
call sym.HTMLayout.dll_HTMLayout_UseElement
xor edi, edi
test eax, eax
cmove edi, dword [esp + 0x14]
mov dword [esp + 0x14], edi
test edi, edi
je 0x100164e0
cmp dword [ebp + 0x24], 0
je 0x100162ac
push dword [ebp + 0x28]
push dword [ebp + 0x24]
push edi
call sym.HTMLayout.dll_HTMLayoutAttachEventHandler
lea eax, [esp + 0x14]
push str.title
push eax
call fcn.100167e4
pop ecx
pop ecx
mov ebx, eax
push ebx
call sym.HTMLayout.dll_HTMLayout_UseElement
xor esi, esi
test eax, eax
cmove esi, ebx
mov dword [esp + 0x14], esi
test esi, esi
je 0x10016323
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x18]
call fcn.10016161
mov eax, dword [eax]
test eax, eax
je 0x100162ed
add eax, 8
jmp 0x100162f2
mov eax, 0x102b8f34
push eax
lea ecx, [esp + 0x18]
call fcn.10133beb
lea ecx, [esp + 0x18]
call fcn.100165e5
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
add eax, 0xc
push eax
push ebx
call dword [sym.imp.USER32.dll_SetWindowTextA]
lea ecx, [esp + 0x14]
call fcn.10002371
jmp 0x10016327
mov ebx, dword [esp + 0x10]
push ebx
call sym.HTMLayout.dll_HTMLayoutGetMinWidth
mov ebx, eax
push ebx
push dword [esp + 0x14]
call sym.HTMLayout.dll_HTMLayoutGetMinHeight
mov ecx, dword [ebp + 0xc]
dec eax
mov edx, dword [ebp + 0x10]
add eax, edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x24], ecx
dec ecx
push 0xffffffffffffffec
push dword [esp + 0x14]
add ecx, ebx
mov dword [esp + 0x24], edx
mov ebx, dword [sym.imp.USER32.dll_GetWindowLongA]
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], eax
call ebx
push eax
push 0
push 0xfffffffffffffff0
push dword [esp + 0x1c]
call ebx
push eax
lea eax, [esp + 0x30]
push eax
call dword [sym.imp.USER32.dll_AdjustWindowRectEx]
mov ebx, dword [ebp + 0x14]
lea eax, [ebx + 9]
cmp eax, 8
ja 0x100163c5
movdqa xmm0, xmmword [0x102711a0]
lea eax, [esp + 0x34]
push eax
push dword [ebp + 8]
movdqu xmmword [esp + 0x3c], xmm0
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, ebx
lea ecx, [esp + 0x34]
cdq
mov ebx, eax
lea eax, [esp + 0x18]
xor ebx, edx
sub ebx, edx
push ebx
push eax
call fcn.10016710
push eax
push ebx
jmp 0x10016407
test ebx, ebx
je 0x100163d4
cmp ebx, 9
jg 0x100163d4
lea eax, [esp + 0x18]
jmp 0x100163c1
movdqa xmm0, xmmword [0x102711a0]
lea eax, [esp + 0x34]
push eax
movdqu xmmword [esp + 0x38], xmm0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
push 5
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x3c]
call fcn.10016710
push eax
push 5
lea ecx, [esp + 0x2c]
call fcn.10016604
mov ebx, dword [esp + 0x10]
lea edx, [esp + 0x24]
mov ecx, ebx
call fcn.1001bc63
mov eax, dword [esp + 0x30]
sub eax, dword [esp + 0x28]
push 0xc
inc eax
push eax
mov eax, dword [esp + 0x34]
sub eax, dword [esp + 0x2c]
inc eax
push eax
push dword [esp + 0x34]
push dword [esp + 0x34]
push 0
push ebx
call dword [sym.imp.USER32.dll_SetWindowPos]
push ebx
call dword [sym.imp.USER32.dll_SetFocus]
push 5
push ebx
call dword [sym.imp.USER32.dll_ShowWindow]
push 4
push ebx
call dword [sym.imp.USER32.dll_GetWindow]
push eax
mov dword [esp + 0x18], eax
call dword [sym.imp.USER32.dll_UpdateWindow]
push 0
push dword [esp + 0x18]
call dword [sym.imp.USER32.dll_EnableWindow]
jmp 0x100164ad
push ebx
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x100164d0
xor eax, eax
push eax
push eax
push eax
lea eax, [esp + 0x50]
push eax
call dword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
je 0x100164ba
lea eax, [esp + 0x44]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [esp + 0x44]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
push ebx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x10016478
jmp 0x100164d0
push 1
push dword [esp + 0x18]
call dword [sym.imp.USER32.dll_EnableWindow]
push dword [esp + 0x4c]
call dword [sym.imp.USER32.dll_PostQuitMessage]
test esi, esi
je 0x100164da
push esi
call sym.HTMLayout.dll_HTMLayout_UnuseElement
push edi
call sym.HTMLayout.dll_HTMLayout_UnuseElement
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x2c