Function at 0x1001bf15
Capabilities:
Hide graphical window

Disassembly:
push 0x154
mov eax, 0x1002749e
call fcn.1002561c
mov ebx, ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x150], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14c], eax
call fcn.100223d0
mov edi, eax
lea eax, [ebp - 0x160]
push eax
push 0x100
lea eax, [ebp - 0x110]
mov esi, dword [edi]
push eax
mov ecx, dword [esi]
call dword [0x100293c8]
mov ecx, edi
call dword [esi]
mov ecx, dword [ebx + 0x14]
lea eax, [ebp - 0x110]
push 0xffffffffffffffff
push 0xffffffffffffffff
push eax
push 5
call fcn.100229b9
mov eax, dword [ebp + 0x10]
xorps xmm0, xmm0
mov ecx, dword [ebx + 0x14]
mov dword [ebx + 0x68], eax
mov eax, dword [ebp + 0x14]
mov dword [ebx + 0x64], eax
xor eax, eax
movsd qword [ebx + 0xa0], xmm0
movaps xmm0, xmmword [0x1002aed0]
mov dword [ebx + 0xa8], eax
movups xmmword [ebp - 0x120], xmm0
call fcn.1000bc8a
xor ecx, ecx
mov dword [ebx + 0x18], eax
push ecx
push ecx
mov eax, esp
push ecx
push ecx
push str.Adobe_WMP
mov dword [eax], ecx
push ecx
mov eax, esp
lea ecx, [ebp - 0x120]
mov dword [eax], ecx
lea ecx, [ebx + 0x1c]
push dword [ebx + 0x18]
call fcn.1000bc8a
mov ecx, dword [ebx + 0x14]
call fcn.1000bc8a
mov byte [ebx + 0x61], al
test al, al
je 0x1001bff0
mov ecx, ebx
call fcn.1001b92b
test al, al
je 0x1001bff0
mov al, 1
jmp 0x1001bff2
xor eax, eax
cmp byte [ebx + 0x61], 0
mov byte [ebx + 0x62], al
je 0x1001c040
mov esi, dword [ebx + 0x44]
mov dword [ebp - 0x13c], esi
test esi, esi
je 0x1001c018
mov eax, dword [esi]
push esi
mov edi, dword [eax + 4]
mov ecx, edi
call dword [0x100293c8]
call edi
xor eax, eax
test esi, esi
push 0x40
mov dword [ebp - 4], eax
pop eax
push 0x48
pop ecx
cmovne eax, ecx
mov ecx, dword [ebx + 0x14]
push eax
call fcn.1000bc8a
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x13c]
call fcn.10012573
mov ecx, dword [ebx + 0x14]
lea eax, [ebp - 0x120]
push eax
call fcn.1000bc8a
push 1
lea eax, [ebp - 0x120]
lea esi, [ebx + 0x20]
push eax
mov ecx, esi
call fcn.1000bc8a
push 5
push dword [esi]
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [ebx + 0x14]
xor eax, eax
mov byte [ebp - 0x13d], al
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0x13d]
push eax
call fcn.1000bc8a
cmp byte [ebp - 0x13d], 0
je 0x1001c0e0
movsd xmm1, qword [0x1002aea8]
movsd xmm0, qword [ebp - 0x128]
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
movsd xmm0, qword [ebp - 0x130]
mulsd xmm0, xmm1
movzx ecx, al
shl ecx, 8
cvttsd2si eax, xmm0
movsd xmm0, qword [ebp - 0x138]
mulsd xmm0, xmm1
movzx eax, al
or ecx, eax
shl ecx, 8
cvttsd2si eax, xmm0
movzx eax, al
or ecx, eax
jmp 0x1001c0ea
push 5
call dword [sym.imp.USER32.dll_GetSysColor]
mov ecx, eax
push ebx
xor eax, eax
mov dword [ebx + 0x58], ecx
mov byte [ebx + 0x60], al
push 0x1001b910
push dword [0x1004132c]
call fcn.10011deb
add esp, 0xc
push dword [esi]
call dword [sym.imp.USER32.dll_BringWindowToTop]
push 5
push dword [esi]
call dword [sym.imp.USER32.dll_ShowWindow]
mov esi, dword [ebx + 0x44]
mov dword [ebp - 0x13c], esi
test esi, esi
je 0x1001c135
mov eax, dword [esi]
push esi
mov edi, dword [eax + 4]
mov ecx, edi
call dword [0x100293c8]
call edi
lea ecx, [ebp - 0x13c]
call fcn.10012573
test esi, esi
je 0x1001c463
mov esi, dword [ebx + 0x44]
mov dword [ebp - 0x13c], esi
test esi, esi
je 0x1001c165
mov eax, dword [esi]
push esi
mov edi, dword [eax + 4]
mov ecx, edi
call dword [0x100293c8]
call edi
mov eax, dword [esi]
xor edx, edx
push edx
push esi
mov dword [ebp - 4], 1
mov esi, dword [eax + 0xa4]
mov ecx, esi
call dword [0x100293c8]
call esi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x13c]
call fcn.10012573
mov esi, dword [ebx + 0x44]
mov dword [ebp - 0x13c], esi
test esi, esi
je 0x1001c1ae
mov eax, dword [esi]
push esi
mov edi, dword [eax + 4]
mov ecx, edi
call dword [0x100293c8]
call edi
mov ecx, dword [ebx + 0x14]
mov edi, dword [esi]
mov dword [ebp - 4], 2
call fcn.1000bc8a
mov ecx, dword [edi + 0x170]
sub eax, 0x64
imul eax, eax, 0x64
push eax
push esi
call dword [0x100293c8]
call dword [edi + 0x170]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x13c]
call fcn.10012573
mov esi, dword [ebx + 0x44]
mov dword [ebp - 0x13c], esi
test esi, esi
je 0x1001c205
mov eax, dword [esi]
push esi
mov edi, dword [eax + 4]
mov ecx, edi
call dword [0x100293c8]
call edi
mov eax, dword [esi]
push 4
push esi
mov dword [ebp - 4], 3
mov esi, dword [eax + 0x134]
mov ecx, esi
call dword [0x100293c8]
call esi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x13c]
call fcn.10012573
mov esi, dword [ebx + 0x44]
mov dword [ebp - 0x13c], esi
test esi, esi
je 0x1001c24d
mov eax, dword [esi]
push esi
mov edi, dword [eax + 4]
mov ecx, edi
call dword [0x100293c8]
call edi
mov eax, dword [esi]
xor ecx, ecx
push ecx
push esi
mov dword [ebp - 4], 4
mov esi, dword [eax + 0x19c]
mov ecx, esi
call dword [0x100293c8]
call esi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x13c]
call fcn.10012573
mov esi, dword [ebx + 0x44]
mov dword [ebp - 0x13c], esi
test esi, esi
je 0x1001c296
mov eax, dword [esi]
push esi
mov edi, dword [eax + 4]
mov ecx, edi
call dword [0x100293c8]
call edi
mov eax, dword [esi]
push 0xffffffffffffffff
push esi
mov dword [ebp - 4], 5
mov esi, dword [eax + 0x204]
mov ecx, esi
call dword [0x100293c8]
call esi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x13c]
call fcn.10012573
mov eax, dword [ebp - 0x14c]
test eax, eax
je 0x1001c3e5
cmp byte [eax], 0
je 0x1001c3e5
xor eax, eax
mov dword [ebp - 0x144], eax
mov esi, dword [ebx + 0x44]
mov dword [ebp - 4], 6
mov dword [ebp - 0x13c], esi
test esi, esi
je 0x1001c304
mov eax, dword [esi]
push esi
mov edi, dword [eax + 4]
mov ecx, edi
call dword [0x100293c8]
call edi
mov eax, dword [esi]
lea ecx, [ebp - 0x144]
push ecx
push esi
mov byte [ebp - 4], 7
mov esi, dword [eax + 0x140]
mov ecx, esi
call dword [0x100293c8]
call esi
push 6
pop ecx
xor edx, edx
mov byte [ebp - 4], cl
mov esi, ecx
test eax, eax
lea ecx, [ebp - 0x13c]
cmovns esi, edx
call fcn.10012573
test esi, esi
jne 0x1001c355
mov eax, dword [ebp - 0x144]
test eax, eax
je 0x1001c355
xor ecx, ecx
cmp word [eax], cx
jne 0x1001c3da
mov esi, dword [ebx + 0x44]
mov dword [ebp - 0x148], esi
test esi, esi
je 0x1001c372
mov eax, dword [esi]
push esi
mov edi, dword [eax + 4]
mov ecx, edi
call dword [0x100293c8]
call edi
mov eax, dword [ebp - 0x14c]
lea ecx, [ebp - 0x13c]
push eax
mov byte [ebp - 4], 8
call fcn.1000bc8a
mov ecx, dword [esi]
push dword [eax]
mov byte [ebp - 4], 9
push esi
mov esi, dword [ecx + 0x144]
mov ecx, esi
call dword [0x100293c8]
call esi
push 6
pop ecx
push dword [ebp - 0x13c]
mov esi, ecx
mov byte [ebp - 4], 8
xor ecx, ecx
test eax, eax
cmovns esi, ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 6
call fcn.10012573
test esi, esi
jne 0x1001c7d6
mov eax, dword [ebp - 0x144]
or dword [ebp - 4], 0xffffffff
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov esi, dword [ebx + 0x44]
mov dword [ebp - 0x13c], esi
test esi, esi
je 0x1001c402
mov eax, dword [esi]
push esi
mov edi, dword [eax + 4]
mov ecx, edi
call dword [0x100293c8]
call edi
push dword [ebp - 0x150]
lea ecx, [ebp - 0x14c]
mov dword [ebp - 4], 0xa
call fcn.1000bc8a
mov ecx, dword [esi]
push dword [eax]
mov byte [ebp - 4], 0xb
push esi
mov esi, dword [ecx + 0x2bc]
mov ecx, esi
call dword [0x100293c8]
call esi
xor ecx, ecx
mov byte [ebp - 4], 0xa
push 6
test eax, eax
pop eax
push dword [ebp - 0x14c]
cmovns eax, ecx
mov dword [ebp - 0x150], eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea ecx, [ebp - 0x13c]
call fcn.10012573
jmp 0x1001c7c3
mov esi, dword [ebx + 0x48]
mov dword [ebp - 0x13c], esi
test esi, esi
je 0x1001c480
mov eax, dword [esi]
push esi
mov edi, dword [eax + 4]
mov ecx, edi
call dword [0x100293c8]
call edi
lea ecx, [ebp - 0x13c]
call fcn.10012573
test esi, esi
je 0x1001c7cb
xor eax, eax
mov dword [ebp - 0x148], eax
mov esi, dword [ebx + 0x48]
mov dword [ebp - 4], 0xc
mov dword [ebp - 0x144], esi
test esi, esi
je 0x1001c4bf
mov eax, dword [esi]
push esi
mov edi, dword [eax + 4]
mov ecx, edi
call dword [0x100293c8]
call edi
mov eax, dword [esi]
lea ecx, [ebp - 0x148]
push ecx
push esi
mov byte [ebp - 4], 0xd
mov esi, dword [eax + 0x34]
mov ecx, esi
call dword [0x100293c8]
call esi
lea ecx, [ebp - 0x144]
mov byte [ebp - 4], 0xc
mov esi, eax
call fcn.10012573
mov eax, dword [ebp - 0x148]
test esi, esi
jns 0x1001c514
or dword [ebp - 4], 0xffffffff
test eax, eax
je 0x1001c50d
mov ecx, dword [eax]
push eax
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x100293c8]
call esi
push 6
jmp 0x1001c7cd
mov ecx, dword [eax]
xor edx, edx
push edx
push eax
mov esi, dword [ecx + 0x24]
mov ecx, esi
call dword [0x100293c8]
call esi
mov esi, dword [ebp - 0x148]
mov ecx, dword [ebx + 0x14]
mov edi, dword [esi]
call fcn.1000bc8a
mov ecx, dword [edi + 0x64]
push eax
push esi
call dword [0x100293c8]
call dword [edi + 0x64]
mov esi, dword [ebx + 0x48]
mov dword [ebp - 0x144], esi
test esi, esi
je 0x1001c562
mov eax, dword [esi]
push esi
mov edi, dword [eax + 4]
mov ecx, edi
call dword [0x100293c8]
call edi
push esi
lea ecx, [ebp - 0x13c]
call fcn.1000bc8a
lea ecx, [ebp - 0x144]
mov byte [ebp - 4], 0xe
call fcn.10012573
mov eax, dword [ebp - 0x13c]
test eax, eax
je 0x1001c59c
mov ecx, dword [eax]
push 0xffffffffffffffff
push eax
mov esi, dword [ecx + 0x94]
mov ecx, esi
call dword [0x100293c8]
call esi
cmp byte [ebx + 0x62], 0
je 0x1001c5ae
mov dword [ebp - 0x144], str.full
jmp 0x1001c5c5
cmp byte [ebx + 0x61], 0
mov eax, str.mini
mov ecx, str.none
cmove eax, ecx
mov dword [ebp - 0x144], eax
mov esi, dword [ebx + 0x48]
mov dword [ebp - 0x158], esi
test esi, esi
je 0x1001c5e2
mov eax, dword [esi]
push esi
mov edi, dword [eax + 4]
mov ecx, edi
call dword [0x100293c8]
call edi
push dword [ebp - 0x144]
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0xf
call fcn.1000bc8a
mov ecx, dword [esi]
push dword [eax]
mov byte [ebp - 4], 0x10
push esi
mov esi, dword [ecx + 0x88]
mov ecx, esi
call dword [0x100293c8]
call esi
push dword [ebp - 0x154]
mov byte [ebp - 4], 0xf
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0xe
call fcn.10012573
mov esi, dword [ebx + 0x48]
mov dword [ebp - 0x158], esi
test esi, esi
je 0x1001c64c
mov eax, dword [esi]
push esi
mov edi, dword [eax + 4]
mov ecx, edi
call dword [0x100293c8]
call edi
mov eax, dword [esi]
xor ecx, ecx
push ecx
push esi
mov byte [ebp - 4], 0x11
mov esi, dword [eax + 0x84]
mov ecx, esi
call dword [0x100293c8]
call esi
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0xe
call fcn.10012573
mov edi, dword [ebp - 0x14c]
test edi, edi
je 0x1001c727
cmp byte [edi], 0
je 0x1001c727
xor eax, eax
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp - 0x148]
lea edx, [ebp - 0x14c]
push edx
push eax
mov byte [ebp - 4], 0x12
mov ecx, dword [eax]
mov esi, dword [ecx + 0x28]
mov ecx, esi
call dword [0x100293c8]
call esi
test eax, eax
js 0x1001c6ca
mov eax, dword [ebp - 0x14c]
test eax, eax
je 0x1001c6ca
xor ecx, ecx
cmp word [eax], cx
jne 0x1001c71c
mov esi, dword [ebp - 0x148]
lea ecx, [ebp - 0x158]
push edi
call fcn.1000bc8a
mov ecx, dword [esi]
push dword [eax]
mov byte [ebp - 4], 0x13
push esi
mov esi, dword [ecx + 0x2c]
mov ecx, esi
call dword [0x100293c8]
call esi
push 6
pop ecx
push dword [ebp - 0x158]
mov esi, ecx
mov byte [ebp - 4], 0x12
xor ecx, ecx
test eax, eax
cmovns esi, ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
test esi, esi
jne 0x1001c7d6
mov eax, dword [ebp - 0x14c]
push eax
mov byte [ebp - 4], 0xe
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov esi, dword [ebx + 0x48]
mov dword [ebp - 0x154], esi
test esi, esi
je 0x1001c744
mov eax, dword [esi]
push esi
mov edi, dword [eax + 4]
mov ecx, edi
call dword [0x100293c8]
call edi
push dword [ebp - 0x150]
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0x14
call fcn.1000bc8a
mov ecx, dword [esi]
push dword [eax]
mov byte [ebp - 4], 0x15
push esi
mov esi, dword [ecx + 0x24]
mov ecx, esi
call dword [0x100293c8]
call esi
push 6
xor edx, edx
mov byte [ebp - 4], 0x14
pop ecx
push dword [ebp - 0x158]
test eax, eax
cmovns ecx, edx
mov dword [ebp - 0x150], ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea ecx, [ebp - 0x154]
call fcn.10012573
lea ecx, [ebp - 0x13c]
call fcn.10012573
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x148]
test ecx, ecx
je 0x1001c7c3
mov edx, dword [ecx]
push ecx
mov esi, dword [edx + 8]
mov ecx, esi
call dword [0x100293c8]
call esi
mov eax, dword [ebp - 0x150]
jmp 0x1001c7ce
push 0xa
pop eax
call fcn.100255c6
ret 0x10
push esi
lea ecx, [ebp - 0x15c]
call fcn.1000bc8a
push 0x1002f080
lea eax, [ebp - 0x15c]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
int3