Function at 0x4037e9
Capabilities:
Check for time delay via gettickcount
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0x18]
sub esp, 0x70
push ebx
push esi
push edi
mov edi, dword [ebp + 0x14]
xor esi, esi
cmp edi, esi
jne 0x403803
mov eax, 0x100000
cdq
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 8], edi
cmp edi, esi
jne 0x40381e
mov dword [ebp - 8], 0x48d100
cmp dword [ebp + 0xc], esi
jl 0x40383d
jg 0x40382a
cmp dword [ebp + 8], esi
jb 0x40383d
mov eax, dword [0x792858]
cdq
add eax, dword [ebp + 8]
adc edx, dword [ebp + 0xc]
push edx
push eax
call fcn.00403c59
push 8
lea eax, [ebp - 0x14]
push eax
call fcn.00403ae0
test eax, eax
jne 0x403857
push 0xfffffffffffffffd
pop eax
or edx, 0xffffffff
jmp 0x403ad9
mov ecx, dword [ebp - 0x10]
and ecx, 0x80000000
xor eax, eax
or eax, ecx
je 0x403a2a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x18], eax
mov eax, 0x80
dec eax
mov byte [eax + 0x68d100], 0
jne 0x403878
mov edi, dword [ebp - 0x10]
or dword [0x68d178], 0xffffffff
mov esi, dword [ebp - 0x14]
xor ebx, ebx
inc ebx
and edi, 0x7fffffff
mov dword [0x68d168], ebx
mov dword [0x68d164], ebx
mov dword [0x68d160], ebx
mov dword [0x68d15c], ebx
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x28], edi
jl 0x403ad3
jg 0x4038d1
test esi, esi
je 0x403ad3
jmp 0x4038d1
mov esi, dword [ebp - 0x14]
test edi, edi
jg 0x4038df
jl 0x4038e6
cmp esi, 0x80000
jb 0x4038e6
mov esi, 0x80000
xor edi, edi
push esi
push 0x40d100
call fcn.00403ae0
test eax, eax
je 0x40384c
sub dword [ebp - 0x14], esi
mov dword [0x68d118], 0x40d100
mov dword [0x68d11c], esi
sbb dword [ebp - 0x10], edi
mov eax, dword [ebp - 0x24]
mov edi, dword [ebp - 8]
push 0x68d100
mov dword [0x68d120], edi
mov dword [0x68d124], eax
call fcn.00406fa7
mov dword [ebp - 0xc], eax
test eax, eax
js 0x403a1c
mov esi, dword [0x68d120]
sub esi, edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
test byte [0x792d14], bl
je 0x4039a5
sub eax, dword [ebp + 0x18]
cmp eax, 0xc8
ja 0x40395f
mov eax, dword [ebp - 0x14]
or eax, dword [ebp - 0x10]
jne 0x4039a5
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
sbb ecx, dword [ebp - 0x10]
push 0
push 0x64
push ecx
push eax
call fcn.00407b60
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push edx
push eax
call fcn.00407ba0
push edx
push eax
lea eax, [ebp - 0x6c]
push str....__d__
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [ebp - 0x6c]
push eax
push 0
call fcn.00405cda
mov dword [ebp + 0x18], edi
test esi, esi
je 0x4039fb
cmp dword [ebp + 0x14], 0
jne 0x4039d6
push 0
lea eax, [ebp + 0xc]
push eax
push esi
push dword [ebp - 8]
push dword [ebp + 0x10]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x403a23
cmp dword [ebp + 0xc], esi
jne 0x403a23
mov eax, esi
cdq
add dword [ebp - 0x1c], eax
adc dword [ebp - 0x18], edx
jmp 0x4039ed
mov eax, esi
cdq
add dword [ebp - 0x1c], eax
adc dword [ebp - 0x18], edx
sub dword [ebp - 0x24], eax
mov eax, dword [0x68d120]
mov dword [ebp - 8], eax
sbb dword [ebp - 0x20], edx
cmp dword [ebp - 0xc], ebx
jne 0x40390f
jmp 0x403ad3
mov edi, dword [ebp - 0x10]
test edi, edi
jg 0x4038ce
jl 0x403ad3
mov esi, dword [ebp - 0x14]
test esi, esi
jne 0x4038d1
jmp 0x403ad3
push 0xfffffffffffffffc
jmp 0x40384e
push 0xfffffffffffffffe
jmp 0x40384e
cmp edi, esi
jne 0x403aa6
cmp dword [ebp - 0x10], esi
jl 0x403ad3
jg 0x403a42
cmp dword [ebp - 0x14], esi
jbe 0x403ad3
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x10], eax
jg 0x403a59
jl 0x403a54
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x14], eax
jae 0x403a59
mov esi, dword [ebp - 0x14]
jmp 0x403a5c
mov esi, dword [ebp - 0x24]
push esi
mov edi, 0x40d100
push edi
call fcn.00403ae0
test eax, eax
je 0x40384c
push 0
lea eax, [ebp + 0x18]
push eax
push esi
push edi
push dword [ebp + 0x10]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x403a23
cmp esi, dword [ebp + 0x18]
jne 0x403a23
xor eax, eax
add dword [ebp - 0x1c], esi
adc dword [ebp - 0x18], eax
sub dword [ebp - 0x14], esi
sbb dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
jg 0x403a42
jl 0x403ad3
cmp dword [ebp - 0x14], eax
ja 0x403a42
jmp 0x403ad3
mov eax, dword [ebp + 0x18]
cdq
cmp dword [ebp - 0x10], edx
jg 0x403ab8
mov esi, dword [ebp - 0x14]
jl 0x403abb
cmp esi, eax
jb 0x403abb
mov esi, dword [ebp + 0x18]
push esi
push edi
call fcn.00403ae0
test eax, eax
je 0x40384c
mov eax, esi
cdq
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
pop edi
pop esi
pop ebx
leave
ret 0x14