Function at 0x1019b30
Capabilities:
Check for time delay via gettickcount
Create thread
Get file size

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
movzx eax, word [edi]
xor ebx, ebx
push eax
mov dword [ebp - 8], ebx
mov dword [ebp - 4], ebx
call dword [sym.imp.msvcrt.dll_iswascii]
add esp, 4
test eax, eax
mov eax, edi
jne 0x1019b5e
mov eax, 0x100b79c
mov esi, dword [sym.imp.msvcrt.dll_wprintf]
push eax
push 0x100be4c
call esi
mov eax, dword [ebp + 0x14]
add esp, 8
cmp eax, ebx
je 0x1019b85
mov ecx, dword [ebp + 0x18]
push eax
push ecx
push 0x100be00
call esi
add esp, 0xc
push 0x100b720
call esi
mov edx, dword [ebp + 0xc]
add esp, 4
push edx
call fcn.01019560
mov esi, dword [sym.imp.KERNEL32.dll_IsProcessorFeaturePresent]
push 6
call esi
test eax, eax
setne al
push 0xa
mov byte [0x101d80d], al
call esi
push 0x1a000
test eax, eax
setne cl
push ebx
push 0x101d818
mov byte [0x101d80c], cl
mov dword [0x101d808], ebx
mov dword [0x1037818], ebx
mov dword [0x101d7d8], ebx
mov dword [0x103781c], ebx
mov dword [0x101d810], ebx
mov dword [0x101d7e4], ebx
mov dword [0x101d7e8], ebx
mov dword [0x101d7ec], ebx
mov dword [0x101d7f0], ebx
mov dword [0x101d7f4], ebx
mov dword [0x101d7f8], ebx
mov dword [0x101d7fc], ebx
mov dword [0x101d800], ebx
call sub.msvcrt.dll_memset
add esp, 0xc
mov eax, 0x101d874
mov dword [eax], 0x10000000
add eax, 0x68
cmp eax, 0x1037874
jl 0x1019c21
push ebx
push 0x68000000
push 3
push ebx
push 3
push 0x80000000
push edi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp + 0xc], eax
cmp eax, 0xffffffff
jne 0x1019c5f
push 0x100b6bc
call fcn.0101a030
jmp 0x1019fa4
push ebx
push ebx
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_CreateIoCompletionPort]
mov dword [ebp - 4], eax
cmp eax, ebx
jne 0x1019c7f
push 0x100bdb8
call fcn.0101a030
jmp 0x1019f51
mov edi, dword [sym.imp.KERNEL32.dll_CreateThread]
mov esi, 0x101d7e4
lea ebx, [ebx]
mov edx, dword [ebp - 4]
push ebx
push ebx
push edx
push 0x1019a60
push ebx
push ebx
call edi
mov dword [esi], eax
cmp eax, ebx
je 0x1019cde
add esi, 4
cmp esi, 0x101d804
jl 0x1019c90
mov ecx, dword [ebp + 0xc]
lea eax, [ebp + 8]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
cmp esi, 0xffffffff
jne 0x1019ced
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x1019ced
push 0x100b68c
call fcn.0101a030
jmp 0x1019f51
push 0x100bd88
call fcn.0101a030
jmp 0x1019f51
mov ecx, dword [ebp + 0x10]
cmp ecx, ebx
je 0x1019d19
mov eax, dword [0x101d814]
push ebx
cdq
push ecx
push edx
push eax
call fcn.01013f20
mov edi, dword [ebp + 8]
cmp edx, edi
ja 0x1019d1c
jb 0x1019d10
cmp eax, esi
jae 0x1019d1c
mov edi, edx
mov esi, eax
mov dword [ebp + 8], edi
jmp 0x1019d1c
mov edi, dword [ebp + 8]
mov ecx, dword [0x101d7e0]
shr esi, cl
mov ecx, dword [0x101d7dc]
shl edi, cl
mov ecx, dword [0x101d804]
add esi, edi
lea eax, [ecx + esi - 1]
cdq
idiv ecx
mov dword [0x101d808], esi
mov dword [0x1037818], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [ebp + 0x10], eax
mov edi, 0x101d82c
lea ebx, [ebx]
mov ecx, dword [0x101d814]
mov eax, dword [0x101d804]
mov edx, dword [ebp + 0xc]
imul eax, ecx
mov dword [edi + 0x50], edx
cmp eax, ecx
jb 0x1019f30
push 4
push 0x1000
push eax
push 0
call ebx
mov dword [edi], eax
test eax, eax
je 0x1019f37
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [edi + 0x4c], eax
test eax, eax
je 0x1019f3e
lea esi, [edi - 0x14]
call fcn.01019790
add edi, 0x68
cmp edi, 0x103782c
jl 0x1019d60
push 0x100bd4c
call fcn.0101a0a0
mov edx, dword [0x101d878]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov edi, dword [sym.imp.KERNEL32.dll_WaitForSingleObjectEx]
push 0
push 0xc8
push edx
mov dword [0x101d810], eax
mov dword [0x103781c], ecx
call edi
cmp eax, 0x102
jne 0x1019e21
mov eax, dword [0x101d7d8]
imul eax, eax, 0x64
cdq
idiv dword [0x1037818]
push eax
call fcn.0101a110
mov eax, dword [0x101d878]
push 0
push 0xc8
push eax
call edi
cmp eax, 0x102
je 0x1019df6
test eax, eax
jne 0x1019f45
mov esi, 0x101d8a8
mov edi, edi
mov ecx, dword [esi + 0x38]
push 0
push 0xffffffffffffffff
push ecx
call edi
test eax, eax
jne 0x1019f45
mov edx, dword [esi]
add dword [0x101d840], edx
mov eax, dword [esi + 4]
add dword [0x101d844], eax
mov ecx, dword [esi + 8]
add dword [0x101d848], ecx
mov edx, dword [esi + 0xc]
add dword [0x101d84c], edx
mov eax, dword [esi + 0x10]
add dword [0x101d850], eax
mov eax, dword [esi + 0x1c]
mov edx, dword [0x101d85c]
mov ecx, dword [esi + 0x18]
cmp edx, eax
ja 0x1019e9d
jb 0x1019e8a
mov edx, dword [0x101d858]
cmp edx, ecx
jae 0x1019e9d
mov dword [0x101d858], ecx
mov dword [0x101d85c], eax
mov eax, dword [esi + 0x20]
mov dword [0x101d860], eax
mov ecx, dword [esi + 0x28]
add dword [0x101d868], ecx
mov edx, dword [esi + 0x2c]
add dword [0x101d86c], edx
mov eax, dword [esi + 0x30]
cmp dword [0x101d870], eax
jae 0x1019ebf
mov dword [0x101d870], eax
mov eax, dword [esi + 0x34]
cmp dword [0x101d874], eax
jbe 0x1019ecf
mov dword [0x101d874], eax
add esi, 0x68
cmp esi, 0x1037840
jl 0x1019e30
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
call fcn.0101a170
sub esi, dword [ebp + 0x10]
mov edi, 0x101d840
push esi
call fcn.01019650
cmp dword [0x101d844], 0
mov ecx, 1
jne 0x1019f13
cmp dword [0x101d850], 0
mov dword [ebp - 8], ecx
je 0x1019f1a
mov dword [ebp - 8], 0
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x1019f4f
xor edx, edx
cmp dword [ebp - 8], edx
mov dword [ebp - 8], ecx
sete dl
mov dword [eax], edx
jmp 0x1019f4f
push 0x100bcf0
jmp 0x1019f4a
push 0x100b5c8
jmp 0x1019f4a
push 0x100b5f8
jmp 0x1019f4a
push 0x100bca8
call fcn.0101a030
xor ebx, ebx
cmp dword [ebp - 4], ebx
je 0x1019fa4
mov esi, dword [sym.imp.KERNEL32.dll_PostQueuedCompletionStatus]
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov ebx, 0x101d7e4
cmp dword [ebx], 0
je 0x1019f97
mov eax, dword [ebp - 4]
push 0
push 0
push 0
push eax
call esi
test eax, eax
jne 0x1019f97
lea esp, [esp]
push 0x3e8
call edi
mov ecx, dword [ebp - 4]
push 0
push 0
push 0
push ecx
call esi
test eax, eax
je 0x1019f80
add ebx, 4
cmp ebx, 0x101d804
jl 0x1019f67
xor ebx, ebx
mov edi, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov esi, 0x101d7e4
nop
mov eax, dword [esi]
cmp eax, ebx
je 0x1019fc4
push 0xffffffffffffffff
push eax
call edi
mov edx, dword [esi]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
add esi, 4
cmp esi, 0x101d804
jl 0x1019fb0
mov eax, dword [ebp + 0xc]
cmp eax, 0xffffffff
je 0x1019fde
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 4]
cmp eax, ebx
je 0x1019fec
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, dword [sym.imp.KERNEL32.dll_VirtualFree]
mov esi, 0x101d878
mov eax, dword [esi - 0x4c]
cmp eax, ebx
je 0x101a007
push 0x8000
push ebx
push eax
call edi
mov eax, dword [esi]
cmp eax, ebx
je 0x101a014
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
add esi, 0x68
cmp esi, 0x1037878
jl 0x1019ff7
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18