Function at 0x10005473
Capabilities:
Query or enumerate registry value

Disassembly:
mov eax, 0x100208b0
call fcn.1001fbd0
sub esp, 0x604
push ebx
mov ebx, ecx
push esi
push edi
xor esi, esi
cmp dword [ebx + 0x74], 1
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x34], ebx
mov dword [ebp - 4], esi
jle 0x1000549e
cmp dword [ebx + 0x78], esi
jmp 0x100054a1
cmp dword [ebx + 0x70], esi
je 0x10005b63
cmp dword [0x1002c180], esi
jne 0x10005604
cmp dword [0x1002c17c], esi
jne 0x100055ce
lea eax, [ebp - 0x148]
mov dword [ebp - 0x148], 0x94
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
je 0x100054e3
cmp dword [ebp - 0x138], 2
jb 0x10005557
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x208
push eax
lea eax, [ebp - 0x610]
push eax
push esi
push esi
push str.ExePath
push dword [0x1002c458]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x100055c6
lea eax, [ebp - 0x610]
push 0x5c
push eax
call dword [sym.imp.MSVCRT.dll_wcsrchr]
pop ecx
cmp eax, esi
pop ecx
je 0x100055c6
mov word [eax], si
lea eax, [ebp - 0x610]
push eax
lea eax, [ebp - 0x408]
push str._sidmbrbtn.dll
push eax
call dword [sym.imp.MSVCRT.dll_swprintf]
add esp, 0xc
lea eax, [ebp - 0x408]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
jmp 0x100055c1
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x104
push eax
lea eax, [ebp - 0x304]
push eax
push esi
push esi
push 0x1002a4a0
push dword [0x1002c458]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x100055c6
lea eax, [ebp - 0x304]
push 0x5c
push eax
call dword [sym.imp.MSVCRT.dll_strrchr]
pop ecx
cmp eax, esi
pop ecx
je 0x100055c6
and byte [eax], 0
lea eax, [ebp - 0x304]
push eax
lea eax, [ebp - 0x50c]
push 0x1002a490
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea eax, [ebp - 0x50c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x1002c17c], eax
cmp dword [0x1002c17c], esi
je 0x100055f8
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.CreateIDMButton2
push dword [0x1002c17c]
call edi
push str.CreateIDMButton
mov dword [0x1002c184], eax
push dword [0x1002c17c]
call edi
mov dword [0x1002c180], eax
cmp dword [0x1002c180], esi
je 0x10005b63
and byte [ebx + 0x46], 0
mov byte [ebx + 0x47], 1
and byte [ebx + 0x48], 0
and byte [ebx + 0x49], 0
and byte [ebx + 0x4a], 0
and byte [ebx + 0x4b], 0
and byte [ebx + 0x4c], 0
and byte [ebx + 0x4d], 0
and byte [ebx + 0x4e], 0
and byte [ebx + 0x50], 0
and byte [ebx + 0x4f], 0
and byte [ebx + 0x51], 0
mov ecx, ebx
mov dword [ebx + 0x5c], esi
call fcn.1000532d
cmp byte [ebx + 0x46], 0
mov edi, dword [ebx + 0x5c]
jne 0x100056ba
and byte [ebx + 0x47], 0
cmp dword [ebx + 0x5c], esi
jne 0x10005672
cmp byte [ebx + 0x49], 0
je 0x1000565c
mov byte [ebx + 0x4b], 1
jmp 0x10005672
cmp byte [ebx + 0x4e], 0
je 0x10005668
mov byte [ebx + 0x50], 1
jmp 0x10005672
cmp byte [ebx + 0x4a], 0
je 0x10005672
mov byte [ebx + 0x4c], 1
mov ecx, ebx
call fcn.1000532d
cmp byte [ebx + 0x46], 0
jne 0x100056ba
lea eax, [ebx + 0xf0]
mov byte [ebx + 0x4d], 1
push eax
mov byte [ebx + 0x48], 1
push dword [ebx + 0xc]
call dword [sym.imp.USER32.dll_ScreenToClient]
mov ecx, ebx
call fcn.1000532d
cmp byte [ebx + 0x46], 0
jne 0x100056ba
cmp edi, 1
jg 0x100056ba
cmp byte [ebx + 0x4f], 0
je 0x100056ba
mov ecx, ebx
mov byte [ebx + 0x51], 1
call fcn.1000532d
cmp dword [ebx + 4], esi
jne 0x100059d8
cmp dword [ebx + 8], esi
jne 0x100059d8
mov eax, dword [ebx + 0x94]
cmp eax, esi
je 0x10005867
cmp dword [ebx + 0x40], 1
jne 0x10005867
push str.___IMPORT___
push eax
call dword [sym.imp.MSVCRT.dll_wcsstr]
mov esi, eax
pop ecx
test esi, esi
pop ecx
je 0x10005865
mov edi, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
push 0x1002a2c8
call edi
mov dword [ebp - 0x14], eax
add esi, 0x18
push esi
call edi
mov esi, eax
mov dword [ebp - 0x3c], esi
push esi
mov byte [ebp - 4], 2
call dword [sym.imp.OLEAUT32.dll_VariantInit]
push eax
push esi
lea ecx, [ebp - 0x14]
call fcn.10006935
push esi
mov byte [ebp - 4], 1
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea eax, [ebp - 0x14]
lea ecx, [ebx + 0x94]
push eax
call fcn.100030e2
mov eax, dword [0x1002c408]
test eax, eax
je 0x100057a0
push 0x3e8
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x100057a0
lea eax, [ebx + 0xbc]
mov ecx, 0x1002c448
push eax
mov byte [ebp - 4], 3
push dword [ebp - 0x14]
push 1
push dword [ebx + 0x214]
call fcn.10002f8a
mov dword [ebx + 0x60], eax
jmp 0x1000578d
push dword [0x1002c408]
mov dword [ebp - 4], 1
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
and byte [ebx + 0x46], 0
mov byte [ebx + 0x47], 1
and byte [ebx + 0x48], 0
and byte [ebx + 0x49], 0
and byte [ebx + 0x4a], 0
and byte [ebx + 0x4b], 0
and byte [ebx + 0x4c], 0
and byte [ebx + 0x4d], 0
and byte [ebx + 0x4e], 0
and byte [ebx + 0x50], 0
and byte [ebx + 0x4f], 0
and byte [ebx + 0x51], 0
and dword [ebx + 0x5c], 0
mov ecx, ebx
call fcn.1000532d
cmp byte [ebx + 0x46], 0
mov esi, dword [ebx + 0x5c]
jne 0x10005858
and byte [ebx + 0x47], 0
cmp dword [ebx + 0x5c], 0
jne 0x10005810
cmp byte [ebx + 0x49], 0
je 0x100057fa
mov byte [ebx + 0x4b], 1
jmp 0x10005810
cmp byte [ebx + 0x4e], 0
je 0x10005806
mov byte [ebx + 0x50], 1
jmp 0x10005810
cmp byte [ebx + 0x4a], 0
je 0x10005810
mov byte [ebx + 0x4c], 1
mov ecx, ebx
call fcn.1000532d
cmp byte [ebx + 0x46], 0
jne 0x10005858
lea eax, [ebx + 0xf0]
mov byte [ebx + 0x4d], 1
push eax
mov byte [ebx + 0x48], 1
push dword [ebx + 0xc]
call dword [sym.imp.USER32.dll_ScreenToClient]
mov ecx, ebx
call fcn.1000532d
cmp byte [ebx + 0x46], 0
jne 0x10005858
cmp esi, 1
jg 0x10005858
cmp byte [ebx + 0x4f], 0
je 0x10005858
mov ecx, ebx
mov byte [ebx + 0x51], 1
call fcn.1000532d
push dword [ebp - 0x14]
and byte [ebp - 4], 0
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
xor esi, esi
cmp dword [ebx + 4], esi
jne 0x1000592f
cmp dword [ebx + 8], esi
jne 0x1000592f
cmp dword [ebx + 0x38], esi
je 0x10005b63
cmp dword [ebx + 0x74], 1
jg 0x10005b63
cmp dword [ebx + 0x58], esi
jne 0x10005a84
cmp dword [ebx + 0x40], 4
jne 0x10005a84
cmp dword [0x1002c494], 0
je 0x10005a84
mov eax, dword [ebx + 0xb4]
mov esi, dword [sym.imp.MSVCRT.dll__wcsicmp]
push 0x1002a448
push eax
call esi
pop ecx
test eax, eax
pop ecx
je 0x100058f2
mov eax, dword [ebx + 0xb4]
push 0x1002a440
push eax
call esi
pop ecx
test eax, eax
pop ecx
je 0x100058f2
mov eax, dword [ebx + 0xb4]
push str.WEBM
push eax
call esi
pop ecx
test eax, eax
pop ecx
jne 0x10005a84
mov eax, dword [ebx + 0x90]
mov edi, dword [sym.imp.MSVCRT.dll_wcsstr]
lea esi, [ebx + 0x90]
push str..youtube.com
push eax
call edi
pop ecx
test eax, eax
pop ecx
je 0x10005a84
mov esi, dword [esi]
push str.videoplayback
push esi
call edi
pop ecx
test eax, eax
pop ecx
jne 0x10005b63
jmp 0x10005a84
cmp dword [ebx + 8], esi
lea edi, [ebx + 8]
mov dword [ebx + 0x3c], 1
je 0x10005a84
push 0x14
lea eax, [ebp - 0x1c4]
pop esi
push esi
push 0
push eax
call sub.MSVCRT.dll_memset
and dword [ebp - 0x14], 0
add esp, 0xc
mov dword [ebp - 0x1c4], esi
and dword [ebp - 0x18], 0
lea edx, [ebp - 0x1c4]
mov eax, dword [edi]
push edx
lea edx, [ebp - 0x98]
push edx
mov ecx, dword [eax]
lea edx, [ebp - 0x200]
mov byte [ebp - 4], 6
push edx
lea edx, [ebp - 0x18]
push edx
lea edx, [ebp - 0x14]
push edx
push eax
call dword [ecx + 0x20]
xor esi, esi
cmp eax, esi
jne 0x100059b4
cmp dword [ebp - 0x90], esi
jne 0x100059bb
cmp dword [ebp - 0x98], esi
jne 0x100059bb
cmp dword [ebp - 0x8c], esi
jne 0x100059bb
cmp dword [ebp - 0x94], esi
jne 0x100059bb
push esi
push edi
call fcn.10003ae9
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 5
cmp eax, esi
je 0x100059cc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
and byte [ebp - 4], 0
mov eax, dword [ebp - 0x14]
jmp 0x10005a7a
cmp dword [ebx + 8], esi
lea edi, [ebx + 8]
mov dword [ebx + 0x3c], 1
je 0x10005a84
push 0x14
lea eax, [ebp - 0x1c4]
pop esi
push esi
push 0
push eax
call sub.MSVCRT.dll_memset
mov dword [ebp - 0x1c4], esi
xor esi, esi
add esp, 0xc
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x18], esi
lea edx, [ebp - 0x1c4]
mov eax, dword [edi]
push edx
lea edx, [ebp - 0x98]
push edx
mov ecx, dword [eax]
lea edx, [ebp - 0x200]
mov byte [ebp - 4], 8
push edx
lea edx, [ebp - 0x18]
push edx
lea edx, [ebp - 0x14]
push edx
push eax
call dword [ecx + 0x20]
cmp eax, esi
jne 0x10005a5b
cmp dword [ebp - 0x90], esi
jne 0x10005a62
cmp dword [ebp - 0x98], esi
jne 0x10005a62
cmp dword [ebp - 0x8c], esi
jne 0x10005a62
cmp dword [ebp - 0x94], esi
jne 0x10005a62
push esi
push edi
call fcn.10003ae9
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 7
cmp eax, esi
je 0x10005a73
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
and byte [ebp - 4], 0
mov eax, dword [ebp - 0x14]
cmp eax, esi
je 0x10005a84
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [ebx + 0x74], 1
jg 0x10005a9b
mov eax, dword [ebx + 0x70]
lea edx, [ebx + 0x7c]
push edx
push 0x1002a110
mov ecx, dword [eax]
push eax
call dword [ecx]
mov eax, dword [ebx + 0x7c]
test eax, eax
je 0x10005b63
and dword [ebp - 0x20], 0
mov ecx, dword [eax]
lea edx, [ebp - 0x20]
push edx
push 0x100237a8
push eax
mov byte [ebp - 4], 9
call dword [ecx]
test eax, eax
jl 0x10005b4b
and dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x14]
push edx
push 0x100240f8
mov ecx, dword [eax]
push 0x10024078
push eax
mov byte [ebp - 4], 0xa
call dword [ecx + 0xc]
test eax, eax
jl 0x10005b3a
mov eax, dword [ebp - 0x14]
lea esi, [ebx + 0xc]
push esi
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
mov eax, dword [esi]
test eax, eax
je 0x10005b3a
lea ecx, [ebp - 0x1b0]
push 0xff
push ecx
push eax
call dword [sym.imp.USER32.dll_GetClassNameA]
lea eax, [ebp - 0x1b0]
push str.IEFrame
push eax
call dword [sym.imp.MSVCRT.dll__stricmp]
pop ecx
test eax, eax
pop ecx
jne 0x10005b3a
push eax
push str.Shell_DocObject_View
push eax
push dword [esi]
call dword [sym.imp.USER32.dll_FindWindowExA]
test eax, eax
je 0x10005b3a
mov dword [esi], eax
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 9
test eax, eax
je 0x10005b4b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor esi, esi
cmp dword [ebx + 0xc], esi
jne 0x10005b72
mov eax, dword [ebp - 0x20]
and byte [ebp - 4], 0
cmp eax, esi
je 0x10005b63
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret
mov dword [ebp - 0x2c], esi
mov eax, dword [ebx + 0x7c]
lea edx, [ebp - 0x2c]
push edx
push eax
mov ecx, dword [eax]
mov byte [ebp - 4], 0xb
call dword [ecx + 0x48]
cmp eax, esi
mov eax, dword [ebp - 0x2c]
jl 0x10006918
cmp eax, esi
je 0x10006918
lea edx, [ebp - 0x24]
mov dword [ebp - 0x24], esi
mov ecx, dword [eax]
push edx
push str._D_3
push eax
call dword [ecx]
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 0xc
cmp eax, esi
je 0x10006388
lea edx, [ebp - 0x7c]
mov dword [ebp - 0x7c], esi
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x44]
cmp eax, esi
jne 0x10005bf5
mov edi, dword [ebp - 0x7c]
test edi, edi
je 0x10005bf5
push dword [ebx + 0xb8]
lea esi, [ebx + 0xb8]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push edi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
push dword [ebp - 0x7c]
mov dword [esi], eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 0x24]
and dword [ebp - 0x54], 0
lea edx, [ebp - 0x54]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0xa0]
test eax, eax
jne 0x10005c38
mov edi, dword [ebp - 0x54]
test edi, edi
je 0x10005c38
push dword [ebx + 0xc0]
lea esi, [ebx + 0xc0]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push edi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
push dword [ebp - 0x54]
mov dword [esi], eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebx + 0xac]
test eax, eax
je 0x10005c4d
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
jne 0x10005c7a
cmp dword [0x1002c478], 0
je 0x10005c7a
mov eax, dword [0x1002c47c]
test eax, eax
je 0x10005c7a
push dword [ebx + 0xac]
mov esi, eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push esi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebx + 0xac], eax
cmp dword [ebx + 0xf8], 0
jne 0x10005cd3
mov eax, dword [ebx + 0xfc]
test eax, eax
je 0x10005c98
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
jne 0x10005cd3
mov eax, dword [ebp - 0x24]
lea edx, [ebp - 0x18]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc0]
test eax, eax
jne 0x10005cd3
mov esi, dword [ebp - 0x18]
test esi, esi
je 0x10005cd3
push dword [ebx + 0xfc]
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call edi
push esi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
push dword [ebp - 0x18]
mov dword [ebx + 0xfc], eax
call edi
mov eax, dword [ebx + 0xb4]
lea edi, [ebx + 0xb4]
test eax, eax
je 0x100068e2
mov esi, dword [sym.imp.OLEAUT32.dll_VariantInit]
push eax
call esi
test eax, eax
je 0x100068e2
mov eax, dword [edi]
test eax, eax
je 0x10005d0c
push eax
call esi
test eax, eax
jbe 0x10005d0c
mov ecx, edi
call fcn.100069a9
push 0x1002a3d4
push dword [edi]
call dword [sym.imp.MSVCRT.dll__wcsicmp]
pop ecx
test eax, eax
pop ecx
jne 0x10005d7c
mov eax, dword [ebx + 0x220]
mov ecx, dword [ebx + 0x224]
mov edx, eax
or edx, ecx
je 0x10005d46
test ecx, ecx
jl 0x100068e2
jg 0x10005d46
cmp eax, 0x801
jb 0x100068e2
or eax, ecx
jne 0x10005d7c
mov eax, dword [ebx + 0xc0]
lea esi, [ebx + 0xc0]
test eax, eax
je 0x10005d7c
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x10005d7c
push str.youtube.com
push dword [esi]
call dword [sym.imp.MSVCRT.dll_wcsstr]
pop ecx
test eax, eax
pop ecx
jne 0x100068e2
cmp dword [ebx + 0x218], 1
jne 0x10005d9f
cmp byte [0x1002c5ec], 0
jne 0x10005d98
mov ecx, 0x1002c4c0
call fcn.10006a28
mov eax, dword [0x1002c4dc]
jmp 0x10005db7
cmp byte [0x1002c5ec], 0
jne 0x10005db2
mov ecx, 0x1002c4c0
call fcn.10006a28
mov eax, dword [0x1002c4e8]
push dword [edi]
mov dword [ebp - 0x14], eax
call dword [sym.imp.MSVCRT.dll_wcslen]
mov esi, eax
lea eax, [esi + 2]
push eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov dword [ebp - 0x1c], eax
test eax, eax
pop ecx
je 0x10005e05
xor eax, eax
inc esi
push eax
push eax
push esi
push dword [ebp - 0x1c]
push 0xffffffffffffffff
push dword [edi]
push eax
push eax
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push dword [ebp - 0x1c]
test eax, eax
jne 0x10005dfe
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
and dword [ebp - 0x1c], 0
pop ecx
jmp 0x10005e05
call dword [sym.imp.MSVCRT.dll__strupr]
pop ecx
mov ecx, dword [ebx + 0x224]
mov eax, dword [ebx + 0x220]
test ecx, ecx
jl 0x10005e71
jg 0x10005e1b
test eax, eax
jbe 0x10005e71
lea edx, [ebp - 0x1d0]
push edx
push ecx
push eax
call fcn.1000711b
mov edi, dword [ebp - 0x1c]
add esp, 0xc
test edi, edi
jne 0x10005e36
mov edi, dword [ebp - 0x14]
cmp byte [0x1002c5ec], 0
jne 0x10005e49
mov ecx, 0x1002c4c0
call fcn.10006a28
mov eax, dword [0x1002c59c]
lea esi, [ebx + 0x100]
lea ecx, [ebp - 0x1d0]
push ecx
push eax
push edi
push str._s__s____s
push esi
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x14
jmp 0x10005f7b
mov eax, dword [ebx + 0x90]
push 7
push str.rtmp:__
push eax
call dword [sym.imp.MSVCRT.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x10005f42
mov eax, dword [ebx + 0x98]
lea esi, [ebx + 0x98]
test eax, eax
je 0x10005f42
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x10005f42
mov esi, dword [esi]
push str.duration
push esi
call dword [sym.imp.MSVCRT.dll_wcsstr]
pop ecx
test eax, eax
pop ecx
je 0x10005f42
push 0x3d
push eax
call dword [sym.imp.MSVCRT.dll_wcschr]
pop ecx
test eax, eax
pop ecx
je 0x10005f42
inc eax
lea ecx, [ebp - 0x18]
inc eax
push ecx
push 0x1002a384
push eax
call dword [sym.imp.MSVCRT.dll_swscanf]
add esp, 0xc
cmp eax, 1
jne 0x10005f42
fld dword [ebp - 0x18]
call sub.MSVCRT.dll__ftol
mov ecx, eax
or ecx, edx
je 0x10005f42
lea ecx, [ebp - 0x1f0]
push ecx
push edx
push eax
call fcn.100072e8
mov edi, dword [ebp - 0x1c]
add esp, 0xc
test edi, edi
jne 0x10005f19
mov edi, dword [ebp - 0x14]
cmp byte [0x1002c5ec], 0
jne 0x10005f2c
mov ecx, 0x1002c4c0
call fcn.10006a28
mov eax, dword [0x1002c59c]
lea esi, [ebx + 0x100]
lea ecx, [ebp - 0x1f0]
jmp 0x10005e5a
mov edi, dword [ebp - 0x1c]
test edi, edi
jne 0x10005f4c
mov edi, dword [ebp - 0x14]
cmp byte [0x1002c5ec], 0
jne 0x10005f5f
mov ecx, 0x1002c4c0
call fcn.10006a28
mov eax, dword [0x1002c59c]
lea esi, [ebx + 0x100]
push eax
push edi
push str._s__s
push esi
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
cmp dword [ebx + 0x200], 0
lea edi, [ebx + 0x200]
je 0x10005fa0
push 0x1002a378
push esi
call sub.MSVCRT.dll_strcat
push dword [edi]
push esi
call sub.MSVCRT.dll_strcat
add esp, 0x10
cmp dword [ebp - 0x1c], 0
je 0x10005faf
push dword [ebp - 0x1c]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
pop ecx
and dword [ebp - 0x30], 0
mov eax, dword [ebx + 8]
mov byte [ebp - 4], 0xd
test eax, eax
je 0x10005fcc
mov ecx, dword [eax]
lea edx, [ebp - 0x30]
push edx
push 0x1002a250
push eax
call dword [ecx]
mov eax, dword [0x1002c408]
xor ecx, ecx
cmp eax, ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x84], ecx
je 0x10006070
push 0x3e8
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x10006070
lea eax, [ebp - 0x84]
mov ecx, 0x1002c168
push eax
lea eax, [ebp - 0x88]
push eax
mov byte [ebp - 4], 0xe
push dword [ebx + 0x54]
push dword [ebx + 0xec]
push dword [ebp - 0x30]
push dword [ebx + 4]
push dword [ebx + 0xc]
push dword [ebx + 0x214]
call fcn.100025d3
mov edi, eax
xor esi, esi
jmp 0x10006042
push dword [0x1002c408]
mov dword [ebp - 4], 0xd
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp edi, esi
je 0x10006070
cmp dword [ebp - 0x88], esi
je 0x10006140
push esi
push esi
push 0x10
push edi
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, dword [ebp - 0x24]
lea esi, [ebx + 0x80]
push esi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1b0]
xor edi, edi
cmp eax, edi
jl 0x100060ff
mov eax, dword [esi]
cmp eax, edi
je 0x100060ff
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x40], edi
mov ecx, dword [eax]
lea edx, [ebp - 0x38]
push edx
push 0x100240e8
push eax
mov byte [ebp - 4], 0x11
call dword [ecx]
cmp eax, edi
jl 0x100060dd
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x40]
push edx
push 0x100240d8
mov ecx, dword [eax]
push eax
call dword [ecx + 0x10]
cmp eax, edi
jl 0x100060dd
mov eax, dword [ebp - 0x40]
lea edx, [ebx + 0x88]
push edx
lea edx, [ebx + 0x64]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x14]
cmp eax, edi
jge 0x10006394
mov eax, dword [ebp - 0x40]
mov byte [ebp - 4], 0x10
cmp eax, edi
je 0x100060ee
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x38]
mov byte [ebp - 4], 0xd
cmp eax, edi
je 0x100060ff
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x30]
mov byte [ebp - 4], 0xc
cmp eax, edi
je 0x10006110
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 0xb
cmp eax, edi
je 0x10006121
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 4], 9
cmp eax, edi
je 0x10006132
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
and byte [ebp - 4], 0
cmp eax, edi
jmp 0x10005b5b
cmp dword [ebp - 0x84], esi
je 0x10006151
cmp dword [ebx + 0x54], esi
jne 0x10006366
mov eax, dword [ebx + 0x90]
mov dword [ebx + 0x14], edi
cmp dword [0x1002c184], esi
je 0x10006298
mov dword [ebp - 0x11c], eax
mov eax, dword [ebx + 0x94]
mov dword [ebp - 0x118], eax
mov eax, dword [ebx + 0x98]
mov dword [ebp - 0x114], eax
mov eax, dword [ebx + 0x9c]
mov dword [ebp - 0x110], eax
mov eax, dword [ebx + 0xa0]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebx + 0xa4]
mov dword [ebp - 0x108], eax
mov eax, dword [ebx + 0xa8]
mov dword [ebp - 0x104], eax
mov eax, dword [ebx + 0xac]
mov dword [ebp - 0x100], eax
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebx + 0xb4]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebx + 0xb8]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebx + 0xfc]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebx + 0xf8]
mov dword [ebp - 0xec], eax
mov eax, dword [ebx + 0x220]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebx + 0x224]
mov dword [ebp - 0xe0], eax
lea eax, [ebx + 0x100]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebx + 0xdc]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebx + 0xc0]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebx + 0xc4]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebx + 0xcc]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebx + 0xc8]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebx + 0xd4]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebx + 0xd8]
mov ebx, dword [ebx + 0xd0]
mov dword [ebp - 0xc0], eax
lea eax, [ebp - 0x11c]
mov dword [ebp - 0xbc], ebx
push eax
push esi
mov dword [ebp - 0xb8], esi
push 0x40d
jmp 0x1000635f
mov dword [ebp - 0xfc], eax
mov eax, dword [ebx + 0x94]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebx + 0x98]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebx + 0x9c]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebx + 0xa0]
mov dword [ebp - 0xec], eax
mov eax, dword [ebx + 0xa4]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebx + 0xa8]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebx + 0xac]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebx + 0xb4]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebx + 0xb8]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebx + 0xfc]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebx + 0xf8]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebx + 0x220]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebx + 0x224]
mov dword [ebp - 0xc0], eax
lea eax, [ebp - 0xfc]
add ebx, 0x100
push eax
push esi
mov dword [ebp - 0xbc], ebx
push 0x40c
push edi
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [ebp - 0x30]
mov byte [ebp - 4], 0xc
cmp eax, esi
je 0x10006377
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 0xb
cmp eax, esi
je 0x10006388
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 4], 9
jmp 0x1000691c
mov ecx, ebx
mov byte [ebx + 0x44], 1
call fcn.10007509
cmp dword [ebx + 4], edi
jne 0x100063c9
cmp dword [ebx + 8], edi
jne 0x100063c9
cmp dword [ebx + 0x58], edi
jne 0x100063c9
cmp byte [0x1002c5ec], 0
jne 0x100063c1
mov ecx, 0x1002c4c0
call fcn.10006a28
mov edi, dword [0x1002c53c]
jmp 0x100063e2
cmp byte [0x1002c5ec], 0
jne 0x100063dc
mov ecx, 0x1002c4c0
call fcn.10006a28
mov edi, dword [0x1002c4f4]
xor eax, eax
mov dword [ebp - 0x34], edi
cmp dword [ebx + 4], eax
jne 0x1000640f
cmp dword [ebx + 8], eax
jne 0x1000640f
cmp dword [ebx + 0x58], eax
jne 0x1000640f
cmp byte [0x1002c5ec], al
jne 0x10006408
mov ecx, 0x1002c4c0
call fcn.10006a28
mov eax, dword [0x1002c548]
jmp 0x10006427
cmp byte [0x1002c5ec], 0
jne 0x10006422
mov ecx, 0x1002c4c0
call fcn.10006a28
mov eax, dword [0x1002c500]
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
push esi
call sub.MSVCRT.dll_strlen
mov edx, eax
push edi
mov dword [ebp - 0x14], edx
call sub.MSVCRT.dll_strlen
mov ecx, dword [ebp - 0x14]
lea eax, [ecx + eax + 3]
push eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 0xc
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x10006463
push esi
push dword [ebp - 0x34]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
push esi
call sub.MSVCRT.dll_strlen
push dword [ebp - 0x18]
mov edi, eax
call sub.MSVCRT.dll_strlen
lea eax, [edi + eax + 3]
push eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 0xc
mov dword [ebp - 0x14], eax
test eax, eax
je 0x10006495
push esi
push dword [ebp - 0x18]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
call fcn.1000f965
test eax, eax
setne byte [ebp - 0x25]
cmp dword [0x1002c184], 0
je 0x100066b6
mov eax, dword [ebx + 0xd4]
cmp byte [0x1002c5ec], 0
mov dword [ebp - 0x34], eax
mov eax, dword [ebx + 0xc8]
mov dword [ebp - 0x18], eax
mov eax, dword [ebx + 0xcc]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebx + 0xc4]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebx + 0xc0]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebx + 0xdc]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebx + 0xfc]
mov dword [ebp - 0xac], eax
mov eax, dword [ebx + 0xb8]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebx + 0xb4]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebx + 0xac]
mov dword [ebp - 0x44], eax
mov eax, dword [ebx + 0xa8]
mov dword [ebp - 0x64], eax
mov eax, dword [ebx + 0xa4]
mov dword [ebp - 0x74], eax
mov eax, dword [ebx + 0xa0]
mov dword [ebp - 0x48], eax
mov eax, dword [ebx + 0x9c]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebx + 0x98]
mov esi, dword [ebx + 0xd0]
mov edi, dword [ebx + 0xd8]
mov dword [ebp - 0x50], eax
mov eax, dword [ebx + 0x94]
mov dword [ebp - 0x58], eax
mov eax, dword [ebx + 0x90]
mov dword [ebp - 0x60], eax
jne 0x10006580
mov ecx, 0x1002c4c0
call fcn.10006a28
mov eax, dword [0x1002c530]
cmp byte [0x1002c5ec], 0
mov dword [ebp - 0x68], eax
jne 0x1000659b
mov ecx, 0x1002c4c0
call fcn.10006a28
mov eax, dword [0x1002c524]
cmp byte [0x1002c5ec], 0
mov dword [ebp - 0x70], eax
jne 0x100065b6
mov ecx, 0x1002c4c0
call fcn.10006a28
mov eax, dword [0x1002c518]
cmp byte [0x1002c5ec], 0
mov dword [ebp - 0x78], eax
jne 0x100065d1
mov ecx, 0x1002c4c0
call fcn.10006a28
mov eax, dword [0x1002c50c]
cmp byte [0x1002c5ec], 0
mov dword [ebp - 0x80], eax
jne 0x100065ec
mov ecx, 0x1002c4c0
call fcn.10006a28
mov eax, dword [0x1002c590]
cmp byte [0x1002c5ec], 0
mov dword [ebp - 0x3c], eax
jne 0x10006607
mov ecx, 0x1002c4c0
call fcn.10006a28
push 0
push esi
push edi
mov eax, dword [0x1002c584]
push dword [ebp - 0x34]
lea esi, [ebx + 0x28]
push dword [ebp - 0x18]
push dword [ebp - 0xa4]
push dword [ebp - 0xa0]
push dword [ebp - 0xa8]
push dword [ebp - 0xb0]
push dword [ebx + 0x224]
push dword [ebx + 0x220]
push dword [ebx + 0xf8]
push dword [ebp - 0xac]
push dword [ebp - 0x9c]
push dword [ebp - 0x6c]
push dword [ebp - 0x5c]
push dword [ebp - 0x44]
push dword [ebp - 0x64]
push dword [ebp - 0x74]
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
push dword [ebp - 0x58]
push dword [ebp - 0x60]
push dword [ebp - 0x68]
push dword [ebp - 0x70]
push dword [ebp - 0x78]
push dword [ebp - 0x80]
push dword [ebp - 0x3c]
push eax
lea eax, [ebx + 0x100]
push eax
mov al, byte [ebp - 0x25]
push dword [ebp - 0x14]
neg al
sbb eax, eax
and eax, dword [ebp - 0x1c]
push eax
push ebx
sub esp, 0x10
mov edi, esp
sub esp, 0x10
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [ebx + 0x18]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push dword [ebx + 0xc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [0x1002c184]
jmp 0x10006834
mov eax, dword [ebx + 0xb4]
cmp byte [0x1002c5ec], 0
mov dword [ebp - 0x3c], eax
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0x80], eax
mov eax, dword [ebx + 0xac]
mov dword [ebp - 0x78], eax
mov eax, dword [ebx + 0xa8]
mov dword [ebp - 0x70], eax
mov eax, dword [ebx + 0xa4]
mov dword [ebp - 0x68], eax
mov eax, dword [ebx + 0xa0]
mov dword [ebp - 0x60], eax
mov eax, dword [ebx + 0x9c]
mov dword [ebp - 0x58], eax
mov eax, dword [ebx + 0x98]
mov esi, dword [ebx + 0xfc]
mov edi, dword [ebx + 0xb8]
mov dword [ebp - 0x50], eax
mov eax, dword [ebx + 0x94]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebx + 0x90]
mov dword [ebp - 0x48], eax
jne 0x1000672f
mov ecx, 0x1002c4c0
call fcn.10006a28
mov eax, dword [0x1002c530]
cmp byte [0x1002c5ec], 0
mov dword [ebp - 0x74], eax
jne 0x1000674a
mov ecx, 0x1002c4c0
call fcn.10006a28
mov eax, dword [0x1002c524]
cmp byte [0x1002c5ec], 0
mov dword [ebp - 0x64], eax
jne 0x10006765
mov ecx, 0x1002c4c0
call fcn.10006a28
mov eax, dword [0x1002c518]
cmp byte [0x1002c5ec], 0
mov dword [ebp - 0x44], eax
jne 0x10006780
mov ecx, 0x1002c4c0
call fcn.10006a28
mov eax, dword [0x1002c50c]
cmp byte [0x1002c5ec], 0
mov dword [ebp - 0x5c], eax
jne 0x1000679b
mov ecx, 0x1002c4c0
call fcn.10006a28
mov eax, dword [0x1002c590]
cmp byte [0x1002c5ec], 0
mov dword [ebp - 0x6c], eax
jne 0x100067b6
mov ecx, 0x1002c4c0
call fcn.10006a28
push dword [ebx + 0x224]
mov eax, dword [0x1002c584]
push dword [ebx + 0x220]
push dword [ebx + 0xf8]
push esi
push edi
push dword [ebp - 0x3c]
lea esi, [ebx + 0x28]
push dword [ebp - 0x80]
push dword [ebp - 0x78]
push dword [ebp - 0x70]
push dword [ebp - 0x68]
push dword [ebp - 0x60]
push dword [ebp - 0x58]
push dword [ebp - 0x50]
push dword [ebp - 0x4c]
push dword [ebp - 0x48]
push dword [ebp - 0x74]
push dword [ebp - 0x64]
push dword [ebp - 0x44]
push dword [ebp - 0x5c]
push dword [ebp - 0x6c]
push eax
lea eax, [ebx + 0x100]
push eax
mov al, byte [ebp - 0x25]
push dword [ebp - 0x14]
neg al
sbb eax, eax
and eax, dword [ebp - 0x1c]
push eax
push ebx
sub esp, 0x10
mov edi, esp
sub esp, 0x10
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [ebx + 0x18]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push dword [ebx + 0xc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [0x1002c180]
test eax, eax
mov dword [ebx + 0x10], eax
je 0x10006891
mov eax, dword [0x1002c408]
test eax, eax
je 0x10006891
push 0x3e8
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x10006891
push dword [ebx + 0xec]
mov ecx, 0x1002c168
mov byte [ebp - 4], 0x12
push dword [ebx + 0x54]
push dword [ebx + 0x10]
push dword [ebp - 0x30]
push dword [ebx + 4]
push dword [ebx + 0xc]
push ebx
push dword [ebx + 0x214]
call fcn.100026c7
push dword [0x1002c408]
mov dword [ebp - 4], 0x11
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp dword [ebp - 0x14], 0
je 0x100068a0
push dword [ebp - 0x14]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
pop ecx
cmp dword [ebp - 0x1c], 0
je 0x100068af
push dword [ebp - 0x1c]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
pop ecx
mov eax, dword [ebp - 0x40]
mov byte [ebp - 4], 0x10
test eax, eax
je 0x100068c0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x38]
mov byte [ebp - 4], 0xd
test eax, eax
je 0x100068d1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x30]
mov byte [ebp - 4], 0xc
test eax, eax
je 0x100068e2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 0xb
test eax, eax
je 0x100068f3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 4], 9
test eax, eax
je 0x10006904
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
and byte [ebp - 4], 0
test eax, eax
jmp 0x10005b5b
mov byte [ebp - 4], 9
cmp eax, esi
je 0x10005b52
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x10005b52