Function at 0x47d3f5
Capabilities:
Check for time delay via queryperformancecounter
Print debug messages
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48e70c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xb34
push edi
xor eax, eax
mov al, byte [0x4f72e4]
test eax, eax
jne 0x47d56a
push 0x103
push 0x4f74f8
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x5c
push 0x4f74f8
call fcn.004031a0
add esp, 8
mov byte [eax], 0
mov byte [ebp - 0x110], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x10f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x4f74f8
push 0x4a6168
push 0xff
lea ecx, [ebp - 0x110]
push ecx
call dword [sym.imp.MSVCRT.dll__snprintf]
add esp, 0x10
lea ecx, [ebp - 0x128]
call fcn.0041eb00
mov dword [ebp - 4], 0
lea edx, [ebp - 0x110]
push edx
lea ecx, [ebp - 0x128]
call fcn.0041eb3e
mov dword [ebp - 0x114], eax
cmp dword [ebp - 0x114], 0
je 0x47d4c9
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x128]
call fcn.0041ed70
jmp 0x47d739
push 0
push 0x4f72e5
push 0x4a6174
push 0x4a6180
lea ecx, [ebp - 0x128]
call fcn.0041ed95
push 1
push 0x4f72e6
push 0x4a6188
push 0x4a6194
lea ecx, [ebp - 0x128]
call fcn.0041ed95
push 0x4a619c
push 0x200
push 0x4f72e8
push 0x4a61ac
push 0x4a61b4
lea ecx, [ebp - 0x128]
call fcn.0041ee0f
lea ecx, [ebp - 0x128]
call fcn.0041ece0
mov byte [0x4f72e4], 1
lea ecx, [ebp - 0x128]
call fcn.0041ece0
push 0x4f74e8
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
push 0x4f74f0
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x128]
call fcn.0041ed70
xor eax, eax
mov al, byte [0x4f72e5]
test eax, eax
je 0x47d739
push 0x4f7600
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov ecx, dword [0x4f7600]
sub ecx, dword [0x4f74f0]
mov edx, dword [0x4f7604]
sbb edx, dword [0x4f74f4]
push 0
push 0x3e8
push edx
push ecx
call fcn.00483620
mov ecx, dword [0x4f74ec]
push ecx
mov ecx, dword [0x4f74e8]
push ecx
push edx
push eax
call fcn.00483570
mov dword [ebp - 0x12c], eax
mov byte [ebp - 0xb2c], 0
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0xb2b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0x72c], 0
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x72b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
push 0x400
lea ecx, [ebp - 0xb2c]
push ecx
call dword [sym.imp.MSVCRT.dll__vsnprintf]
add esp, 0x10
lea edx, [ebp - 0xb3c]
push edx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
lea eax, [ebp - 0xb2c]
push eax
mov ecx, dword [ebp - 0x12c]
push ecx
mov edx, dword [ebp - 0xb2e]
and edx, 0xffff
push edx
mov eax, dword [ebp - 0xb30]
and eax, 0xffff
push eax
mov ecx, dword [ebp - 0xb32]
and ecx, 0xffff
push ecx
mov edx, dword [ebp - 0xb34]
and edx, 0xffff
push edx
mov eax, dword [ebp - 0xb36]
and eax, 0xffff
push eax
mov ecx, dword [ebp - 0xb3a]
and ecx, 0xffff
push ecx
mov edx, dword [ebp - 0xb3c]
and edx, 0xffff
push edx
push 0x4a61bc
lea eax, [ebp - 0x72c]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x2c
mov ecx, dword [0x4c8f60]
push ecx
push 0x4f72e8
push 0x4f74f8
push 0x4a61e0
lea edx, [ebp - 0x32c]
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x14
push str.22_27_ImagesWndFr
lea eax, [ebp - 0x32c]
push eax
call dword [sym.imp.MSVCRT.dll_fopen]
add esp, 8
mov dword [ebp - 0xb40], eax
cmp dword [ebp - 0xb40], 0
je 0x47d720
mov ecx, dword [ebp - 0xb40]
push ecx
lea edx, [ebp - 0x72c]
push edx
call sub.MSVCRT.dll_strlen
add esp, 4
push eax
push 1
lea eax, [ebp - 0x72c]
push eax
call dword [sym.imp.MSVCRT.dll_fwrite]
add esp, 0x10
mov ecx, dword [ebp - 0xb40]
push ecx
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
xor edx, edx
mov dl, byte [0x4f72e6]
test edx, edx
je 0x47d739
lea eax, [ebp - 0x72c]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
mov esp, ebp
pop ebp
ret