Function at 0x40ef8e
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x7c
mov eax, dword [0x46f06c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x7f00
mov ebx, ecx
xor esi, esi
push esi
mov dword [ebp - 0x60], ebx
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call fcn.0040d10c
mov edx, ebx
lea ecx, [ebx + 0x20]
neg edx
sbb edx, edx
and edx, ecx
mov ecx, eax
push edx
call fcn.0040d089
push esi
mov dword [ebx + 0x310], esi
mov edi, dword [0x470d00]
mov ebx, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0xc
call ebx
push eax
push 0xb
call ebx
mov ebx, dword [sym.imp.USER32.dll_LoadImageW]
push eax
push 1
push 0x83b
push edi
call ebx
mov ecx, dword [ebp - 0x60]
push eax
add ecx, 4
push 1
push 0x80
mov dword [ebp - 0x64], ecx
push dword [ecx]
call dword [sym.imp.USER32.dll_SendMessageW]
mov edi, dword [0x470d00]
push esi
push 0x32
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push eax
push 0x31
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push eax
push 1
push 0x83b
push edi
call ebx
mov edi, eax
push edi
push esi
mov esi, dword [ebp - 0x64]
push 0x80
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [0x47045c], 8
mov ecx, 0x470448
cmovae ecx, dword [0x470448]
push ecx
push dword [esi]
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov ebx, dword [ebp - 0x60]
xor ecx, ecx
mov eax, dword [esi]
inc ecx
mov dword [ebx + 0x634], eax
xor eax, eax
mov dword [ebx + 0x630], ecx
mov dword [ebx + 0x638], 0xa05
mov dword [ebx + 0x63c], edi
mov dword [ebx + 0x640], ecx
mov byte [ebx + 0x65c], al
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], eax
call fcn.0040cae2
xor ecx, ecx
mov edx, str.Tahoma
cmp eax, 7
mov eax, 0x467c9c
setge cl
test ecx, ecx
mov dword [ebp - 0x74], ecx
cmove eax, edx
push eax
mov dword [ebp - 0x7c], eax
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0xe
pop eax
push 0x11
pop edx
test ecx, ecx
cmovne eax, edx
push eax
call dword [sym.imp.GDI32.dll_CreateFontW]
push 0x86d
mov ecx, ebx
mov dword [ebp - 0x78], eax
call fcn.0040ef39
lea eax, [ebp - 0x2c]
xorps xmm0, xmm0
push eax
push dword [esi]
movups xmmword [ebp - 0x2c], xmm0
call dword [sym.imp.USER32.dll_GetClientRect]
push 0x867
push dword [esi]
call dword [sym.imp.USER32.dll_GetDlgItem]
lea ecx, [ebx + 0x2c]
push eax
call fcn.00410d46
push ecx
mov ecx, dword [0x470cfc]
mov edx, 0x87f
call fcn.0040cce0
mov edi, eax
lea eax, [ebp - 0xc]
pop ecx
push eax
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x70], edi
call fcn.00410ded
mov eax, dword [ebp - 0xc]
xor esi, esi
cdq
push esi
and edx, 3
push 4
push 0x20
push dword [ebp - 8]
lea ebx, [edx + eax]
sar ebx, 2
push ebx
call dword [sym.imp.COMCTL32.dll_ImageList_Create]
mov ecx, dword [ebp - 0x60]
push esi
push edi
push eax
mov dword [ecx + 0x304], eax
call dword [sym.imp.COMCTL32.dll_ImageList_Add]
mov eax, dword [ebp - 0x60]
mov dword [eax + 0x50], 9
push dword [eax + 0x304]
lea edi, [eax + 0x2c]
mov ecx, edi
call fcn.00410d14
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x28]
sub eax, dword [ebp - 8]
push 4
push dword [ebp - 8]
sub eax, 0x30
mov dword [edi + 0x2c], esi
push ebx
push eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x2c]
sub eax, ebx
mov dword [edi + 0x30], 2
mov ebx, dword [ebp - 0x60]
cdq
sub eax, edx
mov dword [edi + 0x34], 1
sar eax, 1
push eax
push esi
mov dword [edi + 0x38], 3
push dword [ebx + 0x30]
call dword [sym.imp.USER32.dll_SetWindowPos]
push esi
push dword [ebx + 0x30]
call dword [sym.imp.USER32.dll_ShowWindow]
push 0x87b
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
lea ecx, [ebx + 0x12c]
push eax
call fcn.00410d46
mov dword [ebx + 0x150], 9
mov edx, 0xae0
push ecx
mov ecx, dword [0x470cfc]
call fcn.0040cce0
mov edi, eax
lea eax, [ebp - 0xc]
pop ecx
push eax
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x6c], edi
call fcn.00410ded
mov eax, dword [ebp - 0xc]
cdq
push esi
and edx, 3
push 4
push 0x20
push dword [ebp - 8]
lea ebx, [edx + eax]
sar ebx, 2
push ebx
call dword [sym.imp.COMCTL32.dll_ImageList_Create]
mov ecx, dword [ebp - 0x60]
push esi
push edi
push eax
mov dword [ecx + 0x308], eax
call dword [sym.imp.COMCTL32.dll_ImageList_Add]
mov eax, dword [ebp - 0x60]
push dword [eax + 0x308]
lea edi, [eax + 0x12c]
mov ecx, edi
call fcn.00410d14
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x28]
sub eax, dword [ebp - 8]
push 4
push dword [ebp - 8]
mov dword [edi + 0x2c], esi
sub eax, 0x30
mov dword [edi + 0x30], 2
mov dword [edi + 0x34], 1
mov dword [edi + 0x38], esi
push ebx
push eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x2c]
sub eax, ebx
mov ebx, dword [ebp - 0x60]
cdq
sub eax, edx
sar eax, 1
push eax
push esi
push dword [ebx + 0x130]
call dword [sym.imp.USER32.dll_SetWindowPos]
push esi
push dword [ebx + 0x130]
call dword [sym.imp.USER32.dll_ShowWindow]
push 0x869
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
lea ecx, [ebx + 0xac]
push eax
call fcn.00410d46
push ecx
mov ecx, dword [0x470cfc]
mov edx, 0x86f
call fcn.0040cce0
mov edi, eax
lea eax, [ebp - 0xc]
pop ecx
push eax
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x68], edi
call fcn.00410ded
mov eax, dword [ebp - 0xc]
cdq
push esi
and edx, 3
push 4
push 0x20
push dword [ebp - 8]
lea ebx, [edx + eax]
sar ebx, 2
push ebx
call dword [sym.imp.COMCTL32.dll_ImageList_Create]
mov ecx, dword [ebp - 0x60]
push esi
push edi
push eax
mov dword [ecx + 0x30c], eax
call dword [sym.imp.COMCTL32.dll_ImageList_Add]
mov edi, dword [ebp - 0x60]
inc esi
push esi
push dword [ebp - 0x78]
push 0x30
push dword [edi + 0xb0]
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [edi + 0xd0], esi
lea esi, [edi + 0xac]
push dword [edi + 0x30c]
mov ecx, esi
call fcn.00410d14
mov ecx, dword [ebp - 0x24]
xor eax, eax
push 4
push dword [ebp - 8]
sub ecx, ebx
mov dword [esi + 0x2c], eax
push ebx
push eax
push ecx
mov ebx, edi
mov dword [esi + 0x30], 2
push eax
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 3
push dword [ebx + 0xb0]
call dword [sym.imp.USER32.dll_SetWindowPos]
push dword [ebp - 0x7c]
xor eax, eax
push eax
push eax
push eax
push eax
push eax
cmp dword [ebp - 0x74], 0
push eax
push eax
push eax
push 0x190
push eax
push eax
push eax
push 0xffffffffffffffec
pop eax
push 0xffffffffffffffe9
pop ecx
cmovne eax, ecx
push eax
call dword [sym.imp.GDI32.dll_CreateFontW]
push 0x868
push dword [ebx + 4]
mov esi, eax
call dword [sym.imp.USER32.dll_GetDlgItem]
lea edi, [ebx + 0x1ac]
push eax
mov ecx, edi
call fcn.0041097b
push esi
mov ecx, edi
call fcn.00410912
push 0xffffff
mov ecx, edi
call fcn.0041094b
push 4
push 0x1e
push 0x17e
push 0x32
xor esi, esi
push esi
push esi
push dword [ebx + 0x1b0]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov edx, 0xada
lea ecx, [ebp - 0x1c]
call fcn.00409c3f
cmp dword [eax + 0x14], 8
jb 0x40f41b
mov eax, dword [eax]
push eax
push dword [ebx + 0x1b0]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push esi
push 1
lea ecx, [ebp - 0x1c]
call fcn.0040182a
push 0x467cb8
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0xfffffffffffffff4
call dword [sym.imp.GDI32.dll_CreateFontW]
push 0x881
push dword [ebx + 4]
mov edi, eax
call dword [sym.imp.USER32.dll_GetDlgItem]
lea esi, [ebx + 0x254]
push eax
mov ecx, esi
call fcn.0041097b
push edi
mov ecx, esi
call fcn.00410912
push 0xffffff
mov ecx, esi
call fcn.0041094b
push 4
push 0x1e
push 0x17e
push 0x4f
push 8
push 0
push dword [ebx + 0x258]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov edx, 0x86a
lea ecx, [ebp - 0x1c]
call fcn.00409c3f
cmp dword [eax + 0x14], 8
jb 0x40f4b0
mov eax, dword [eax]
push eax
push dword [ebx + 0x258]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 0
push 1
lea ecx, [ebp - 0x1c]
call fcn.0040182a
lea eax, [ebp - 0x4c]
xorps xmm0, xmm0
push eax
push dword [ebx + 0x1b0]
mov ebx, dword [sym.imp.USER32.dll_GetWindowRect]
movups xmmword [ebp - 0x4c], xmm0
movups xmmword [ebp - 0x5c], xmm0
call ebx
mov ecx, dword [ebp - 0x60]
lea eax, [ebp - 0x5c]
push eax
push dword [ecx + 0x258]
call ebx
mov ecx, dword [ebp - 0x60]
lea esi, [ebp - 0x4c]
sub esp, 0x10
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0040ee68
mov ecx, dword [ebp - 0x60]
lea esi, [ebp - 0x5c]
sub esp, 0x10
mov edi, esp
mov dword [ecx + 0x2fc], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0040ee68
mov ecx, dword [ebp - 0x60]
xorps xmm0, xmm0
movups xmmword [ebp - 0x3c], xmm0
mov dword [ecx + 0x300], eax
lea eax, [ebp - 0x3c]
push eax
push dword [ecx + 4]
call ebx
mov esi, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
sub esi, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x38]
inc eax
push eax
lea eax, [esi + 1]
push eax
push 0
push 0
call dword [sym.imp.GDI32.dll_CreateRectRgn]
mov edi, eax
lea ecx, [esi - 1]
xor eax, eax
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x14], eax
mov ebx, eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 8], eax
mov ecx, dword [ebp + ebx*8 - 0x10]
mov edx, dword [ebp + ebx*8 - 0x14]
lea eax, [ecx + 1]
push eax
lea eax, [edx + 1]
push eax
push ecx
push edx
call dword [sym.imp.GDI32.dll_CreateRectRgn]
push 4
mov esi, eax
push esi
push edi
push edi
call dword [sym.imp.GDI32.dll_CombineRgn]
test esi, esi
je 0x40f59d
push esi
call dword [sym.imp.GDI32.dll_DeleteObject]
inc ebx
cmp ebx, 2
jb 0x40f56d
mov eax, dword [ebp - 0x64]
mov ebx, dword [ebp - 0x60]
push dword [ebp - 0x74]
movaps xmm0, xmmword [0x469aa0]
mov esi, dword [eax]
and dword [ebx + 0x368], 0
lea eax, [ebx + 0x360]
push eax
push 0x46fa98
movups xmmword [ebp - 0x14], xmm0
call fcn.004052f1
add esp, 8
movzx eax, ax
lea ecx, [ebx + 0x340]
push eax
xor eax, eax
push eax
push eax
push 0x50000000
push eax
lea eax, [ebp - 0x14]
push eax
push esi
call fcn.0040525a
mov eax, dword [ebp - 0x64]
xor esi, esi
mov ebx, dword [sym.imp.USER32.dll_SetTimer]
push esi
push 0x12c
push 5
push dword [eax]
call ebx
mov eax, dword [ebp - 0x64]
push esi
push 0x1e
push 4
push dword [eax]
call ebx
mov ebx, dword [ebp - 0x64]
push 1
push edi
push dword [ebx]
call dword [sym.imp.USER32.dll_SetWindowRgn]
push dword [ebx]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push ecx
mov ecx, ebx
call fcn.0040d27f
push esi
push esi
push 0xa02
push dword [ebx]
mov ebx, dword [sym.imp.USER32.dll_PostMessageW]
call ebx
mov eax, dword [ebp - 0x64]
push esi
push esi
push 0xb00
push dword [eax]
call ebx
mov ebx, dword [sym.imp.GDI32.dll_DeleteObject]
test edi, edi
je 0x40f65f
push edi
call ebx
mov eax, dword [ebp - 0x68]
test eax, eax
je 0x40f669
push eax
call ebx
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x40f673
push eax
call ebx
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x40f67d
push eax
call ebx
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
inc eax
pop ebx
call fcn.0043223c
mov esp, ebp
pop ebp
ret 8