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

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0x18]
sub esp, 0xb8
push ebx
push esi
push edi
mov edi, dword [ebp + 0x14]
xor esi, esi
cmp edi, esi
jne 0x403911
mov eax, 0x100000
cdq
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x20], edi
cmp edi, esi
jne 0x40392c
mov dword [ebp - 0x20], 0x48ed20
cmp dword [ebp + 0xc], esi
jl 0x40394b
jg 0x403938
cmp dword [ebp + 8], esi
jb 0x40394b
mov eax, dword [0x799578]
cdq
add eax, dword [ebp + 8]
adc edx, dword [ebp + 0xc]
push edx
push eax
call fcn.00403d6f
push 8
lea eax, [ebp - 0xc]
push eax
call fcn.00403bf4
test eax, eax
jne 0x403965
push 0xfffffffffffffffd
pop eax
or edx, 0xffffffff
jmp 0x403bed
mov ecx, dword [ebp - 8]
and ecx, 0x80000000
xor eax, eax
or eax, ecx
je 0x403b3e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x18], eax
mov eax, 0x80
dec eax
mov byte [eax + 0x68ed20], 0
jne 0x403986
mov edi, dword [ebp - 8]
or dword [0x68ed98], 0xffffffff
mov esi, dword [ebp - 0xc]
xor ebx, ebx
inc ebx
and edi, 0x7fffffff
mov dword [0x68ed88], ebx
mov dword [0x68ed84], ebx
mov dword [0x68ed80], ebx
mov dword [0x68ed7c], ebx
mov dword [ebp - 0xc], esi
mov dword [ebp - 8], edi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x28], edi
jl 0x403be7
jg 0x4039df
test esi, esi
je 0x403be7
jmp 0x4039df
mov esi, dword [ebp - 0xc]
test edi, edi
jg 0x4039ed
jl 0x4039f4
cmp esi, 0x80000
jb 0x4039f4
mov esi, 0x80000
xor edi, edi
push esi
push 0x40ed20
call fcn.00403bf4
test eax, eax
je 0x40395a
sub dword [ebp - 0xc], esi
mov dword [0x68ed38], 0x40ed20
mov dword [0x68ed3c], esi
sbb dword [ebp - 8], edi
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
push 0x68ed20
mov dword [0x68ed40], edi
mov dword [0x68ed44], eax
call fcn.00407222
mov dword [ebp - 0x30], eax
test eax, eax
js 0x403b30
mov esi, dword [0x68ed40]
sub esi, edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
test byte [0x799e34], bl
je 0x403ab9
sub eax, dword [ebp + 0x18]
cmp eax, 0xc8
ja 0x403a6d
mov eax, dword [ebp - 0xc]
or eax, dword [ebp - 8]
jne 0x403ab9
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x28]
sbb ecx, dword [ebp - 8]
push 0
push 0x64
push ecx
push eax
call fcn.00407d30
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push edx
push eax
call fcn.00407d70
push edx
push eax
lea eax, [ebp - 0xb4]
push str....__d__
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
lea eax, [ebp - 0xb4]
push eax
push 0
call fcn.00405eb9
mov dword [ebp + 0x18], edi
test esi, esi
je 0x403b0f
cmp dword [ebp + 0x14], 0
jne 0x403aea
push 0
lea eax, [ebp + 0xc]
push eax
push esi
push dword [ebp - 0x20]
push dword [ebp + 0x10]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x403b37
cmp dword [ebp + 0xc], esi
jne 0x403b37
mov eax, esi
cdq
add dword [ebp - 0x14], eax
adc dword [ebp - 0x10], edx
jmp 0x403b01
mov eax, esi
cdq
add dword [ebp - 0x14], eax
adc dword [ebp - 0x10], edx
sub dword [ebp - 0x1c], eax
mov eax, dword [0x68ed40]
mov dword [ebp - 0x20], eax
sbb dword [ebp - 0x18], edx
cmp dword [ebp - 0x30], ebx
jne 0x403a1d
jmp 0x403be7
mov edi, dword [ebp - 8]
test edi, edi
jg 0x4039dc
jl 0x403be7
mov esi, dword [ebp - 0xc]
test esi, esi
jne 0x4039df
jmp 0x403be7
push 0xfffffffffffffffc
jmp 0x40395c
push 0xfffffffffffffffe
jmp 0x40395c
cmp edi, esi
jne 0x403bba
cmp dword [ebp - 8], esi
jl 0x403be7
jg 0x403b56
cmp dword [ebp - 0xc], esi
jbe 0x403be7
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 8], eax
jg 0x403b6d
jl 0x403b68
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0xc], eax
jae 0x403b6d
mov esi, dword [ebp - 0xc]
jmp 0x403b70
mov esi, dword [ebp - 0x1c]
push esi
mov edi, 0x40ed20
push edi
call fcn.00403bf4
test eax, eax
je 0x40395a
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 0x403b37
cmp esi, dword [ebp + 0x18]
jne 0x403b37
xor eax, eax
add dword [ebp - 0x14], esi
adc dword [ebp - 0x10], eax
sub dword [ebp - 0xc], esi
sbb dword [ebp - 8], eax
cmp dword [ebp - 8], eax
jg 0x403b56
jl 0x403be7
cmp dword [ebp - 0xc], eax
ja 0x403b56
jmp 0x403be7
mov eax, dword [ebp + 0x18]
cdq
cmp dword [ebp - 8], edx
jg 0x403bcc
mov esi, dword [ebp - 0xc]
jl 0x403bcf
cmp esi, eax
jb 0x403bcf
mov esi, dword [ebp + 0x18]
push esi
push edi
call fcn.00403bf4
test eax, eax
je 0x40395a
mov eax, esi
cdq
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], edx
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
pop edi
pop esi
pop ebx
leave
ret 0x14