Function at 0x1006491
Capabilities:
Hide graphical window

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x504
mov eax, dword [0x10290ac]
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
mov esi, 0x1029108
push esi
mov dword [ebp - 0x4ac], ebx
mov dword [ebp - 0x49c], eax
call fcn.01002c1b
push 0x1001a80
mov dword [0x1029128], 0x10016dc
mov dword [0x1029044], esi
call fcn.01002d1e
mov eax, dword [0x1029044]
mov esi, 0x1029044
cmp eax, esi
je 0x100651b
test byte [eax + 0x1c], 4
je 0x100651b
cmp byte [eax + 0x19], 5
jb 0x100651b
push dword [ebp + 0x14]
push dword [ebp - 0x49c]
push edi
push ebx
mov ebx, 0x10016ac
push ebx
push 0xa
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01002ba7
jmp 0x1006520
mov ebx, 0x10016ac
xor edi, edi
lea ecx, [ebp - 0x4a8]
mov dword [ebp - 0x4b4], edi
call fcn.01003e4c
lea ecx, [ebp - 0x4cc]
call fcn.01003e4c
lea eax, [ebp - 0x4cc]
push eax
lea eax, [ebp - 0x4a8]
push eax
call fcn.01020ff9
dec eax
neg eax
sbb eax, eax
and eax, 0x80004005
lea ecx, [ebp - 0x4a4]
mov dword [ebp - 0x494], eax
call fcn.01003e4c
push 0x1001a7c
lea eax, [ebp - 0x4a8]
push eax
lea eax, [ebp - 0x4b0]
push eax
call fcn.01004666
push eax
lea ecx, [ebp - 0x4a4]
call fcn.01004439
lea ecx, [ebp - 0x4b0]
call fcn.01003938
push 0x1001a30
lea ecx, [ebp - 0x4a4]
call fcn.01004578
cmp dword [ebp - 0x494], edi
mov dword [ebp - 0x498], edi
jl 0x10068fc
push dword [ebp - 0x49c]
lea ecx, [ebp - 0x4a0]
call fcn.01006444
push edi
push 0x1001a20
lea ecx, [ebp - 0x4a0]
call fcn.01003d5e
cmp eax, 0xffffffff
mov edi, dword [sym.imp.KERNEL32.dll_OpenEventW]
mov ebx, 0x100002
je 0x1006683
push 0x10019c8
push 0
push ebx
call edi
mov dword [ebp - 0x498], eax
mov eax, dword [0x1029044]
cmp eax, esi
je 0x1006630
test byte [eax + 0x1c], 8
je 0x1006630
cmp byte [eax + 0x19], 4
jb 0x1006630
push dword [ebp - 0x498]
push 0x10016ac
push 0xb
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01002b7b
cmp dword [ebp - 0x498], 0
je 0x1006683
push dword [ebp - 0x498]
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov ecx, dword [0x1029044]
cmp ecx, esi
je 0x100666e
test byte [ecx + 0x1c], 8
je 0x100666e
cmp byte [ecx + 0x19], 4
jb 0x100666e
push eax
push 0x10016ac
push 0xc
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01002b7b
lea ecx, [ebp - 0x498]
call fcn.01002f5b
mov dword [ebp - 0x494], 0x80004005
lea ecx, [ebp - 0x4a0]
call fcn.01003938
cmp dword [ebp - 0x494], 0
jl 0x10068f7
push dword [ebp - 0x4a4]
push 0
push ebx
call edi
mov ecx, dword [0x1029044]
cmp ecx, esi
mov edi, eax
mov dword [ebp - 0x498], edi
je 0x10066dd
test byte [ecx + 0x1c], 8
je 0x10066dd
cmp byte [ecx + 0x19], 4
jb 0x10066dd
push edi
push 0x10016ac
push 0xd
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01002b7b
mov ecx, dword [0x1029044]
test edi, edi
je 0x100672c
push edi
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov ecx, dword [0x1029044]
cmp ecx, esi
je 0x1006711
test byte [ecx + 0x1c], 8
je 0x1006711
cmp byte [ecx + 0x19], 4
jb 0x1006711
push eax
push 0x10016ac
push 0xe
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01002b7b
lea ecx, [ebp - 0x498]
call fcn.01002f5b
mov ecx, dword [0x1029044]
mov dword [ebp - 0x494], 0x80004005
cmp dword [ebp - 0x494], 0
jl 0x10067c4
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
push 0x64
pop edi
jne 0x1006776
push 0x40
push ecx
mov eax, esp
mov dword [ebp - 0x4b8], esp
push ecx
mov dword [eax], edi
mov eax, esp
mov dword [ebp - 0x4b8], esp
push 0
mov dword [eax], 0x271a
call fcn.0100328f
mov dword [ebp - 0x494], 0x80004005
cmp dword [ebp - 0x494], 0
jl 0x10068f7
call fcn.0101d668
cmp eax, 1
jne 0x10068f7
push 0x40
push ecx
mov eax, esp
mov dword [ebp - 0x4b8], esp
push ecx
mov dword [eax], edi
mov eax, esp
mov dword [ebp - 0x4b8], esp
push 0
mov dword [eax], 0x1001988
call fcn.0100328f
mov ecx, dword [0x1029044]
mov dword [ebp - 0x494], 0x80004005
mov ebx, 0x10016ac
xor eax, eax
cmp dword [ebp - 0x494], eax
mov dword [ebp - 0x4b0], eax
jl 0x1006ae6
push 2
push eax
call dword [sym.imp.ole32.dll_CoInitializeEx]
mov ecx, dword [0x1029044]
cmp ecx, esi
mov edi, eax
je 0x1006813
test byte [ecx + 0x1c], 8
je 0x1006813
cmp byte [ecx + 0x19], 4
jb 0x1006813
push edi
push ebx
push 0xf
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01002b7b
mov ecx, dword [0x1029044]
test edi, edi
mov dword [ebp - 0x4b0], edi
jl 0x1006ae6
lea eax, [ebp - 0x4bc]
push eax
mov dword [ebp - 0x4bc], 8
mov dword [ebp - 0x4b8], 0x404
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
mov ecx, dword [0x1029044]
cmp ecx, esi
mov edi, eax
je 0x100686f
test byte [ecx + 0x1c], 8
je 0x100686f
cmp byte [ecx + 0x19], 4
jb 0x100686f
push edi
push ebx
push 0x11
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01002b7b
mov ecx, dword [0x1029044]
neg edi
sbb edi, edi
and edi, 0x7fffbffb
add edi, 0x80004005
mov dword [ebp - 0x494], edi
js 0x1006ae6
xor edi, edi
push edi
lea eax, [ebp - 0x4c4]
push eax
lea eax, [ebp - 0x4c8]
push eax
mov dword [ebp - 0x4c4], 1
mov dword [ebp - 0x4c0], edi
mov dword [ebp - 0x4bc], edi
mov dword [ebp - 0x4b8], edi
call sub.gdiplus.dll_GdiplusStartup
cmp eax, edi
je 0x1006907
mov ecx, dword [0x1029044]
cmp ecx, esi
je 0x1006ae6
test byte [ecx + 0x1c], 8
je 0x1006ae6
cmp byte [ecx + 0x19], 2
jb 0x1006ae6
push eax
push ebx
push 0x12
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01002b7b
jmp 0x1006ae0
mov ebx, 0x10016ac
mov ecx, dword [0x1029044]
jmp 0x10067c9
mov eax, dword [0x1029044]
cmp eax, esi
je 0x100692b
test byte [eax + 0x1c], 8
je 0x100692b
cmp byte [eax + 0x19], 5
jb 0x100692b
push edi
push ebx
push 0x13
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01002b7b
push edi
push dword [ebp - 0x4ac]
mov dword [ebp - 0x4b8], 1
push edi
mov edi, 0x1029160
mov ecx, edi
call fcn.010037e8
mov ecx, dword [0x1029044]
cmp ecx, esi
mov dword [ebp - 0x494], eax
je 0x100697a
test byte [ecx + 0x1c], 8
je 0x100697a
cmp byte [ecx + 0x19], 4
jb 0x100697a
push eax
push ebx
push 0x14
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01002b7b
mov ecx, dword [0x1029044]
cmp dword [ebp - 0x494], 0
jl 0x1006aef
lea ecx, [ebp - 0x504]
call fcn.01003c86
lea eax, [ebp - 0x504]
push eax
mov ecx, edi
call fcn.01003f52
push dword [ebp - 0x49c]
lea ecx, [ebp - 0x4a0]
mov dword [ebp - 0x494], 1
call fcn.01006444
jmp 0x1006aaf
lea ecx, [ebp - 0x490]
call fcn.01008af5
lea eax, [ebp - 0x4ac]
push eax
push dword [ebp - 0x4a8]
lea ecx, [ebp - 0x490]
push dword [ebp - 0x4a4]
mov dword [ebp - 0x4ac], 1
push dword [ebp - 0x4a0]
call fcn.0100a53f
xor ecx, ecx
cmp eax, ecx
jl 0x1006a8b
push ecx
push ecx
push ecx
push ecx
mov eax, esp
mov dword [ebp - 0x49c], esp
mov dword [eax], ecx
push ecx
lea ecx, [ebp - 0x490]
call fcn.010046df
mov dword [ebp - 0x49c], eax
mov eax, dword [0x1029044]
cmp eax, esi
je 0x1006a52
test byte [eax + 0x1c], 8
je 0x1006a52
cmp byte [eax + 0x19], 4
jb 0x1006a52
xor ecx, ecx
cmp dword [ebp - 0x49c], ecx
setne cl
push ecx
push ebx
push 0x15
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01002b7b
cmp dword [ebp - 0x49c], 0
je 0x1006a8b
push 0
lea ecx, [ebp - 0x48c]
call fcn.0100310a
push dword [ebp - 0x4ac]
push dword [ebp - 0x48c]
call dword [sym.imp.USER32.dll_ShowWindow]
lea ecx, [ebp - 0x504]
call fcn.0100375e
mov dword [ebp - 0x4b4], eax
lea eax, [ebp - 0x4a0]
push eax
lea eax, [ebp - 0x494]
push eax
lea ecx, [ebp - 0x490]
call fcn.0100a49b
lea ecx, [ebp - 0x490]
call fcn.010045c4
cmp dword [ebp - 0x494], 1
je 0x10069c0
mov ecx, edi
call fcn.010043f6
mov ecx, edi
call fcn.010043d1
lea ecx, [ebp - 0x4a0]
call fcn.01003938
lea ecx, [ebp - 0x504]
call fcn.01003d43
mov ecx, dword [0x1029044]
cmp dword [ebp - 0x4b8], 0
je 0x1006b24
cmp ecx, esi
je 0x1006b13
test byte [ecx + 0x1c], 8
je 0x1006b13
cmp byte [ecx + 0x19], 5
jb 0x1006b13
push dword [ebp - 0x4c8]
push ebx
push 0x16
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01002b7b
push dword [ebp - 0x4c8]
call sub.gdiplus.dll_GdiplusShutdown
mov ecx, dword [0x1029044]
cmp dword [ebp - 0x4b0], 0
jl 0x1006b5d
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [0x1029044]
cmp ecx, esi
je 0x1006b81
test byte [ecx + 0x1c], 8
je 0x1006b5d
cmp byte [ecx + 0x19], 4
jb 0x1006b5d
push ebx
push 0x17
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01002b55
mov ecx, dword [0x1029044]
cmp ecx, esi
je 0x1006b81
test byte [ecx + 0x1c], 4
je 0x1006b81
cmp byte [ecx + 0x19], 5
jb 0x1006b81
push dword [ebp - 0x4b4]
push ebx
push 0x18
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01002b7b
call fcn.01002d6c
cmp dword [ebp - 0x498], 0
je 0x1006b9a
lea ecx, [ebp - 0x498]
call fcn.01002f5b
lea ecx, [ebp - 0x4a4]
call fcn.01003938
lea ecx, [ebp - 0x4cc]
call fcn.01003938
lea ecx, [ebp - 0x4a8]
call fcn.01003938
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x4b4]
call fcn.0101d1cf
pop edi
pop esi
pop ebx
leave
ret 0x10