Function at 0x4082d0
Capabilities:
Create thread

Disassembly:
push 0xac
mov eax, 0x4215e5
call fcn.0041eefb
push 0x427810
push 0x42654c
call fcn.00414b27
call fcn.004066ac
xor ebx, ebx
push ebx
push ebx
push 0x426448
push 0x40df3f
push ebx
push ebx
call dword [sym.imp.MSVCR80.dll__beginthreadex]
mov esi, eax
add esp, 0x20
cmp esi, ebx
je 0x408323
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x408323
mov dword [ebp - 0x40], esi
jmp 0x408337
push 0x4298e8
push 0x426474
call fcn.00414b27
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.00401783
mov edi, eax
mov dword [ebp - 4], ebx
call fcn.004010c5
lea esi, [ebp - 0x48]
call fcn.00401767
mov byte [ebp - 4], 1
push dword [edi]
push eax
call fcn.0040ff0f
mov esi, eax
mov eax, dword [ebp - 0x48]
pop ecx
pop ecx
add eax, 0xfffffff0
call fcn.00401689
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x3c]
add eax, 0xfffffff0
call fcn.00401689
cmp esi, ebx
je 0x40848c
test byte [ebp - 0x44], 2
je 0x4083c9
call fcn.004010c5
push ebx
call fcn.00402687
mov esi, eax
cmp esi, ebx
je 0x40848c
push 0x7530
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x40848c
lea eax, [ebp - 0x38]
push eax
call fcn.00411fe2
lea eax, [ebp - 0x3c]
push eax
mov dword [ebp - 4], 2
call fcn.004010c5
call fcn.004017a2
mov byte [ebp - 4], 3
push dword [eax]
lea eax, [ebp - 0x38]
push str.AppCallName
push eax
call fcn.00412074
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x3c]
add eax, 0xfffffff0
call fcn.00401689
lea eax, [ebp - 0x48]
push 0x427830
push eax
call fcn.00410fbe
lea ecx, [ebp - 0x3c]
push 0x426ea8
push ecx
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.004049e5
add esp, 0x10
mov byte [ebp - 4], 5
mov ecx, dword [eax]
lea edi, [ebp - 0x38]
call fcn.0041240f
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.004010eb
mov eax, dword [ebp - 0x3c]
add eax, 0xfffffff0
call fcn.00401689
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x48]
add eax, 0xfffffff0
call fcn.00401689
push ebx
push dword [ebp - 0x60]
push ebx
push 0x89
call fcn.004110c7
push eax
call dword [sym.imp.USER32.dll_DialogBoxParamW]
lea eax, [ebp - 0x68]
push eax
call fcn.0040113e
or dword [ebp - 4], 0xffffffff
mov eax, edi
push eax
call fcn.0041202f
push 0x427844
push 0x42654c
call fcn.00414b27
pop ecx
pop ecx
call fcn.004010c5
mov esi, eax
push dword [esi + 0xc]
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov edi, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push 0xbb8
push dword [esi + 8]
call edi
call fcn.004032b8
cmp dword [ebp - 0x40], ebx
je 0x4084da
push 0x7d0
push dword [ebp - 0x40]
call edi
push dword [ebp - 0x40]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, dword [ebp - 0x44]
not edi
and edi, 1
test byte [ebp - 0x44], 2
je 0x408576
lea eax, [ebp - 0x44]
push eax
mov dword [ebp - 0x44], ebx
call fcn.004010c5
push eax
call fcn.00404290
test eax, eax
je 0x408554
lea eax, [ebp - 0x40]
push eax
call fcn.004010c5
call fcn.00401783
mov dword [ebp - 0x3c], eax
mov dword [ebp - 4], 6
call fcn.004010c5
lea esi, [ebp - 0x48]
call fcn.00401767
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x3c]
push dword [ecx]
push eax
push dword [ebp - 0x44]
call fcn.00411638
mov eax, dword [ebp - 0x48]
add esp, 0xc
add eax, 0xfffffff0
call fcn.00401689
mov eax, dword [ebp - 0x40]
add eax, 0xfffffff0
call fcn.00401689
jmp 0x408565
push str.No_need_to_set_registry_FULLDUMP_flag.
push 0x42654c
call fcn.00414b27
pop ecx
pop ecx
cmp edi, ebx
je 0x4085be
call fcn.004010c5
push eax
call fcn.0040331c
jmp 0x4085be
push edi
lea eax, [ebp - 0xb8]
call fcn.0040671f
push ebx
push dword [ebp - 0xb0]
push ebx
push 0x83
call fcn.004110c7
push eax
call dword [sym.imp.USER32.dll_DialogBoxParamW]
cmp eax, 1
jne 0x4085b3
cmp dword [ebp - 0xac], ebx
je 0x4085b3
call fcn.004010c5
push eax
call fcn.0040331c
lea esi, [ebp - 0xb8]
call fcn.00406784
xor eax, eax
inc eax
call fcn.0041ef7e
ret