Function at 0x425802
Capabilities:
Get common file path
Log keystrokes via polling
Query environment variable

Disassembly:
push ebp
mov eax, 0x41c0
lea ebp, [esp - 0x74]
call fcn.0048faf0
push ebx
push esi
mov dword [ebp + 0x6c], ecx
push edi
lea ecx, [ebp + 0x7c]
call fcn.0040ddcf
and dword [ebp + 0x4c], 0
and dword [ebp + 0x40], 0
xor edi, edi
inc edi
mov dword [ebp + 0x58], edi
mov byte [ebp + 0x67], 0
mov byte [ebp + 0x73], 0
mov byte [ebp + 0x52], 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [ebp + 0x18], eax
mov eax, dword [ebp + 0x7c]
mov dword [ebp + 0x30], 0x3e8
cmp word [eax], 0x2d
mov byte [ebp + 0x68], 0
mov byte [ebp + 0x72], 0
mov bl, 0x2a
jne 0x425a65
add bl, 3
jmp 0x425a65
mov esi, dword [ebp + 0x7c]
add esi, 2
mov ax, word [esi]
cmp ax, 0x41
jb 0x425a6f
cmp ax, 0x2a
je 0x425a6f
cmp ax, 0x30
jb 0x425895
cmp ax, 0x39
jbe 0x425a6f
cmp ax, 0x28
je 0x425a6f
cmp cl, 0x2d
jne 0x4258c0
mov dl, al
or dl, 0x20
cmp dl, 0x63
jne 0x4258c0
mov edx, dword [ebp + 0x7c]
mov dl, byte [edx + 4]
or dl, 0x20
cmp dl, 0x6d
je 0x425a6f
cmp cl, 0x2a
jne 0x4258db
test ax, ax
je 0x425a6f
call fcn.004820ac
test al, al
jne 0x425a6f
push 3
lea eax, [ebp + 0x7c]
push eax
push 0x4a86a8
mov dword [ebp + 0x7c], esi
call fcn.0043f0e5
add esp, 0xc
test al, al
je 0x4258fe
mov byte [ebp + 0x72], 1
jmp 0x425a62
push 8
lea eax, [ebp + 0x7c]
push eax
push str.InitSys
call fcn.0043f0e5
add esp, 0xc
test al, al
je 0x42591e
mov byte [ebp + 0x52], 1
jmp 0x425a62
push 3
lea eax, [ebp + 0x7c]
push eax
push 0x4a4a78
call fcn.0043f0e5
add esp, 0xc
test al, al
je 0x42593e
mov byte [ebp + 0x68], 1
jmp 0x425a62
push 4
lea eax, [ebp + 0x7c]
push eax
push str.sys0
call fcn.0043f0e5
add esp, 0xc
test al, al
je 0x42595e
mov byte [ebp + 0x68], 0x41
jmp 0x425a62
push 6
lea eax, [ebp + 0x7c]
push eax
push str.syscmd
call fcn.0043f0e5
add esp, 0xc
test al, al
je 0x42597e
mov byte [ebp + 0x68], 0x10
jmp 0x425a62
push 7
lea eax, [ebp + 0x7c]
push eax
push str.sys0cmd
call fcn.0043f0e5
add esp, 0xc
test al, al
je 0x42599e
mov byte [ebp + 0x68], 0x50
jmp 0x425a62
push 4
lea eax, [ebp + 0x7c]
push eax
push str.cont
call fcn.0043f0e5
add esp, 0xc
test al, al
je 0x4259c1
mov dword [ebp + 0x4c], 0x10000
jmp 0x425a62
push 7
lea eax, [ebp + 0x7c]
push eax
push str.scanall
call fcn.0043f0e5
add esp, 0xc
test al, al
je 0x4259e1
mov byte [ebp + 0x73], 1
jmp 0x425a62
push 3
lea eax, [ebp + 0x7c]
push eax
push 0x4a8024
call fcn.0043f0e5
add esp, 0xc
test al, al
je 0x425a01
mov dword [ebp + 0x40], 0x40
jmp 0x425a62
push 7
lea eax, [ebp + 0x7c]
push eax
push str.freemem
call fcn.0043f0e5
add esp, 0xc
test al, al
je 0x425a2e
push edi
call fcn.00439385
mov eax, dword [ebp + 0x7c]
cmp word [eax], 0
pop ecx
je 0x425e77
jmp 0x425a62
push 4
push dword [ebp + 0x7c]
push str.cur:
call fcn.00438aa1
add esp, 0xc
test al, al
je 0x425a58
add dword [ebp + 0x7c], 8
lea eax, [ebp + 0x18]
push eax
lea eax, [ebp + 0x7c]
push eax
call fcn.0044880d
pop ecx
jmp 0x425a61
lea eax, [ebp + 0x7c]
push eax
call fcn.00407fcf
pop ecx
mov eax, dword [ebp + 0x7c]
mov cl, byte [eax]
cmp bl, cl
je 0x425868
mov eax, dword [ebp + 0x7c]
cmp byte [eax], 0x2d
jne 0x425a99
cmp byte [eax + 2], 0x2d
jne 0x425a99
movzx eax, word [eax + 4]
test ax, ax
je 0x425a8f
call fcn.004820ac
test al, al
je 0x425a99
lea eax, [ebp + 0x7c]
push eax
call fcn.00407fcf
pop ecx
cmp byte [ebp + 0x68], 0
je 0x425bad
push 0x4beb4c
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push str.GlobalPECMD:main:lock
lea ecx, [ebp + 0x5c]
call fcn.0040e228
mov esi, dword [ebp + 0x68]
and esi, 0x40
push esi
call fcn.0041047a
test eax, eax
pop ecx
mov dword [ebp + 0x4c], eax
jne 0x425add
push esi
push dword [ebp + 0x6c]
call fcn.00417aaa
pop ecx
pop ecx
mov dword [ebp + 0x4c], eax
test eax, eax
mov dword [ebp + 0x58], edi
je 0x425b8e
push dword [ebp + 0x7c]
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenW]
call esi
mov edi, eax
add edi, 0x10
lea eax, [edi + 0x65]
push eax
lea ecx, [ebp + 0x6c]
call fcn.0043d3c3
mov eax, dword [ebp + 0x6c]
and word [eax], 0
test byte [ebp + 0x68], 0x10
jne 0x425b25
push dword [ebp + 0x18]
push str.THREAD_WAIT__cur:_lu
push dword [ebp + 0x6c]
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push dword [ebp + 0x6c]
call esi
mov ecx, dword [ebp + 0x6c]
inc edi
push edi
push dword [ebp + 0x7c]
lea eax, [ecx + eax*2]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
push dword [ebp + 0x6c]
call esi
add eax, eax
push eax
push dword [ebp + 0x6c]
mov ebx, str.HOTKEY9000000
push 1
push ebx
mov edi, str.SOFTWAREPELOGONRAMDATAHOTKEY
push edi
mov esi, 0x80000002
push esi
call fcn.00438973
add esp, 0x18
push 0
push 0x895440
push 0x312
push dword [ebp + 0x4c]
call dword [sym.imp.USER32.dll_SendMessageW]
push ebx
push edi
push esi
mov dword [ebp + 0x58], eax
call fcn.004389bf
add esp, 0xc
lea ecx, [ebp + 0x6c]
call fcn.00437884
cmp dword [ebp + 0x5c], 0
je 0x425b9d
push dword [ebp + 0x5c]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push 0x4beb4c
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x426480
cmp byte [ebp + 0x73], 0
je 0x425c62
lea ecx, [ebp + 0x40]
mov ebx, str.PressKey
call fcn.0043d3a5
mov eax, dword [ebp + 0x7c]
cmp word [eax], 0
je 0x425be2
push 0x2c
lea eax, [ebp + 0x40]
push eax
lea eax, [ebp + 0x7c]
push eax
call fcn.0043fd51
mov ebx, dword [ebp + 0x40]
add esp, 0xc
push 0x3f
xor eax, eax
mov byte [ebp - 0x148], 0
pop ecx
lea edi, [ebp - 0x147]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x148]
push eax
call dword [sym.imp.USER32.dll_GetKeyboardState]
xor esi, esi
mov word [ebp - 0x414c], si
lea edi, [ebp - 0x414c]
movzx eax, byte [ebp + esi - 0x148]
push eax
push str.0x_02X
push edi
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
inc esi
add edi, 0xa
cmp esi, 0x100
jl 0x425c15
mov ecx, dword [ebp + 0x6c]
and word [ebp - 0x374e], 0
lea eax, [ebp - 0x414c]
push eax
push ebx
call fcn.0043cc80
lea ecx, [ebp + 0x40]
call fcn.00437884
and dword [ebp + 0x58], 0
jmp 0x426446
mov edx, dword [ebp + 0x7c]
cmp word [edx], 0x2d
mov esi, 0x80000000
mov edi, esi
mov dword [ebp + 0x68], edi
mov dword [ebp + 0x48], 0xfffffc18
jne 0x425ca4
lea eax, [edx + 2]
mov cx, word [eax]
or cx, 0x20
cmp cx, 0x63
je 0x425ca4
cmp cx, 0x64
je 0x425ca4
lea ecx, [ebp + 0x7c]
mov dword [ebp + 0x7c], eax
mov byte [ebp + 0x67], 1
call fcn.0040ddcf
mov edx, dword [ebp + 0x7c]
cmp word [edx], 0x3d
jne 0x425cb3
mov bl, byte [edx]
inc edx
inc edx
mov dword [ebp + 0x7c], edx
jmp 0x425cb5
xor bl, bl
xor ecx, ecx
mov cx, word [edx]
push ecx
call fcn.00412674
add esp, 4
test al, al
je 0x425d64
mov eax, dword [ebp + 0x7c]
fld qword [0x4a8600]
mov dword [ebp + 0x60], eax
fstp qword [ebp + 0x38]
lea eax, [ebp + 0x5c]
push eax
lea eax, [ebp + 0x60]
push eax
mov dword [ebp + 0x5c], esi
call fcn.0044880d
pop ecx
pop ecx
mov ecx, dword [ebp + 0x7c]
jmp 0x425d02
mov ax, word [ecx]
call fcn.004820ac
test al, al
jne 0x425d07
inc ecx
inc ecx
mov dword [ebp + 0x7c], ecx
cmp ecx, dword [ebp + 0x60]
jb 0x425cf1
cmp dword [ebp + 0x5c], 0
jl 0x425d58
cmp word [ecx], 0x2e
mov edi, dword [ebp + 0x5c]
mov dword [ebp + 0x68], edi
jne 0x425d58
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp + 0x7c]
push eax
call fcn.0043ffce
fld qword [ebp + 0x38]
fcomp qword [0x4a85f8]
pop ecx
pop ecx
fnstsw ax
test ah, 1
jne 0x425ddd
fld qword [ebp + 0x38]
fadd qword [0x4a85f0]
fmul qword [0x4a85e8]
call fcn.0048fe24
mov dword [ebp + 0x48], eax
jmp 0x425ddd
lea eax, [ebp + 0x7c]
push eax
call fcn.00407fcf
pop ecx
jmp 0x425ddd
cmp cx, 0x28
jne 0x425ddd
fld qword [0x4a8600]
lea eax, [ebp + 0x38]
push eax
fstp qword [ebp + 0x38]
lea eax, [ebp + 0x7c]
push eax
call fcn.0047df9e
test eax, eax
pop ecx
pop ecx
jle 0x425ddd
fld qword [ebp + 0x38]
fcomp qword [0x4a85f8]
fnstsw ax
test ah, 1
jne 0x425ddd
fld qword [ebp + 0x38]
fadd qword [0x4a85f0]
fld st(0)
call fcn.0048fe24
fld st(0)
mov edi, eax
mov dword [ebp + 0x68], edi
call fcn.0048fe24
mov dword [ebp + 0x38], eax
mov dword [ebp + 0x3c], edx
fild qword [ebp + 0x38]
fsubp st(1)
fcom qword [0x4a85e0]
fnstsw ax
test ah, 0x41
jne 0x425ddb
fcom qword [0x4a85d8]
fnstsw ax
test ah, 5
jnp 0x425d45
fstp st(0)
mov eax, dword [ebp + 0x7c]
cmp word [eax], 0x2a
je 0x425f66
cmp edi, esi
jne 0x425df8
cmp dword [ebp + 0x48], 0
jl 0x425f66
and word [ebp - 0x46], 0
and word [ebp - 0x48], 0
lea ecx, [ebp + 0x60]
mov dword [ebp + 0x5c], str.PressKey
call fcn.0043d3a5
mov eax, dword [ebp + 0x7c]
cmp word [eax], 0x2c
jne 0x425e3c
add dword [ebp + 0x7c], 2
push 0x2c
lea eax, [ebp + 0x60]
push eax
lea eax, [ebp + 0x7c]
push eax
call fcn.0043fd51
mov eax, dword [ebp + 0x60]
add esp, 0xc
cmp word [eax], 0
je 0x425e3c
mov dword [ebp + 0x5c], eax
cmp byte [ebp + 0x67], 0
jne 0x425eaa
test edi, edi
jne 0x425e4d
cmp dword [ebp + 0x48], edi
jle 0x425ea5
test edi, edi
jl 0x425f4f
test bl, bl
je 0x425e7e
and dword [ebp + 0x58], 0
push edi
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp + 0x7c]
cmp word [eax], 0
jne 0x425f4f
lea ecx, [ebp + 0x60]
call fcn.00437884
xor eax, eax
jmp 0x426483
mov ecx, dword [ebp + 0x48]
test ecx, ecx
jg 0x425e87
xor ecx, ecx
test edi, edi
jle 0x425e8f
mov eax, edi
jmp 0x425e91
xor eax, eax
push 0
push ecx
mov ecx, dword [ebp + 0x6c]
push eax
call fcn.004137db
mov dword [ebp + 0x58], eax
jmp 0x425f4f
push 2
pop eax
jmp 0x425ead
xor eax, eax
inc eax
or eax, dword [ebp + 0x4c]
push eax
push edi
call fcn.0041a87d
cmp byte [ebp + 0x72], 0
pop ecx
mov ebx, eax
pop ecx
mov dword [ebp + 0x58], ebx
jne 0x425ed4
cmp ebx, 0x60
jl 0x425ed4
cmp ebx, 0x69
jg 0x425ed4
sub ebx, 0x30
mov dword [ebp + 0x58], ebx
test ebx, ebx
mov esi, dword [sym.imp.USER32.dll_wsprintfW]
mov edi, str.0x_X
jle 0x425ef3
push ebx
lea eax, [ebp - 0x48]
push edi
push eax
call esi
add esp, 0xc
lea eax, [ebp - 0x48]
jmp 0x425ef8
mov eax, 0x4a85d0
mov ecx, dword [ebp + 0x6c]
push eax
push str.PressKey.Hex
call fcn.0043cc80
test ebx, ebx
jle 0x425f3b
cmp ebx, 0x41
jl 0x425f14
cmp ebx, 0x5a
jle 0x425f21
push ebx
call fcn.00412674
add esp, 4
test al, al
je 0x425f30
and word [ebp - 0x46], 0
movsx ax, bl
mov word [ebp - 0x48], ax
jmp 0x425f3b
push ebx
lea eax, [ebp - 0x48]
push edi
push eax
call esi
add esp, 0xc
mov ecx, dword [ebp + 0x6c]
lea eax, [ebp - 0x48]
push eax
push dword [ebp + 0x5c]
call fcn.0043cc80
mov esi, 0x80000000
lea ecx, [ebp + 0x7c]
call fcn.0040ddcf
lea ecx, [ebp + 0x60]
mov dword [ebp + 0x68], esi
mov byte [ebp + 0x67], 0
call fcn.00437884
mov eax, dword [ebp + 0x7c]
cmp word [eax], 0
je 0x426446
xor edi, edi
mov ecx, eax
mov dword [ebp + 0x54], edi
or esi, 0xffffffff
cmp word [ecx], 0x2a
mov byte [ebp + 0x72], 0
mov byte [ebp + 0x73], 0
jne 0x425fa4
mov eax, dword [ebp + 0x18]
inc ecx
xor esi, esi
inc ecx
inc esi
mov dword [ebp + 0x54], eax
jmp 0x425f9b
inc esi
inc ecx
inc ecx
mov dword [ebp + 0x7c], ecx
cmp word [ecx], 0x2a
je 0x425f98
cmp esi, edi
jle 0x426013
mov ax, word [ecx]
cmp ax, 0x2d
jne 0x425fbb
inc ecx
inc ecx
mov dword [ebp + 0x7c], ecx
mov dword [ebp + 0x54], edi
jmp 0x426013
cmp ax, 0x3d
jne 0x425fc7
mov byte [ebp + 0x72], 1
jmp 0x425fd1
cmp ax, 0x24
jne 0x425fd9
mov byte [ebp + 0x73], 2
inc ecx
inc ecx
mov dword [ebp + 0x7c], ecx
mov dword [ebp + 0x54], edi
xor eax, eax
mov ax, word [ecx]
push eax
call fcn.00412674
add esp, 4
test al, al
je 0x425ffb
lea eax, [ebp + 0x54]
push eax
lea eax, [ebp + 0x7c]
push eax
call fcn.0044880d
pop ecx
pop ecx
dec esi
cmp esi, edi
jle 0x426013
cmp byte [ebp + 0x73], 0
jne 0x426013
push esi
push dword [ebp + 0x54]
call fcn.00410e81
pop ecx
pop ecx
mov dword [ebp + 0x54], eax
or dword [ebp + 0x28], 0xffffffff
lea ecx, [ebp + 0x7c]
call fcn.0040ddcf
mov eax, dword [ebp + 0x7c]
cmp word [eax], 0x3d
jne 0x426034
mov cl, byte [eax]
inc eax
inc eax
mov byte [ebp + 0x53], cl
mov dword [ebp + 0x7c], eax
jmp 0x426038
mov byte [ebp + 0x53], 0
movzx eax, word [eax]
push eax
call fcn.00412674
add esp, 4
test al, al
je 0x426057
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x7c]
push eax
call fcn.0044880d
pop ecx
pop ecx
cmp byte [ebp + 0x73], 0
mov dword [ebp + 0x14], edi
lea edi, [ebp + 0x14]
je 0x426066
lea edi, [ebp + 0x54]
xor ebx, ebx
cmp byte [ebp + 0x73], bl
mov dword [ebp + 0x4c], edi
mov dword [ebp + 0x58], ebx
jne 0x42607f
cmp dword [ebp + 0x54], ebx
jne 0x42608a
mov dword [ebp + 0x58], 0x80070057
cmp dword [ebp + 0x54], ebx
je 0x4260b6
cmp byte [ebp + 0x73], 0
jne 0x4260b6
cmp byte [ebp + 0x72], 0
push dword [ebp + 0x54]
push ebx
push 0x100000
je 0x4260a1
call dword [sym.imp.KERNEL32.dll_OpenThread]
jmp 0x4260a7
call dword [sym.imp.KERNEL32.dll_OpenProcess]
cmp eax, ebx
mov dword [edi], eax
jne 0x4260b6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp + 0x58], eax
push 0x209
lea ecx, [ebp + 0x44]
call fcn.0043d3c3
mov eax, dword [ebp + 0x44]
mov word [eax], bx
push dword [ebp + 0x44]
mov esi, 0x208
push esi
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
lea eax, [ebp + 0x44]
push eax
lea ecx, [ebp + 0x2c]
call fcn.00445797
push 0x5c
push dword [ebp + 0x2c]
call dword [sym.imp.SHLWAPI.dll_StrChrW]
mov eax, dword [ebp + 0x44]
push esi
mov word [eax], bx
push dword [ebp + 0x44]
push str.SystemRoot
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
push dword [ebp + 0x2c]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea ecx, [ebp + 0x7c]
call fcn.0040ddcf
lea ecx, [ebp + 0x1c]
call fcn.0043d613
mov dword [ebp + 0x3c], ebx
jmp 0x426242
cmp byte [0x4bc2c0], 0
jle 0x426256
push 7
lea eax, [ebp + 0x7c]
push eax
push str._delms:
call fcn.0043f0e5
add esp, 0xc
test al, al
je 0x426169
lea eax, [ebp + 0x30]
push eax
lea eax, [ebp + 0x7c]
push eax
call fcn.0044880d
cmp dword [ebp + 0x30], ebx
pop ecx
pop ecx
jge 0x426242
mov dword [ebp + 0x30], ebx
jmp 0x426242
push 4
lea eax, [ebp + 0x7c]
push eax
push str._del
call fcn.0043f0e5
add esp, 0xc
test al, al
je 0x426221
mov eax, dword [ebp + 0x7c]
mov dword [ebp + 0x34], eax
push 1
lea eax, [ebp + 0x48]
push eax
lea eax, [ebp + 0x34]
push eax
mov dword [ebp + 0x48], ebx
call fcn.00418cf5
add esp, 0xc
lea ecx, [ebp + 0x60]
mov dword [ebp + 0x7c], eax
call fcn.0043d3a5
lea ecx, [ebp + 0x5c]
call fcn.0043d3a5
push dword [ebp + 0x48]
lea ecx, [ebp + 0x5c]
push dword [ebp + 0x34]
call fcn.0043d4c9
lea eax, [ebp + 0x60]
push eax
push dword [ebp + 0x5c]
call fcn.0041143a
pop ecx
pop ecx
lea ecx, [ebp + 0x5c]
call fcn.00437884
cmp dword [ebp + 0x48], ebx
jle 0x42620f
push 4
call fcn.0048f958
cmp eax, ebx
pop ecx
je 0x4261f3
mov ecx, dword [ebp + 0x60]
mov dword [eax], ecx
mov dword [ebp + 0x60], ebx
mov esi, eax
jmp 0x4261f5
xor esi, esi
push 4
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp + 0x1c]
push eax
push dword [ebp + 0x24]
call fcn.0043d5d6
add esp, 0x10
mov dword [eax], esi
inc dword [ebp + 0x24]
lea ecx, [ebp + 0x7c]
call fcn.0040ddcf
lea ecx, [ebp + 0x60]
call fcn.00437884
jmp 0x426242
push 4
lea eax, [ebp + 0x7c]
push eax
push str._cmd
call fcn.0043f0e5
add esp, 0xc
test al, al
jne 0x426250
lea eax, [ebp + 0x7c]
push eax
call fcn.00407fcf
pop ecx
mov eax, dword [ebp + 0x7c]
cmp word [eax], bx
jne 0x426125
jmp 0x426256
mov eax, dword [ebp + 0x7c]
mov dword [ebp + 0x3c], eax
cmp byte [ebp + 0x67], 0
je 0x42625f
neg dword [ebp + 0x68]
cmp dword [ebp + 0x40], ebx
jne 0x426271
cmp dword [edi], ebx
je 0x426271
push dword [ebp + 0x44]
call fcn.00410023
pop ecx
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
call ebx
mov esi, eax
add esi, dword [ebp + 0x68]
cmp dword [edi], 0
je 0x426307
jmp 0x4262fe
cmp dword [ebp + 0x68], 0
je 0x426307
mov edi, 0x3e8
jle 0x4262a7
call ebx
mov ecx, esi
sub ecx, eax
mov dword [ebp + 0x68], ecx
js 0x426307
cmp ecx, edi
jge 0x4262a7
mov edi, ecx
push 0x4ff
push edi
push 0
push dword [ebp + 0x4c]
push 1
call dword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
test eax, eax
je 0x426307
push 0x64
pop edi
jmp 0x4262f5
push 1
xor eax, eax
push eax
push eax
push eax
lea eax, [ebp - 8]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x4262fe
dec edi
je 0x4262fe
cmp dword [ebp - 4], 0x12
je 0x4262fe
lea eax, [ebp - 8]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 8]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
cmp byte [0x4bc2c0], 0
jg 0x4262c3
cmp byte [0x4bc2c0], 0
jg 0x426289
xor esi, esi
cmp dword [ebp + 0x28], esi
jl 0x42632c
cmp byte [ebp + 0x53], 0
je 0x42631f
push dword [ebp + 0x28]
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x42632c
mov ecx, dword [ebp + 0x6c]
push esi
push esi
push dword [ebp + 0x28]
call fcn.004137db
cmp dword [ebp + 0x24], esi
jle 0x4263f4
cmp byte [0x4bc2c0], 0
jle 0x4263f4
cmp dword [ebp + 0x40], 0
jne 0x426351
push dword [ebp + 0x44]
call fcn.00410023
pop ecx
cmp dword [ebp + 0x24], 0
mov eax, dword [ebp + 0x1c]
mov dword [ebp + 0x5c], eax
jle 0x4263f4
cmp byte [0x4bc2c0], 0
jle 0x4263f4
mov eax, dword [ebp + 0x24]
xor edi, edi
cmp eax, edi
mov dword [ebp + 0x34], edi
mov dword [ebp + 0x60], eax
jle 0x4263f4
cmp byte [0x4bc2c0], 0
jle 0x4263d6
mov eax, dword [ebp + 0x5c]
lea esi, [eax + edi*4]
mov eax, dword [esi]
test eax, eax
je 0x4263d0
push 0
push dword [eax]
call fcn.00414c22
mov eax, dword [esi]
push dword [eax]
call fcn.0048ef3c
add esp, 0xc
test edx, edx
jg 0x4263ca
jl 0x4263b1
test eax, eax
ja 0x4263ca
mov ebx, dword [esi]
test ebx, ebx
je 0x4263c5
mov ecx, ebx
call fcn.00437884
push ebx
call fcn.0048f854
pop ecx
and dword [esi], 0
jmp 0x4263d0
lea eax, [edi + 1]
mov dword [ebp + 0x34], eax
inc edi
cmp edi, dword [ebp + 0x60]
jl 0x42637d
mov esi, dword [ebp + 0x34]
test esi, esi
jle 0x4263f4
mov ecx, dword [ebp + 0x6c]
push 0
push 0
push dword [ebp + 0x30]
call fcn.004137db
mov dword [ebp + 0x24], esi
jmp 0x426361
xor esi, esi
cmp dword [ebp + 0x40], esi
jne 0x42640b
mov eax, dword [ebp + 0x4c]
cmp dword [eax], esi
je 0x42640b
push dword [ebp + 0x2c]
call fcn.00410023
pop ecx
mov eax, dword [ebp + 0x3c]
cmp eax, esi
je 0x426426
cmp word [eax], si
je 0x426426
mov ecx, dword [ebp + 0x6c]
push esi
push esi
push esi
push eax
call fcn.0042cae7
mov dword [ebp + 0x58], eax
lea ecx, [ebp + 0x1c]
call fcn.0044d49a
lea ecx, [ebp + 0x2c]
call fcn.00437884
lea ecx, [ebp + 0x44]
call fcn.00437884
lea ecx, [ebp + 0x14]
call fcn.00402b8a
cmp byte [ebp + 0x52], 0
je 0x426476
call fcn.00418f98
test eax, eax
je 0x42646e
push dword [ebp + 0x6c]
call fcn.00410bac
mov dword [esp], str.exec
push dword [ebp + 0x6c]
call fcn.00418fc4
pop ecx
pop ecx
push 0
call fcn.004143c6
pop ecx
mov ecx, dword [ebp + 0x6c]
push 0
call fcn.0045fcd8
mov eax, dword [ebp + 0x58]
pop edi
pop esi
pop ebx
add ebp, 0x74
leave
ret 4