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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
mov esi, dword [ebp + 8]
xor eax, eax
mov ax, word [esi]
push edi
xor ebx, ebx
mov dword [ebp - 4], ebx
push eax
call dword [sym.imp.msvcrt.dll_iswascii]
test eax, eax
pop ecx
mov eax, esi
jne 0x100a7a0
mov eax, 0x1004ebc
mov edi, dword [sym.imp.msvcrt.dll_wprintf]
push eax
push 0x1004ea0
call edi
push 0x1004a70
call edi
add esp, 0xc
push dword [ebp + 0xc]
call fcn.0100a25d
push 8
xor eax, eax
mov esi, 0x100c734
pop ecx
mov edi, esi
rep stosd dword es:[edi], eax
mov ecx, 0x6000
mov edi, 0x100c760
rep stosd dword es:[edi], eax
mov dword [0x100c758], ebx
mov dword [0x1024760], ebx
mov dword [0x100c728], ebx
mov eax, 0x100c7b4
mov dword [eax], 0x10000000
add eax, 0x60
cmp eax, 0x10247b4
jl 0x100a7f1
push ebx
push 0x68000000
push 3
push ebx
push 3
push 0x80000000
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
cmp edi, 0xffffffff
mov dword [ebp + 0xc], edi
jne 0x100a839
push 0x1004e74
call fcn.0100aaff
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x100aaaa
push ebx
push ebx
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_CreateIoCompletionPort]
cmp eax, ebx
mov dword [ebp + 8], eax
jne 0x100a854
push 0x1004e30
jmp 0x100aa90
push ebx
push ebx
push dword [ebp + 8]
push 0x100a6d7
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
cmp eax, ebx
mov dword [esi], eax
je 0x100a89d
add esi, 4
cmp esi, 0x100c754
jl 0x100a854
lea eax, [ebp - 8]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
cmp esi, 0xffffffff
jne 0x100a8a7
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x100a8a7
push 0x1004e00
jmp 0x100aa90
push 0x1004dd0
jmp 0x100aa90
mov ecx, dword [0x100c730]
mov eax, dword [ebp - 8]
shr esi, cl
mov ecx, dword [0x100c72c]
shl eax, cl
mov ecx, dword [0x100c754]
add esi, eax
mov eax, esi
mov dword [0x100c758], eax
lea eax, [ecx + eax - 1]
cdq
idiv ecx
mov dword [0x1024760], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc], eax
mov edi, 0x100c774
mov eax, dword [ebp + 0xc]
mov dword [edi + 0x48], eax
mov eax, dword [0x100c75c]
imul eax, dword [0x100c754]
push 4
push 0x1000
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
cmp eax, ebx
mov dword [edi], eax
je 0x100a952
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateEventW]
cmp eax, ebx
mov dword [edi + 0x44], eax
je 0x100a95c
lea esi, [edi - 0x14]
call fcn.0100a3b4
add edi, 0x60
cmp edi, 0x1024774
jl 0x100a8e3
push 0x1004d94
call fcn.0100ab5d
push ebx
mov edi, 0xc8
push edi
push dword [0x100c7b8]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObjectEx]
mov esi, 0x102
jmp 0x100a989
push 0x1004d64
jmp 0x100aa90
push 0x1004d34
jmp 0x100aa90
mov eax, dword [0x100c728]
imul eax, eax, 0x64
cdq
idiv dword [0x1024760]
push eax
call fcn.0100abaf
push ebx
push edi
push dword [0x100c7b8]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObjectEx]
cmp eax, esi
je 0x100a966
cmp eax, ebx
jne 0x100aa8b
mov esi, 0x100c7e8
push ebx
push 0xffffffffffffffff
push dword [esi + 0x30]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObjectEx]
test eax, eax
jne 0x100aa8b
mov eax, dword [esi]
add dword [0x100c788], eax
mov eax, dword [esi + 4]
add dword [0x100c78c], eax
mov eax, dword [esi + 8]
add dword [0x100c790], eax
mov eax, dword [esi + 0xc]
add dword [0x100c794], eax
mov eax, dword [esi + 0x14]
mov edx, dword [0x100c79c]
cmp edx, eax
mov ecx, dword [esi + 0x10]
ja 0x100aa00
jb 0x100a9ed
mov edx, dword [0x100c798]
cmp edx, ecx
jae 0x100aa00
mov dword [0x100c798], ecx
mov dword [0x100c79c], eax
mov eax, dword [esi + 0x18]
mov dword [0x100c7a0], eax
mov eax, dword [esi + 0x20]
add dword [0x100c7a8], eax
mov eax, dword [esi + 0x24]
add dword [0x100c7ac], eax
mov eax, dword [esi + 0x28]
cmp dword [0x100c7b0], eax
jae 0x100aa22
mov dword [0x100c7b0], eax
mov eax, dword [esi + 0x2c]
cmp dword [0x100c7b4], eax
jbe 0x100aa32
mov dword [0x100c7b4], eax
add esi, 0x60
cmp esi, 0x1024788
jl 0x100a99a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
call fcn.0100abef
sub esi, dword [ebp - 0xc]
mov edi, 0x100c788
push esi
call fcn.0100a2c0
xor esi, esi
inc esi
cmp dword [0x100c78c], ebx
jne 0x100aa72
cmp dword [0x100c794], ebx
mov dword [ebp - 4], esi
je 0x100aa75
mov dword [ebp - 4], ebx
mov eax, dword [ebp + 0x10]
cmp eax, ebx
je 0x100aa95
xor ecx, ecx
cmp dword [ebp - 4], ebx
mov dword [ebp - 4], esi
sete cl
mov dword [eax], ecx
jmp 0x100aa95
push 0x1004cf0
call fcn.0100aaff
push dword [ebp + 0xc]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
cmp dword [ebp + 8], ebx
je 0x100aaaa
push dword [ebp + 8]
call esi
mov edi, 0x100c7b8
mov eax, dword [edi - 0x44]
cmp eax, ebx
je 0x100aac3
push 0x8000
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_VirtualFree]
mov eax, dword [edi]
cmp eax, ebx
je 0x100aacc
push eax
call esi
add edi, 0x60
cmp edi, 0x10247b8
jl 0x100aaaf
mov edi, 0x100c734
mov eax, dword [edi]
cmp eax, ebx
je 0x100aae5
push eax
call esi
add edi, 4
cmp edi, 0x100c754
jl 0x100aadc
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
leave
ret 0xc