Function at 0x4062f6
Capabilities:
Create thread
Read file via mapping
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x440
push ebx
push esi
push edi
call fcn.00409962
test al, al
jne 0x406314
call fcn.004099df
test al, al
je 0x406321
call fcn.00409858
test al, al
je 0x4065a9
mov edi, 0x782
push 0x41f32c
push edi
push 0xf5
push 0x420188
push 6
call fcn.0040857d
pop ecx
pop ecx
push eax
call fcn.0040ab76
add esp, 0x10
call fcn.00401021
push 0x2b
call dword [sym.imp.USER32.dll_GetSystemMetrics]
lea eax, [ebp - 0x440]
push 0x208
xor ebx, ebx
push eax
push ebx
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.DLL_GetModuleFileNameA]
push ebx
push 0x41f37c
push 0x10
call fcn.0040857d
pop ecx
pop ecx
push eax
call fcn.0040672e
push eax
lea eax, [ebp - 0x238]
push eax
call fcn.004108e0
lea eax, [ebp - 0x238]
push eax
call fcn.00412370
push 0x420180
push 4
call fcn.0040857d
push eax
lea eax, [ebp - 0x238]
push eax
call fcn.004108f0
lea eax, [ebp - 0x440]
push eax
call fcn.00412370
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x440]
push eax
call fcn.004122f0
neg eax
sbb al, al
push 0x42017c
inc al
push 2
mov byte [ebp - 1], al
call fcn.0040857d
push eax
push dword [ebp + 0x10]
call fcn.004122f0
add esp, 0x40
test eax, eax
je 0x406406
call fcn.00401b4b
jmp 0x4065a9
push 0x420174
push 5
call fcn.0040857d
push eax
lea eax, [ebp - 0x440]
push eax
call fcn.004122f0
add esp, 0x10
test eax, eax
je 0x406430
call fcn.00401353
jmp 0x4065a9
push ebx
call fcn.004016e2
mov dword [esp], 0x41f330
push 0x10
call fcn.0040857d
pop ecx
pop ecx
push eax
push ebx
push 4
call dword [sym.imp.KERNEL32.DLL_OpenFileMappingA]
cmp eax, ebx
mov dword [ebp - 0x10], eax
je 0x406516
push ebx
push ebx
push ebx
push 4
push eax
call dword [sym.imp.KERNEL32.DLL_MapViewOfFile]
mov esi, eax
cmp esi, ebx
je 0x406516
mov eax, dword [esi + 0xc]
cmp dword [esi + 4], edi
mov dword [ebp - 0xc], eax
jae 0x4065a9
push dword [esi + 8]
push ebx
push 0x100001
call dword [sym.imp.KERNEL32.DLL_OpenProcess]
push dword [esi + 0x14]
lea edi, [esi + 0x14]
mov dword [ebp - 8], eax
call fcn.004121b1
push dword [edi]
mov dword [ebp + 0x10], eax
push edi
push eax
call fcn.00410c40
add esp, 0x10
push esi
call dword [sym.imp.KERNEL32.DLL_UnmapViewOfFile]
push dword [ebp - 0x10]
mov esi, dword [sym.imp.KERNEL32.DLL_CloseHandle]
call esi
push ebx
push ebx
push 0x12
push dword [ebp - 0xc]
call dword [sym.imp.USER32.dll_PostThreadMessageA]
mov edi, dword [ebp - 8]
cmp edi, ebx
je 0x4064ed
push 0x7d0
push edi
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
test eax, eax
je 0x4064ea
push ebx
push edi
call dword [sym.imp.KERNEL32.DLL_TerminateProcess]
push edi
call esi
mov esi, dword [sym.imp.KERNEL32.DLL_Sleep]
push 0x5dc
call esi
push 1
push dword [ebp + 0x10]
call fcn.00401882
pop ecx
pop ecx
push 0x3e8
call esi
push dword [ebp + 0x10]
call fcn.004120c8
pop ecx
call fcn.0040118b
cmp byte [ebp - 1], bl
je 0x406561
push 8
push 0x42bdd8
push 1
push 0x420148
push 0xc
mov dword [0x42bdd8], ebx
mov dword [0x42bddc], 0x15180
call fcn.0040857d
pop ecx
pop ecx
push eax
call fcn.0040672e
pop ecx
pop ecx
push eax
call fcn.004080a6
push 1
call fcn.00401bb1
add esp, 0x10
jmp 0x4065a9
lea eax, [ebp - 0x14]
push eax
push ebx
push ebx
push 0x406203
push ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_CreateThread]
cmp byte [0x42a750], bl
jne 0x4065a4
push ebx
push ebx
lea eax, [ebp - 0x30]
push ebx
push eax
call dword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
je 0x4065a4
cmp dword [ebp - 0x2c], 0x16
jne 0x406598
cmp dword [ebp - 0x28], ebx
jne 0x4065a4
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
jmp 0x406574
call section..text
pop edi
pop esi
xor eax, eax
pop ebx
leave
ret 0x10