Function at 0x42ef20
Capabilities:
Check for time delay via gettickcount
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x4ed868
push 0x4a4760
mov eax, dword fs:[0]
push eax
add esp, 0xfffffc68
mov eax, dword [0x4f36a0]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x54], 0
lea eax, [ebp - 0x54]
push eax
mov ecx, 0x4fe99c
call fcn.0042e150
cmp dword [ebp - 0x54], 0
jne 0x42ef78
xor al, al
jmp 0x42f28e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x4c], eax
cmp dword [0x50114c], 0
jbe 0x42efa2
mov ecx, dword [ebp - 0x4c]
sub ecx, dword [0x50114c]
cmp ecx, 0x6ddd00
jae 0x42efa2
xor al, al
jmp 0x42f28e
mov byte [ebp - 0x4d], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov byte [ebp - 0x55], 0
movzx edx, byte [ebp - 0x55]
push edx
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x4fe99c
call fcn.0042e350
mov ecx, 0x10
lea edi, [ebp - 0x2c]
mov esi, 0x5046b8
xor edx, edx
mov dword [ebp - 0x39c], edx
repe cmpsb byte [esi], byte es:[edi]
je 0x42efef
sbb eax, eax
sbb eax, 0xffffffff
mov dword [ebp - 0x39c], eax
mov ecx, dword [ebp - 0x39c]
mov dword [ebp - 0x3a0], ecx
mov edx, dword [ebp - 0x3a0]
mov dword [ebp - 0x5c], edx
cmp dword [ebp - 0x5c], 0
jne 0x42f013
xor al, al
jmp 0x42f28e
push 0x10
lea eax, [ebp - 0x2c]
push eax
push 0x5046b8
call fcn.00497ff0
add esp, 0xc
mov byte [0x501150], 1
movzx ecx, byte [0x501150]
test ecx, ecx
jne 0x42f03f
xor al, al
jmp 0x42f28e
movzx edx, byte [ebp - 0x55]
push edx
lea eax, [ebp - 0x48]
push eax
push 0
mov ecx, 0x4fe99c
call fcn.0042de50
cmp dword [ebp - 0x48], 0
jne 0x42f061
xor al, al
jmp 0x42f28e
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.00498670
add esp, 4
mov dword [ebp - 0x394], eax
mov edx, dword [ebp - 0x394]
mov dword [ebp - 0x40], edx
movzx eax, byte [ebp - 0x55]
push eax
lea ecx, [ebp - 0x48]
push ecx
mov edx, dword [ebp - 0x40]
push edx
mov ecx, 0x4fe99c
call fcn.0042de50
mov byte [ebp - 0x3c], 0
xor eax, eax
mov dword [ebp - 0x3b], eax
mov dword [ebp - 0x37], eax
mov dword [ebp - 0x33], eax
mov word [ebp - 0x2f], ax
mov byte [ebp - 0x2d], al
lea ecx, [ebp - 0x3c]
push ecx
mov edx, dword [ebp - 0x48]
push edx
mov eax, dword [ebp - 0x40]
push eax
call fcn.00432a00
add esp, 0xc
mov ecx, 0x10
lea edi, [ebp - 0x2c]
lea esi, [ebp - 0x3c]
xor edx, edx
mov dword [ebp - 0x3a4], edx
repe cmpsb byte [esi], byte es:[edi]
je 0x42f0df
sbb eax, eax
sbb eax, 0xffffffff
mov dword [ebp - 0x3a4], eax
mov ecx, dword [ebp - 0x3a4]
mov dword [ebp - 0x3a8], ecx
mov edx, dword [ebp - 0x3a8]
mov dword [ebp - 0x5c], edx
cmp dword [ebp - 0x5c], 0
je 0x42f10c
push str.ZY_Memory_is_corrupt
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
xor al, al
jmp 0x42f28e
cmp dword [ebp - 0x40], 0
je 0x42f266
cmp dword [ebp - 0x48], 0
jbe 0x42f266
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x40]
push eax
call fcn.0043b740
add esp, 4
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0
je 0x42f237
mov byte [ebp - 0x288], 0
push 0x1ff
push 0
lea ecx, [ebp - 0x287]
push ecx
call fcn.0049ca10
add esp, 0xc
mov byte [ebp - 0x390], 0
push 0xff
push 0
lea edx, [ebp - 0x38f]
push edx
call fcn.0049ca10
add esp, 0xc
mov byte [ebp - 0x84], 0
xor eax, eax
mov dword [ebp - 0x83], eax
mov dword [ebp - 0x7f], eax
mov dword [ebp - 0x7b], eax
mov dword [ebp - 0x77], eax
mov dword [ebp - 0x73], eax
mov dword [ebp - 0x6f], eax
mov dword [ebp - 0x6b], eax
mov dword [ebp - 0x67], eax
lea ecx, [ebp - 0x84]
push ecx
mov edx, dword [ebp - 0x40]
push edx
call fcn.0042ed40
add esp, 4
push eax
mov eax, dword [ebp - 0x60]
cdq
push edx
push eax
push str.DllInMem
push str.mymodule_s_address_I64u_size_d_md5_s
lea eax, [ebp - 0x390]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x1c
mov dword [ebp - 0x290], eax
lea ecx, [ebp - 0x390]
push ecx
mov edx, dword [ebp - 0x290]
push edx
push str.magicsedp1311_length_d__s
lea eax, [ebp - 0x288]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
push str.Initialize
mov ecx, dword [ebp - 0x60]
push ecx
call fcn.0043bd60
add esp, 8
mov dword [ebp - 0x28c], eax
cmp dword [ebp - 0x28c], 0
je 0x42f228
mov edx, dword [ebp + 8]
push edx
call dword [ebp - 0x28c]
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x50114c], eax
mov byte [ebp - 0x4d], 1
mov dword [ebp - 4], 0xfffffffe
call fcn.0042f245
jmp 0x42f266
cmp dword [ebp - 0x40], 0
je 0x42f28b
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x398], ecx
mov edx, dword [ebp - 0x398]
push edx
call fcn.00498355
add esp, 4
mov dword [ebp - 0x40], 0
mov al, byte [ebp - 0x4d]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.00497c58
mov esp, ebp
pop ebp
ret