Function at 0x408edb
Capabilities:
Check for time delay via gettickcount
Parse pe header
Read file on windows

Disassembly:
push 0x20
mov eax, 0x417f75
call fcn.00416820
xor ebx, ebx
mov edi, 0x44fea0
push edi
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x18], ebx
mov dword [0x45e364], ebx
call fcn.0040b73f
pop ecx
test eax, eax
je 0x409435
push 0x5c
push edi
call fcn.00414dac
pop ecx
pop ecx
mov ecx, eax
mov esi, 0x45d778
mov dword [0x44f84c], ecx
test ecx, ecx
je 0x408f3d
inc ecx
mov edx, esi
mov dword [0x44f84c], ecx
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x408f33
push str._______Disassembling_Dump_______
call fcn.0040d967
pop ecx
push ebx
push 0x80
push 3
push ebx
push 3
push 0xc0000000
push edi
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, eax
mov dword [ebp - 0x1c], edi
cmp edi, 0xffffffff
jne 0x408f82
push esi
push str.CreateFile_error__s
call fcn.0040d967
push ebx
call fcn.0040d967
add esp, 0xc
jmp 0x4093f9
push 4
push 0x3000
push dword [0x44f0c4]
push ebx
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [0x4515d8], eax
test eax, eax
je 0x4093e7
push ebx
push 0x451570
push dword [0x44f0c4]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x4093e0
mov ecx, dword [0x4515d8]
mov dword [0x45f430], ecx
mov dword [0x45f434], ecx
mov eax, dword [ecx + 0x3c]
add eax, 4
add eax, ecx
mov dword [0x45f438], eax
mov eax, dword [ecx + 0x3c]
mov dword [ebp - 0x28], eax
add eax, 0x18
add eax, ecx
mov dword [0x45f43c], eax
mov eax, 0x5a4d
mov edx, dword [ecx + 0x3c]
add edx, 0xf8
add edx, ecx
mov dword [0x45f440], edx
cmp word [ecx], ax
je 0x40901e
push str.IMAGE_DOS_SIGNATURE_not_found
call fcn.0040d967
push esi
push 0x445dac
jmp 0x408f75
mov eax, dword [ecx + 0x3c]
cmp dword [ecx + eax], 0x4550
je 0x409031
push str.IMAGE_NT_SIGNATURE_not_found
jmp 0x40900e
mov esi, dword [ebp - 0x28]
mov eax, dword [ecx + esi + 0x50]
mov dword [0x45d560], eax
mov esi, dword [ecx + esi + 0x34]
mov dword [0x45f418], esi
mov dword [0x45f3a0], ebx
mov dword [0x45f3a4], ebx
test edx, edx
je 0x409091
mov dword [0x45db90], ebx
mov ecx, ebx
mov eax, edx
mov edi, edx
mov eax, dword [eax + 0xc]
add edx, 0x28
add eax, esi
inc ecx
mov dword [0x45f3a0], eax
mov eax, dword [edi + 8]
mov dword [0x45f3a4], eax
mov eax, edx
mov dword [0x45f440], edx
mov edi, eax
mov dword [0x45db90], ecx
cmp ecx, 1
jl 0x409063
mov edi, dword [ebp - 0x1c]
call fcn.0040b648
push 4
push 0x3000
push dword [0x45d560]
push ebx
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [0x4515d4], eax
test eax, eax
je 0x4093e7
mov ecx, dword [0x45d560]
push ebx
push 0x451570
sub ecx, 0x1000
push ecx
push eax
push edi
mov dword [0x45d560], ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x4093e0
mov eax, dword [0x45f3a4]
xor ecx, ecx
push 0x10
inc eax
mov dword [ebp - 4], ebx
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00415a30
or dword [ebp - 4], 0xffffffff
pop ecx
push 0x40
push ebx
push 0x45e078
mov dword [0x45e358], eax
mov dword [0x45e06c], ebx
mov dword [0x45e070], ebx
call sub.VCRUNTIME140D.dll_memset
add esp, 0xc
mov ecx, 0x45f670
push 0x44577b
call fcn.004028d4
mov eax, dword [0x45f3a0]
mov dword [0x4515ac], eax
mov eax, dword [0x4515d4]
mov dword [0x4515b0], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 0x44f020
push 0x445dac
mov dword [0x44f468], eax
call fcn.0040d967
push dword [0x45e364]
mov dword [0x45f634], 1
push str._lu_potential_nanomites...
call fcn.0040d967
push 0x288
push ebx
push 0x45e0bc
call sub.VCRUNTIME140D.dll_memset
mov edx, dword [0x4515b0]
add esp, 0x1c
mov ecx, dword [0x45e06c]
mov esi, edx
mov dword [0x45e074], ebx
mov dword [0x45e0b8], esi
cmp ecx, dword [0x45f3a4]
jae 0x4093f9
mov eax, dword [0x45e074]
add esi, eax
add dword [0x4515ac], eax
add edx, eax
add ecx, eax
mov dword [0x45e0b8], esi
push 0x45e0b8
mov dword [0x4515b0], edx
mov dword [0x45e06c], ecx
call dword [0x45e068]
mov dword [0x45e074], eax
cmp eax, 0xffffffff
je 0x40939f
push 0x10
pop ecx
mov esi, 0x45e0c8
mov edi, 0x45e078
rep movsd dword es:[edi], dword [esi]
mov edi, 0x45e078
mov ecx, 0x45f670
push edi
call fcn.00414a11
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
sub eax, dword [0x44f468]
cmp eax, 0xc8
jbe 0x409246
call esi
push dword [0x45e364]
mov dword [0x44f468], eax
push str._lu_potential_nanomites...
mov dword [0x45f634], 1
call fcn.0040d967
pop ecx
pop ecx
push ebx
mov esi, 0x45f670
push str.int3
mov ecx, esi
call fcn.00414cb2
cmp eax, 0xffffffff
je 0x40934c
cmp dword [ebp - 0x14], 0
je 0x4092a3
mov ecx, esi
call fcn.00414ae1
push 0x40
push ebx
push edi
call sub.VCRUNTIME140D.dll_memset
add esp, 0xc
cmp dword [ebp - 0x18], 0
je 0x4093a9
mov ecx, dword [0x45e364]
mov eax, dword [0x45e358]
dec ecx
mov dword [0x45e364], ecx
add ecx, ecx
mov dword [ebp - 0x18], ebx
mov dword [eax + ecx*8], ebx
jmp 0x4093a9
xor eax, eax
inc eax
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x14], eax
je 0x4092ca
mov ecx, esi
mov dword [ebp - 0x14], ebx
call fcn.00414ae1
push 0x40
push ebx
push edi
call sub.VCRUNTIME140D.dll_memset
add esp, 0xc
jmp 0x4093a9
cmp dword [ebp - 0x24], 0
je 0x4092f4
push ebx
push str.push_FF
mov ecx, esi
call fcn.00414cb2
mov ecx, esi
cmp eax, 0xffffffff
jne 0x4092b1
push ebx
push str.mov_edi_edi
call fcn.00414cb2
cmp eax, 0xffffffff
jne 0x4092af
mov edx, dword [0x45e364]
mov ecx, dword [0x45e358]
add edx, edx
mov eax, dword [0x4515ac]
mov dword [ebp - 0x18], 1
mov dword [ecx + edx*8], eax
mov ecx, dword [0x45e364]
mov eax, dword [0x45e358]
add ecx, ecx
mov dword [eax + ecx*8 + 4], ebx
mov ecx, dword [0x45e364]
mov eax, dword [0x45e358]
add ecx, ecx
mov dword [eax + ecx*8 + 8], ebx
mov ecx, dword [0x45e364]
mov eax, dword [0x45e358]
add ecx, ecx
mov dword [eax + ecx*8 + 0xc], ebx
inc dword [0x45e364]
jmp 0x40934f
mov dword [ebp - 0x14], ebx
push ebx
push 0x448324
mov ecx, esi
call fcn.00414cb2
push ebx
push str.call
mov ecx, esi
mov edi, eax
call fcn.00414cb2
mov ecx, 0x45f670
mov esi, eax
call fcn.00414ae1
push 0x40
push ebx
push 0x45e078
call sub.VCRUNTIME140D.dll_memset
xor eax, eax
add esp, 0xc
cmp edi, 0xffffffff
setne al
mov dword [ebp - 0x20], eax
xor eax, eax
cmp esi, 0xffffffff
setne al
mov dword [ebp - 0x24], eax
jmp 0x4093a9
mov dword [0x45e074], 1
mov ecx, dword [0x45e06c]
cmp ecx, dword [0x45f3a4]
jae 0x4093db
mov edx, dword [0x4515b0]
mov esi, dword [0x45e0b8]
jmp 0x4091b3
mov edi, dword [ebp - 0x1c]
jmp 0x4093f9
push str.ReadFile_Error_DisassembleDump
jmp 0x4093ec
push str.VirtualAlloc_Error_DisassembleDump
call fcn.0040d967
push ebx
call fcn.0040d967
pop ecx
pop ecx
push dword [0x45e364]
mov dword [0x45f634], 1
push str._s_potential_nanomites...
call fcn.0040d967
pop ecx
pop ecx
test edi, edi
je 0x409426
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x44f45c], ebx
call fcn.0040b648
call fcn.0040b686
xor eax, eax
inc eax
jmp 0x40943d
mov dword [0x44fea0], ebx
xor eax, eax
call fcn.00416760
ret