Function at 0x4209ca
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov eax, dword [ebp + 8]
push ebx
xor ebx, ebx
mov byte [0x48ab86], bl
cmp word [eax], 0x2a
lea eax, [ebp + 8]
push esi
push eax
mov dword [ebp - 8], ecx
sete byte [ebp - 2]
call fcn.0040e574
push 3
lea eax, [ebp + 8]
push eax
push 0x4761d0
call fcn.0042c9b5
add esp, 0x10
push ebx
mov byte [ebp - 1], al
call dword [sym.imp.KERNEL32.DLL_SetLastError]
cmp byte [ebp - 1], bl
mov eax, str.GlobalPECMD:main_u
jne 0x420a1d
mov eax, str.GlobalPECMD:main
push eax
push 1
push ebx
call dword [sym.imp.KERNEL32.DLL_CreateMutexA]
mov esi, eax
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp esi, ebx
je 0x420a43
mov ecx, 0xb7
cmp eax, ecx
jne 0x420a43
mov eax, ecx
jmp 0x420d00
cmp byte [ebp - 1], bl
je 0x420a51
mov byte [0x48ae0e], 0x20
jmp 0x420a61
mov eax, dword [ebp + 8]
cmp word [eax], bx
setne al
add al, 0x10
mov byte [0x48ae0e], al
cmp dword [0x48ade4], ebx
push edi
mov edi, 0x4758e0
jne 0x420a8e
push 0x478ef6
call fcn.004614b5
test eax, eax
pop ecx
je 0x420a8e
push edi
push str.D:DebugPeMain.log
mov ecx, 0x48aec0
call fcn.0041b7ec
cmp byte [ebp - 2], bl
je 0x420a9a
mov byte [0x48add8], 1
cmp byte [ebp - 1], bl
jne 0x420ad9
mov eax, dword [ebp + 8]
cmp word [eax], bx
je 0x420aee
push 0x10000000
push 1
push ebx
push str.Default
call dword [sym.imp.USER32.dll_OpenDesktopW]
mov esi, eax
cmp esi, ebx
je 0x420ad9
push esi
call dword [sym.imp.USER32.dll_SetThreadDesktop]
test eax, eax
je 0x420ad2
push esi
call dword [sym.imp.USER32.dll_SwitchDesktop]
push esi
call dword [sym.imp.USER32.dll_CloseDesktop]
mov eax, dword [ebp + 8]
cmp word [eax], bx
je 0x420aee
mov ecx, dword [ebp - 8]
push ebx
push 0x24
push ebx
push edi
call fcn.00414f4a
mov ecx, dword [ebp + 8]
xor eax, eax
mov ax, word [ecx]
cmp ax, 0x2a
mov dword [ebp - 0x10], eax
jne 0x420b13
lea eax, [ecx + 2]
cmp word [eax], 0x23
je 0x420b13
lea ecx, [ebp + 8]
mov dword [ebp + 8], eax
call fcn.0040e58b
call fcn.00451a91
mov eax, dword [ebp + 8]
cmp word [eax], bx
jne 0x420b27
mov byte [0x48b139], 1
call fcn.00424cff
call fcn.00420996
call dword [sym.imp.KERNEL32.DLL_GetCurrentProcessId]
push 4
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0xc]
push eax
push 4
push str.MainPECMDPID
mov edi, str.SOFTWAREPELOGON
push edi
mov esi, 0x80000002
push esi
call fcn.00425503
push ebx
call fcn.00458759
add esp, 0x1c
cmp byte [ebp - 1], bl
jne 0x420b85
mov al, byte [0x48ae0e]
push 1
mov byte [ebp - 2], al
lea eax, [ebp - 2]
push eax
push 3
push str.bInMain
push edi
push esi
call fcn.00425503
add esp, 0x18
mov eax, dword [ebp + 8]
cmp word [eax], bx
je 0x420b92
call fcn.0040b989
cmp byte [ebp - 1], bl
mov eax, str.UCallBackhWnd
jne 0x420ba1
mov eax, dword [0x4892b8]
push 4
push 0x48add4
push 4
push eax
push edi
push esi
call fcn.00425503
add esp, 0x18
cmp word [ebp - 0x10], bx
jne 0x420bc0
cmp byte [ebp - 1], bl
je 0x420bc5
call fcn.00417a65
mov edi, dword [ebp - 8]
mov ecx, edi
call fcn.00411275
mov eax, dword [ebp + 8]
cmp word [eax], bx
jne 0x420bdc
cmp byte [ebp - 1], bl
je 0x420c1e
lea eax, [ebp - 0x10]
push eax
push 0x10000
push ebx
push 0x4209bb
push 0x80000
push ebx
mov dword [ebp - 0x10], ebx
call dword [sym.imp.KERNEL32.DLL_CreateThread]
cmp eax, ebx
je 0x420c1b
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
jmp 0x420c1b
lea ecx, [eax + 2]
cmp word [ecx], 0x23
je 0x420c24
mov dword [ebp + 8], ecx
lea ecx, [ebp + 8]
call fcn.0040e58b
mov eax, dword [ebp + 8]
cmp word [eax], 0x2a
je 0x420c07
cmp word [eax], bx
je 0x420cbe
push eax
call fcn.0040b500
test eax, eax
pop ecx
push dword [ebp + 8]
je 0x420c52
lea ecx, [ebp - 8]
call fcn.0042a183
push ebx
push ebx
push ebx
push dword [ebp - 8]
mov ecx, edi
call fcn.0041e84e
jmp 0x420cb6
call fcn.0046176a
pop ecx
add eax, 0x348
push eax
lea ecx, [ebp - 8]
call fcn.0042465d
mov eax, dword [ebp - 8]
push 0x104
push eax
push ebx
lea esi, [eax + 0x208]
call dword [sym.imp.KERNEL32.DLL_GetModuleFileNameW]
push 0x5c
push ebx
push dword [ebp - 8]
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
cmp eax, ebx
jne 0x420c91
mov eax, dword [ebp - 8]
jmp 0x420c93
inc eax
inc eax
push dword [ebp + 8]
push eax
push dword [ebp - 8]
push str.___exe:__s_____s___LOAD__s
push esi
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x14
push ebx
push ebx
push ebx
push ebx
push edi
push esi
mov ecx, edi
call fcn.00406b5b
lea ecx, [ebp - 8]
call fcn.00424686
mov esi, dword [sym.imp.USER32.dll_GetMessageW]
push ebx
push ebx
push ebx
lea eax, [ebp - 0x2c]
push eax
call esi
pop edi
jmp 0x420ced
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push ebx
push ebx
push ebx
lea eax, [ebp - 0x2c]
push eax
call esi
test eax, eax
jne 0x420cd0
push dword [0x48adc4]
call dword [sym.imp.USER32.dll_UnhookWindowsHookEx]
mov eax, dword [ebp - 0x24]
pop esi
pop ebx
leave
ret 4