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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x448
mov eax, dword [0x495780]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
lea eax, [ebx + 4]
push edi
push eax
mov dword [ebp - 0x42c], eax
call fcn.0044d140
pop ecx
lea eax, [ebp - 0x420]
lea ecx, [ebx + 8]
push eax
call fcn.00445010
mov eax, dword [0x49761c]
xor edi, edi
cmp eax, edi
je 0x44d43f
lea ecx, [ebp - 0x420]
push ecx
push dword [ebx + 0x84]
push dword [ebx + 0x8c]
push dword [ebx + 0x88]
push dword [ebx]
call eax
add esp, 0x14
test al, al
jne 0x44d6b2
mov eax, dword [0x495440]
cmp eax, 2
je 0x44d455
cmp eax, 3
je 0x44d455
cmp dword [ebx], 2
jl 0x44d4ab
jmp 0x44d471
cmp dword [ebp - 0x408], 0x10
mov eax, dword [ebp - 0x41c]
jae 0x44d46a
lea eax, [ebp - 0x41c]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp dword [ebp - 0x408], 0x10
mov eax, dword [ebp - 0x41c]
jae 0x44d486
lea eax, [ebp - 0x41c]
push eax
push 0x48757c
call fcn.00462213
add eax, 0x40
push eax
call fcn.0045fe16
call fcn.00462213
add eax, 0x40
push eax
call fcn.004621b7
add esp, 0x10
push edi
push edi
call fcn.0044cb1a
mov eax, dword [0x495440]
pop ecx
pop ecx
cmp eax, edi
je 0x44d603
cmp eax, 2
je 0x44d603
call fcn.0044c75f
test byte [0x497654], 1
jne 0x44d4ea
or dword [0x497654], 1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x497650], eax
push esi
call fcn.0044ce52
mov esi, 0x497630
push esi
push dword [0x497640]
lea ecx, [ebp - 0x428]
call fcn.0041c370
lea eax, [ebp - 0x420]
push eax
push dword [ebp - 0x424]
lea eax, [ebp - 0x428]
push dword [ebp - 0x428]
mov ecx, esi
push eax
call fcn.00437c80
cmp dword [0x49760c], edi
je 0x44d5fd
mov eax, dword [0x497640]
sub eax, dword [0x49763c]
push 0x1c
cdq
pop ecx
idiv ecx
cmp eax, 0x100
jae 0x44d563
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x497650]
cmp eax, 0x2710
jb 0x44d5fd
mov eax, dword [0x497640]
sub eax, dword [0x49763c]
push 0x1c
cdq
pop ecx
idiv ecx
test eax, eax
jbe 0x44d5e9
push edi
mov ecx, esi
call fcn.00437340
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x420]
call fcn.00402d90
push 2
push 0
push 0
push dword [0x49760c]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp dword [ebp - 0x408], 0x10
mov eax, dword [ebp - 0x41c]
jae 0x44d5b7
lea eax, [ebp - 0x41c]
push 0
lea ecx, [ebp - 0x424]
push ecx
push dword [ebp - 0x40c]
push eax
push dword [0x49760c]
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [0x497640]
sub eax, dword [0x49763c]
push 0x1c
cdq
pop ecx
idiv ecx
inc edi
cmp edi, eax
jb 0x44d578
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, esi
mov dword [0x497650], eax
call fcn.0044cd38
xor edi, edi
call fcn.0044c782
pop esi
mov eax, dword [ebx]
cmp eax, 4
jne 0x44d667
push edi
mov eax, 0x400
push eax
push eax
lea eax, [ebp - 0x404]
push eax
lea ecx, [ebp - 0x420]
call fcn.0044c8d7
lea eax, [ebp - 0x404]
push eax
call fcn.00455d39
pop ecx
call fcn.00455d0a
test al, al
jne 0x44d660
cmp dword [0x497614], edi
je 0x44d660
lea eax, [ebp - 0x448]
push eax
lea ecx, [ebx + 8]
call fcn.00445010
lea eax, [ebp - 0x448]
push eax
call dword [0x497614]
jmp 0x44d6a3
call fcn.00455d17
jmp 0x44d6b2
cmp eax, 3
jne 0x44d6b2
lea eax, [ebp - 0x448]
lea ecx, [ebx + 8]
push eax
cmp dword [0x497618], edi
je 0x44d692
call fcn.00445010
lea eax, [ebp - 0x448]
push eax
call dword [0x497618]
jmp 0x44d6a3
call fcn.00445010
lea eax, [ebp - 0x448]
push eax
call fcn.0044c923
pop ecx
push edi
push 1
lea ecx, [ebp - 0x448]
call fcn.00402fe0
push edi
push 1
lea ecx, [ebp - 0x420]
call fcn.00402fe0
push dword [ebx + 0x90]
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, dword [ebp - 0x42c]
call fcn.004436f0
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop ebx
call fcn.0045bb9e
leave
ret