Function at 0x105f7ac
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov eax, 0x106bf3e
call fcn.01055bd8
sub esp, 0x58
mov eax, dword [0x107342c]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0x34]
push ebx
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0x38]
push edi
mov dword [ebp - 0x44], eax
mov eax, dword [ebp + 0x3c]
xor ebx, ebx
push 0x1016c98
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x28], ebx
call fcn.0105dc7c
xor eax, eax
cmp esi, ebx
lea edi, [ebp - 0x20]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
stosd dword es:[edi], eax
je 0x105f997
cmp dword [ebp - 0x30], ebx
je 0x105f997
mov eax, dword [ebp + 0x10]
or eax, dword [ebp + 0x14]
je 0x105f997
cmp dword [ebp + 0x18], ebx
je 0x105f997
cmp dword [ebp + 0x1c], ebx
je 0x105f997
cmp dword [ebp + 0x20], ebx
je 0x105f997
cmp dword [ebp - 0x2c], ebx
je 0x105f997
cmp dword [ebp + 0x24], ebx
je 0x105f997
cmp dword [ebp + 0x28], ebx
je 0x105f997
cmp dword [ebp + 0x2c], ebx
je 0x105f997
cmp dword [ebp + 0x30], ebx
je 0x105f997
fld qword [0x1016a50]
push ecx
fldlg2
push ecx
fxch st(1)
fyl2x
fmul qword [0x1016a48]
fstp qword [esp]
call dword [sym.imp.msvcrt.dll_ceil]
pop ecx
pop ecx
call sub.msvcrt.dll__ftol
push eax
lea ecx, [ebp - 0x64]
call fcn.0105d8dc
lea eax, [ebp - 0x28]
push eax
push esi
lea ecx, [ebp - 0x64]
call fcn.0105dac4
cmp eax, ebx
mov dword [ebp - 0x24], eax
jne 0x105f99e
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
mov esi, eax
add esi, 0x7d0
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
call edi
cmp eax, esi
jb 0x105f8bd
mov esi, dword [ebp - 0x28]
lea edi, [ebp - 0x20]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0xe
lea eax, [ebp - 0x20]
push eax
movsb byte es:[edi], byte [esi]
call fcn.0105f61f
cmp eax, ebx
mov dword [ebp - 0x24], eax
jne 0x105f99e
push ebx
push 0xe
lea eax, [ebp - 0x20]
push eax
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp - 0x30]
call fcn.0105f34c
cmp eax, ebx
mov dword [ebp - 0x24], eax
jne 0x105f99e
cmp byte [ebp - 0x19], 0x80
ja 0x105f98e
push 8
pop eax
cmp byte [ebp + eax - 0x20], bl
jne 0x105f98e
inc eax
cmp eax, 0xe
jb 0x105f919
lea esi, [ebp - 0x20]
lea edi, [ebp - 0x40]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x2c]
mov ecx, eax
shr ecx, 0x10
mov edx, 0xff
and ecx, edx
mov dword [ebp - 0x30], ebx
mov dword [esi], ecx
je 0x105f99e
mov esi, dword [ebp - 0x40]
mov ecx, esi
and ecx, edx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], ecx
je 0x105f99e
mov edi, dword [ebp - 0x38]
mov edi, dword [edi]
cmp edi, ebx
je 0x105f99e
cmp ecx, edi
ja 0x105f99e
mov edi, dword [ebp - 0x38]
shrd esi, eax, 8
mov dword [edi], ecx
mov edi, dword [ebp - 0x44]
shr eax, 8
and eax, edx
mov dword [ebp - 0x30], eax
mov eax, ecx
mov dword [ebp - 0x34], esi
shr ecx, 2
lea esi, [ebp - 0x34]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x105f99e
mov dword [ebp - 0x24], 0x103
jmp 0x105f99e
mov dword [ebp - 0x24], 0x57
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
mov esi, eax
add esi, 0x7d0
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
call edi
cmp eax, esi
jb 0x105f9ae
cmp dword [ebp - 0x28], ebx
je 0x105f9d8
push dword [ebp - 0x28]
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [ebp - 0x28], ebx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x64]
call fcn.0105d0f4
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x24]
pop edi
pop esi
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
pop ebx
call fcn.0103e4d8
leave
ret 0x38