Function at 0x408667
Capabilities:
Create thread

Disassembly:
push 0x10c
mov eax, 0x421eab
call fcn.0041f62b
push 0x428820
push 0x42755c
call fcn.004151bb
call fcn.00406a32
xor ebx, ebx
push ebx
push ebx
push 0x427458
push 0x40e879
push ebx
push ebx
call dword [sym.imp.MSVCR80.dll__beginthreadex]
mov esi, eax
add esp, 0x20
cmp esi, ebx
je 0x4086ba
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x4086ba
mov dword [ebp - 0x40], esi
jmp 0x4086ce
push 0x42ac40
push 0x427484
call fcn.004151bb
pop ecx
pop ecx
mov dword [ebp - 0x40], ebx
call fcn.004010c5
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x3c]
push eax
call fcn.004010c5
call fcn.0040179e
mov edi, eax
mov dword [ebp - 4], ebx
call fcn.004010c5
lea esi, [ebp - 0x48]
call fcn.00401782
mov byte [ebp - 4], 1
push dword [edi]
push eax
call fcn.004105ee
mov esi, eax
mov eax, dword [ebp - 0x48]
pop ecx
pop ecx
add eax, 0xfffffff0
call fcn.004016a4
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x3c]
add eax, 0xfffffff0
call fcn.004016a4
cmp esi, ebx
mov ebx, dword [sym.imp.USER32.dll_DialogBoxParamW]
je 0x408828
test byte [ebp - 0x44], 2
je 0x408767
call fcn.004010c5
push 0
call fcn.004026e5
mov esi, eax
test esi, esi
je 0x408828
push 0x7530
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x408828
lea eax, [ebp - 0x38]
push eax
call fcn.004126c1
lea eax, [ebp - 0x3c]
push eax
mov dword [ebp - 4], 2
call fcn.004010c5
call fcn.004017bd
mov byte [ebp - 4], 3
push dword [eax]
lea eax, [ebp - 0x38]
push str.AppCallName
push eax
call fcn.00412753
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x3c]
add eax, 0xfffffff0
call fcn.004016a4
lea eax, [ebp - 0x48]
push 0x428840
push eax
call fcn.0041169d
lea ecx, [ebp - 0x3c]
push 0x427eb8
push ecx
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.00404a39
add esp, 0x10
mov byte [ebp - 4], 5
mov ecx, dword [eax]
lea edi, [ebp - 0x38]
call fcn.00412aee
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.004010eb
mov eax, dword [ebp - 0x3c]
add eax, 0xfffffff0
call fcn.004016a4
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x48]
add eax, 0xfffffff0
call fcn.004016a4
push 0
push dword [ebp - 0x60]
push 0
push 0x89
call fcn.004117a6
push eax
call ebx
lea eax, [ebp - 0x68]
push eax
call fcn.0040113e
or dword [ebp - 4], 0xffffffff
mov eax, edi
push eax
call fcn.0041270e
push 0x428854
mov edi, 0x42755c
push edi
call fcn.004151bb
pop ecx
pop ecx
call fcn.004010c5
mov esi, eax
push dword [esi + 0xc]
call dword [sym.imp.KERNEL32.dll_SetEvent]
push 0xbb8
push dword [esi + 8]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call fcn.0040331e
xor esi, esi
cmp dword [ebp - 0x40], esi
je 0x40887b
push 0x7d0
push dword [ebp - 0x40]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [ebp - 0x40]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x44]
not eax
and eax, 1
test byte [ebp - 0x44], 2
mov dword [ebp - 0x40], eax
je 0x40899f
xor ebx, ebx
inc ebx
call fcn.00406a32
cmp dword [eax + 4], esi
jne 0x4088ad
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp ebx, 0x14
jb 0x408892
call fcn.0040181a
lea ecx, [ebp - 0x118]
push ecx
mov esi, eax
call fcn.0040438f
xor ebx, ebx
mov dword [ebp - 4], 6
cmp dword [ebp - 0x118], ebx
jne 0x408914
push str.no_ui__but_need_detail
push edi
call fcn.004151bb
pop ecx
pop ecx
push 1
push ecx
mov eax, esp
mov dword [ebp - 0x3c], esp
mov esi, 0x428548
push eax
mov ecx, esi
call fcn.004047fa
push ecx
mov byte [ebp - 4], 7
mov eax, esp
mov dword [ebp - 0x48], esp
push eax
mov ecx, esi
call fcn.004047fa
call fcn.00406a32
push eax
mov byte [ebp - 4], 6
call fcn.0040ea16
lea eax, [ebp - 0x44]
push eax
mov dword [ebp - 0x44], ebx
call fcn.004010c5
push eax
call fcn.004042e4
test eax, eax
je 0x408975
lea eax, [ebp - 0x48]
push eax
call fcn.004010c5
call fcn.0040179e
mov edi, eax
mov byte [ebp - 4], 8
call fcn.004010c5
lea esi, [ebp - 0x3c]
call fcn.00401782
mov byte [ebp - 4], 9
push dword [edi]
push eax
push dword [ebp - 0x44]
call fcn.00411d17
mov eax, dword [ebp - 0x3c]
add esp, 0xc
add eax, 0xfffffff0
call fcn.004016a4
mov eax, dword [ebp - 0x48]
add eax, 0xfffffff0
call fcn.004016a4
jmp 0x408982
push str.No_need_to_set_registry_FULLDUMP_flag.
push edi
call fcn.004151bb
pop ecx
pop ecx
cmp dword [ebp - 0x40], ebx
je 0x408992
call fcn.004010c5
push eax
call fcn.00403382
lea edi, [ebp - 0x118]
call fcn.00404456
jmp 0x4089e3
push eax
lea eax, [ebp - 0xb8]
call fcn.00406aa5
push esi
push dword [ebp - 0xb0]
push esi
push 0x83
call fcn.004117a6
push eax
call ebx
cmp eax, 1
jne 0x4089d8
cmp dword [ebp - 0xac], esi
je 0x4089d8
call fcn.004010c5
push eax
call fcn.00403382
lea esi, [ebp - 0xb8]
call fcn.00406b0a
xor eax, eax
inc eax
call fcn.0041f6ae
ret