Function at 0x408643
Capabilities:
Create thread

Disassembly:
push 0x10c
mov eax, 0x421e78
call fcn.0041f61b
push 0x427820
push 0x42655c
call fcn.0041524e
call fcn.00406a0e
xor ebx, ebx
push ebx
push ebx
push 0x426458
push 0x40e89a
push ebx
push ebx
call dword [sym.imp.MSVCR80.dll__beginthreadex]
mov esi, eax
add esp, 0x20
cmp esi, ebx
je 0x408696
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x408696
mov dword [ebp - 0x40], esi
jmp 0x4086aa
push 0x429c40
push 0x426484
call fcn.0041524e
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.004017a9
mov edi, eax
mov dword [ebp - 4], ebx
call fcn.004010c5
lea esi, [ebp - 0x48]
call fcn.0040178d
mov byte [ebp - 4], 1
push dword [edi]
push eax
call fcn.004105fd
mov esi, eax
mov eax, dword [ebp - 0x48]
pop ecx
pop ecx
add eax, 0xfffffff0
call fcn.004016af
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x3c]
add eax, 0xfffffff0
call fcn.004016af
cmp esi, ebx
mov ebx, dword [sym.imp.USER32.dll_DialogBoxParamW]
je 0x408804
test byte [ebp - 0x44], 2
je 0x408743
call fcn.004010c5
push 0
call fcn.004026ad
mov esi, eax
test esi, esi
je 0x408804
push 0x7530
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x408804
lea eax, [ebp - 0x38]
push eax
call fcn.004126d0
lea eax, [ebp - 0x3c]
push eax
mov dword [ebp - 4], 2
call fcn.004010c5
call fcn.004017c8
mov byte [ebp - 4], 3
push dword [eax]
lea eax, [ebp - 0x38]
push str.AppCallName
push eax
call fcn.00412762
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x3c]
add eax, 0xfffffff0
call fcn.004016af
lea eax, [ebp - 0x48]
push 0x427840
push eax
call fcn.004116ac
lea ecx, [ebp - 0x3c]
push 0x426eb8
push ecx
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.00404a08
add esp, 0x10
mov byte [ebp - 4], 5
mov ecx, dword [eax]
lea edi, [ebp - 0x38]
call fcn.00412afd
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.004010eb
mov eax, dword [ebp - 0x3c]
add eax, 0xfffffff0
call fcn.004016af
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x48]
add eax, 0xfffffff0
call fcn.004016af
push 0
push dword [ebp - 0x60]
push 0
push 0x89
call fcn.004117b5
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.0041271d
push 0x427854
mov edi, 0x42655c
push edi
call fcn.0041524e
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.004032e6
xor esi, esi
cmp dword [ebp - 0x40], esi
je 0x408857
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 0x40897b
xor ebx, ebx
inc ebx
call fcn.00406a0e
cmp dword [eax + 4], esi
jne 0x408889
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp ebx, 0x14
jb 0x40886e
call fcn.00401825
lea ecx, [ebp - 0x118]
push ecx
mov esi, eax
call fcn.00404369
xor ebx, ebx
mov dword [ebp - 4], 6
cmp dword [ebp - 0x118], ebx
jne 0x4088f0
push str.no_ui__but_need_detail
push edi
call fcn.0041524e
pop ecx
pop ecx
push 1
push ecx
mov eax, esp
mov dword [ebp - 0x3c], esp
mov esi, 0x427548
push eax
mov ecx, esi
call fcn.004047c9
push ecx
mov byte [ebp - 4], 7
mov eax, esp
mov dword [ebp - 0x48], esp
push eax
mov ecx, esi
call fcn.004047c9
call fcn.00406a0e
push eax
mov byte [ebp - 4], 6
call fcn.0040ea37
lea eax, [ebp - 0x44]
push eax
mov dword [ebp - 0x44], ebx
call fcn.004010c5
push eax
call fcn.004042be
test eax, eax
je 0x408951
lea eax, [ebp - 0x48]
push eax
call fcn.004010c5
call fcn.004017a9
mov edi, eax
mov byte [ebp - 4], 8
call fcn.004010c5
lea esi, [ebp - 0x3c]
call fcn.0040178d
mov byte [ebp - 4], 9
push dword [edi]
push eax
push dword [ebp - 0x44]
call fcn.00411d26
mov eax, dword [ebp - 0x3c]
add esp, 0xc
add eax, 0xfffffff0
call fcn.004016af
mov eax, dword [ebp - 0x48]
add eax, 0xfffffff0
call fcn.004016af
jmp 0x40895e
push str.No_need_to_set_registry_FULLDUMP_flag.
push edi
call fcn.0041524e
pop ecx
pop ecx
cmp dword [ebp - 0x40], ebx
je 0x40896e
call fcn.004010c5
push eax
call fcn.0040334a
lea edi, [ebp - 0x118]
call fcn.00404430
jmp 0x4089bf
push eax
lea eax, [ebp - 0xb8]
call fcn.00406a81
push esi
push dword [ebp - 0xb0]
push esi
push 0x83
call fcn.004117b5
push eax
call ebx
cmp eax, 1
jne 0x4089b4
cmp dword [ebp - 0xac], esi
je 0x4089b4
call fcn.004010c5
push eax
call fcn.0040334a
lea esi, [ebp - 0xb8]
call fcn.00406ae6
xor eax, eax
inc eax
call fcn.0041f69e
ret