Function at 0x452750
Capabilities:
Read file on windows
Timestomp file

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x493570
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xa0
mov eax, dword [0x4b4050]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0x9c], ecx
mov edi, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x94], edi
mov dword [ebp - 0xa8], eax
sub esp, 0x18
mov dword [ebp - 4], 0
lea eax, [ebx + 0x1c]
mov ecx, esp
push eax
call fcn.0041eda0
lea ecx, [ebp - 0x78]
call fcn.00452360
add esp, 0x18
lea ecx, [ebx + 0x1c]
push eax
call fcn.0041ee60
mov ecx, dword [ebp - 0x64]
cmp ecx, 8
jb 0x452812
mov edx, dword [ebp - 0x78]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x452808
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x452ff8
push ecx
push edx
call fcn.004566f4
add esp, 8
lea eax, [ebx + 0x1c]
push eax
lea ecx, [ebp - 0x58]
call fcn.0041eda0
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebx + 0x1c]
call fcn.0044bc50
mov esi, eax
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
xor eax, eax
mov dword [ebp - 0x24], 7
movups xmmword [ebp - 0x38], xmm0
mov word [ebp - 0x38], ax
push eax
push 0x4a3c2c
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 3
call fcn.00421e60
lea eax, [ebp - 0x38]
push eax
push esi
call fcn.00454f50
mov byte [ebp - 4], 2
add esp, 8
mov ecx, dword [ebp - 0x24]
mov esi, eax
cmp ecx, 8
jb 0x4528aa
mov edx, dword [ebp - 0x38]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4528a0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x452ffd
push ecx
push edx
call fcn.004566f4
add esp, 8
test esi, esi
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x64]
sete al
mov byte [ebp - 0x9d], al
cmp ecx, 8
jb 0x4528f9
mov edx, dword [ebp - 0x78]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4528e9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x453002
push ecx
push edx
call fcn.004566f4
mov al, byte [ebp - 0x9d]
add esp, 8
test al, al
je 0x452aef
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
xor eax, eax
mov dword [ebp - 0x24], 7
movups xmmword [ebp - 0x38], xmm0
mov word [ebp - 0x38], ax
lea eax, [ebx + 0x1c]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.00455450
add esp, 8
lea eax, [ebp - 0x78]
cmp dword [ebp - 0x64], 8
cmovae eax, dword [ebp - 0x78]
push 0
push 0
push 0
push 0
push eax
push 0
call dword [sym.imp.KERNEL32.dll_SearchPathW]
mov ecx, dword [ebp - 0x64]
mov esi, eax
mov dword [ebp - 0xac], esi
cmp ecx, 8
jb 0x45298e
mov edx, dword [ebp - 0x78]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x452984
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x453007
push ecx
push edx
call fcn.004566f4
add esp, 8
mov ecx, dword [ebp - 0x28]
cmp esi, ecx
ja 0x4529ab
cmp dword [ebp - 0x24], 8
lea eax, [ebp - 0x38]
mov dword [ebp - 0x28], esi
cmovae eax, dword [ebp - 0x38]
xor ecx, ecx
mov word [eax + esi*2], cx
jmp 0x4529ba
mov eax, esi
sub eax, ecx
lea ecx, [ebp - 0x38]
push 0
push eax
call fcn.0044ba70
cmp dword [ebp - 0x24], 8
lea eax, [ebx + 0x1c]
push eax
lea eax, [ebp - 0x78]
lea esi, [ebp - 0x38]
cmovae esi, dword [ebp - 0x38]
push eax
call fcn.00455450
add esp, 8
lea eax, [ebp - 0x78]
cmp dword [ebp - 0x64], 8
cmovae eax, dword [ebp - 0x78]
push 0
push esi
push dword [ebp - 0xac]
push 0
push eax
push 0
call dword [sym.imp.KERNEL32.dll_SearchPathW]
mov ecx, dword [ebp - 0x64]
mov esi, eax
cmp ecx, 8
jb 0x452a30
mov edx, dword [ebp - 0x78]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x452a26
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45300c
push ecx
push edx
call fcn.004566f4
add esp, 8
test esi, esi
jne 0x452a75
mov ecx, dword [ebp - 0x24]
cmp ecx, 8
jb 0x452a6e
mov edx, dword [ebp - 0x38]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x452a64
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x453011
push ecx
push edx
call fcn.004566f4
add esp, 8
xor esi, esi
jmp 0x452f54
cmp dword [ebp - 0x24], 8
lea ecx, [ebp - 0x38]
mov eax, dword [ebp - 0x28]
cmovae ecx, dword [ebp - 0x38]
lea ecx, [ecx + eax*2]
lea eax, [ebp - 0x38]
cmovae eax, dword [ebp - 0x38]
sub ecx, eax
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.00421e60
cmp dword [ebp - 0x24], 8
lea eax, [ebp - 0x38]
mov dword [ebp - 0x28], 0
cmovae eax, dword [ebp - 0x38]
xor ecx, ecx
mov word [eax], cx
mov ecx, dword [ebp - 0x24]
cmp ecx, 8
jb 0x452bb7
mov edx, dword [ebp - 0x38]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x452bad
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x453011
jmp 0x452bad
sub esp, 0x18
lea eax, [ebp - 0x58]
mov ecx, esp
push eax
call fcn.0041eda0
lea ecx, [ebp - 0x78]
call fcn.00452360
mov esi, eax
add esp, 0x18
lea eax, [ebp - 0x58]
cmp eax, esi
je 0x452b7d
mov ecx, dword [ebp - 0x44]
cmp ecx, 8
jb 0x452b4b
mov edx, dword [ebp - 0x58]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x452b41
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x453016
push ecx
push edx
call fcn.004566f4
add esp, 8
mov dword [ebp - 0x48], 0
xor eax, eax
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x58], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x48], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
mov ecx, dword [ebp - 0x64]
cmp ecx, 8
jb 0x452bb7
mov edx, dword [ebp - 0x78]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x452bad
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x453016
push ecx
push edx
call fcn.004566f4
add esp, 8
cmp dword [ebp - 0x44], 8
lea eax, [ebp - 0x58]
push 0x22
cmovae eax, dword [ebp - 0x58]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov esi, eax
push 0
test esi, esi
je 0x452c44
mov eax, dword [ebp - 0x9c]
xorps xmm0, xmm0
mov ecx, dword [ebx + 0x14]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x88], eax
mov eax, dword [ebx + 0x18]
push 0xb
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0x90]
push eax
push 0x452660
push 0xe
push esi
movlpd qword [ebp - 0x70], xmm0
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x84], edi
movlpd qword [ebp - 0x68], xmm0
call dword [sym.imp.KERNEL32.dll_EnumResourceNamesExW]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov esi, dword [ebp - 0x70]
jmp 0x452f54
cmp dword [ebp - 0x44], 8
lea eax, [ebp - 0x58]
push 0x80
cmovae eax, dword [ebp - 0x58]
push 3
push 0
push 1
push 0x80000100
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
push 0
cmp esi, 0xffffffff
jne 0x452c9f
cmp dword [ebp - 0x44], 8
lea eax, [ebp - 0x58]
push 0x80
cmovae eax, dword [ebp - 0x58]
push 3
push 0
push 1
push 0x80000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
jne 0x452cbf
xor esi, esi
jmp 0x452f54
lea eax, [ebp - 0x40]
push eax
push 0
push esi
call dword [sym.imp.KERNEL32.dll_GetFileTime]
test eax, eax
je 0x452cbf
push 0
lea eax, [ebp - 0x40]
push eax
push 0
push esi
call dword [sym.imp.KERNEL32.dll_SetFileTime]
push 0
lea eax, [ebp - 0x5c]
mov dword [ebp - 0x5c], 0
push eax
push 0xc
lea eax, [ebp - 0x20]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x452ce4
xor esi, esi
jmp 0x452f54
cmp dword [ebp - 0x5c], 0xc
je 0x452cf1
xor esi, esi
jmp 0x452f54
movzx eax, word [ebp - 0x20]
xorps xmm0, xmm0
movlpd qword [ebp - 0x40], xmm0
test eax, eax
je 0x452f36
cmp eax, 0x4952
je 0x452e9a
cmp eax, 0x4d42
jne 0x452f51
cmp dword [ebp - 0x44], 8
lea ecx, [ebp - 0x58]
cmovae ecx, dword [ebp - 0x58]
cmp dword [ebp - 0x9c], 1
jl 0x452d42
movlpd qword [ebp - 0x98], xmm0
mov esi, dword [ebp - 0x98]
jmp 0x452f54
mov eax, dword [ebx + 0x18]
or eax, 0x10
push eax
push dword [ebx + 8]
mov eax, dword [ebp - 0xa4]
push eax
push 0
push ecx
push 0
call dword [sym.imp.USER32.dll_LoadImageW]
mov esi, eax
mov dword [ebp - 0xac], esi
test esi, esi
jne 0x452d80
xorps xmm0, xmm0
movlpd qword [ebp - 0x98], xmm0
mov esi, dword [ebp - 0x98]
jmp 0x452f54
test edi, edi
jne 0x452d93
push esi
call dword [sym.imp.GDI32.dll_DeleteObject]
lea esi, [edi + 1]
jmp 0x452f54
push 0
push 1
push 1
push dword [ebx + 8]
push dword [ebp - 0xa4]
call dword [sym.imp.GDI32.dll_CreateBitmap]
mov edi, dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push 0
mov dword [ebp - 0xa8], eax
call edi
push esi
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
push eax
mov dword [ebp - 0x9c], eax
call esi
push 0
call edi
push dword [ebp - 0xa8]
mov edi, eax
push edi
mov dword [ebp - 0x3c], edi
call esi
mov esi, dword [ebp - 0x9c]
push 0
push 0
push esi
call dword [sym.imp.GDI32.dll_GetPixel]
push eax
push esi
call dword [sym.imp.GDI32.dll_SetBkColor]
push 0xcc0020
push 0
push 0
push esi
push dword [ebx + 8]
mov esi, dword [sym.imp.GDI32.dll_BitBlt]
push dword [ebp - 0xa4]
push 0
push 0
push edi
call esi
push 0x220326
push 0
push 0
push edi
push dword [ebx + 8]
push dword [ebp - 0xa4]
push 0
push 0
push dword [ebp - 0x9c]
call esi
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
call dword [sym.imp.USER32.dll_CreateIconIndirect]
push dword [ebp - 0x9c]
mov esi, dword [sym.imp.GDI32.dll_DeleteObject]
mov edi, eax
call esi
push dword [ebp - 0xac]
call esi
push dword [ebp - 0x3c]
call esi
push dword [ebp - 0xa8]
call esi
mov eax, dword [ebp - 0x94]
mov esi, 1
mov dword [eax], edi
jmp 0x452f54
mov eax, 0x4646
cmp word [ebp - 0x1e], ax
jne 0x452f51
mov eax, 0x4341
cmp word [ebp - 0x18], ax
jne 0x452f51
mov eax, 0x4e4f
cmp word [ebp - 0x16], ax
jne 0x452f51
cmp dword [ebp - 0x44], 8
lea ecx, [ebp - 0x58]
cmovae ecx, dword [ebp - 0x58]
cmp dword [ebp - 0x9c], 1
jl 0x452eeb
movlpd qword [ebp - 0x98], xmm0
mov esi, dword [ebp - 0x98]
jmp 0x452f54
mov eax, dword [ebx + 0x18]
or eax, 0x10
push eax
push dword [ebx + 8]
push dword [ebp - 0xa4]
push 1
push ecx
push 0
call dword [sym.imp.USER32.dll_LoadImageW]
test eax, eax
jne 0x452f1d
xorps xmm0, xmm0
movlpd qword [ebp - 0x98], xmm0
mov esi, dword [ebp - 0x98]
jmp 0x452f54
test edi, edi
jne 0x452f2d
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
lea esi, [edi + 1]
jmp 0x452f54
mov dword [edi], eax
mov esi, 1
jmp 0x452f54
mov ax, word [ebp - 0x1e]
cmp ax, 1
je 0x452f46
cmp ax, 2
jne 0x452f51
cmp word [ebp - 0x1c], 1
jae 0x452ec7
mov esi, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x44]
cmp ecx, 8
jb 0x452f8e
mov edx, dword [ebp - 0x58]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x452f84
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45301b
push ecx
push edx
call fcn.004566f4
add esp, 8
mov ecx, dword [ebx + 0x30]
xor eax, eax
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
cmp ecx, 8
jb 0x452fd8
mov edx, dword [ebx + 0x1c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x452fce
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45301b
push ecx
push edx
call fcn.004566f4
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0045613d
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.0047361e
call fcn.0047361e
call fcn.0047361e
call fcn.0047361e
call fcn.0047361e
call fcn.0047361e
call fcn.0047361e
call fcn.0047361e
int3