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

Disassembly:
sub esp, 0x10
mov eax, dword [0x100782d8]
xor eax, esp
mov dword [esp + 0xc], eax
push ebp
xor ebp, ebp
cmp dword [0x1007c624], ebp
je 0x10004968
cmp dword [0x1007b8a4], ebp
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
push edi
mov edi, 1
mov ebx, 5
jne 0x100044ce
call esi
mov ecx, dword [0x100798b8]
add ecx, 0x7d0
cmp ecx, eax
jae 0x100044ce
mov edx, dword [0x100798b4]
push 3
mov dword [0x100798b8], eax
mov eax, dword [0x100798b0]
push edx
push eax
call fcn.10026890
test eax, eax
je 0x100044a2
push 0x64
push 0x16e
push 0x1da
call fcn.10026890
test eax, eax
jne 0x100044a2
add dword [0x100798ac], edi
cmp dword [0x100798ac], ebx
jne 0x100044ba
push 0x9c7
mov dword [0x100798ac], ebp
call fcn.10034870
mov eax, dword [0x4c5870]
cmp eax, ebp
je 0x100044ce
push 0x100798b0
push eax
call fcn.10001220
cmp dword [0x1007c624], ebp
je case.0x1000454e.1
call esi
mov ecx, dword [0x1006f03c]
mov edx, dword [0x100798a8]
add ecx, edx
cmp ecx, eax
jae case.0x1000454e.1
push 7
mov dword [0x100798a8], eax
call fcn.10001020
test eax, eax
jne 0x10004541
mov byte [esp + 0x15], al
mov byte [esp + 0x17], al
push 6
lea eax, [esp + 0x18]
push eax
mov dword [0x1007b8a4], ebp
mov byte [esp + 0x1c], bl
mov byte [esp + 0x1e], bl
mov byte [esp + 0x20], 0x40
mov byte [esp + 0x21], 0x10
call fcn.10001270
pop edi
pop esi
pop ebx
pop ebp
mov ecx, dword [esp + 0xc]
xor ecx, esp
call fcn.1004309b
add esp, 0x10
ret
mov eax, dword [0x1007c754]
cmp eax, ebx
ja case.0x1000454e.1
jmp dword [eax*4 + 0x10004978]
push ebx
push 0x10057460
call fcn.10004050
test eax, eax
je case.0x1000454e.1
push 4
mov dword [0x1006f03c], 0x7d0
call fcn.10001020
cmp eax, 0x60
jae 0x100045d3
mov ecx, dword [0x1007c758]
add ecx, 0x7d0
push ecx
call fcn.10034820
cmp eax, 0x64
jb 0x100045ba
mov edx, dword [0x1007c758]
add edx, 0x7da
push edx
call fcn.10034820
cmp eax, 0x64
jb 0x100045ba
push 0x9c7
call fcn.10034820
cmp eax, ebx
jae 0x100045d3
pop edi
pop esi
mov dword [0x1007c754], ebx
pop ebx
pop ebp
mov ecx, dword [esp + 0xc]
xor ecx, esp
call fcn.1004309b
add esp, 0x10
ret
push 0x64
push 0x16e
push 0x1da
call fcn.10026890
test eax, eax
je 0x1000460a
mov dword [0x1006f03c], 0x32
call fcn.10003dc0
pop edi
pop esi
pop ebx
pop ebp
mov ecx, dword [esp + 0xc]
xor ecx, esp
call fcn.1004309b
add esp, 0x10
ret
push 0x13d
push 0x9d
jmp 0x10004960
push ebx
push 0x1007c760
mov dword [0x1006f03c], 0x7d0
call fcn.10004050
test eax, eax
je case.0x1000454e.1
push 4
push 0x4c5830
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], 0x4c5830
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1000466e
mov eax, dword [esp + 0x14]
mov esi, dword ds:[eax]
mov eax, dword ds:[esi]
mov ecx, dword ds:[eax + 0x5c]
mov edx, dword ds:[ecx + 0x14]
add edx, esi
mov ecx, dword ds:[edx]
mov dword [esp + 0x10], ecx
mov ecx, dword [0x1007c780]
mov eax, dword [0x1007c77c]
lea edx, [ecx + eax]
sub eax, ecx
mov ecx, dword [esp + 0x10]
add eax, ecx
cmp dword [0x1007c628], edi
mov dword [0x1006f03c], 0xbb8
mov dword [0x1007c78c], edx
mov dword [0x1007c790], eax
jbe 0x100046be
mov edx, dword [0x1007c788]
mov eax, dword [0x1007c784]
lea esi, [edx + eax]
sub eax, edx
add eax, ecx
mov dword [0x1007c794], esi
mov dword [0x1007c798], eax
pop edi
pop esi
pop ebx
mov dword [0x1007c754], 3
pop ebp
mov ecx, dword [esp + 0xc]
xor ecx, esp
call fcn.1004309b
add esp, 0x10
ret
mov eax, dword [0x1007c75c]
mov ecx, dword [eax*8 + 0x1007c790]
mov edx, dword [eax*8 + 0x1007c78c]
push 0x64
push ecx
push edx
call fcn.10026890
test eax, eax
mov eax, dword [0x1007c75c]
je 0x1000476c
mov ecx, dword [eax*8 + 0x1007c790]
mov edx, dword [eax*8 + 0x1007c78c]
push 0xa
push ecx
push edx
call fcn.10026890
test eax, eax
je 0x1000473f
mov eax, dword [0x1007d238]
push eax
call fcn.1003f6d0
mov dword [0x1007b8a4], edi
pop edi
pop esi
pop ebx
pop ebp
mov ecx, dword [esp + 0xc]
xor ecx, esp
call fcn.1004309b
add esp, 0x10
ret
mov eax, dword [0x1007c75c]
mov ecx, dword [eax*8 + 0x1007c790]
mov edx, dword [eax*8 + 0x1007c78c]
push ecx
push edx
call fcn.1003d7d0
pop edi
pop esi
pop ebx
pop ebp
mov ecx, dword [esp + 0xc]
xor ecx, esp
call fcn.1004309b
add esp, 0x10
ret
mov ecx, dword [eax*8 + 0x1007c780]
mov edx, dword [eax*8 + 0x1007c77c]
push ecx
push edx
jmp 0x10004960
push ebx
push 0x10057460
call fcn.10004050
test eax, eax
je case.0x1000454e.1
push 0x64
push 0x16e
push 0x1da
mov dword [0x1006f03c], 0x7d0
call fcn.10026890
test eax, eax
je 0x1000460a
call fcn.10003ea0
pop edi
pop esi
pop ebx
mov dword [0x1007c754], ebp
pop ebp
mov ecx, dword [esp + 0xc]
xor ecx, esp
call fcn.1004309b
add esp, 0x10
ret
push 0x64
push 0x1a2
push 0x1e3
call fcn.10026890
test eax, eax
je 0x10004956
push 0x32
push 0x1a2
push 0x1e3
call fcn.10026890
test eax, eax
je 0x10004934
mov eax, dword [0x10057cfc]
mov ecx, dword [0x10057d00]
mov dx, word [0x10057d04]
mov dword [0x1007c8e8], eax
mov al, byte [0x10057d06]
mov dword [0x1007c8ec], ecx
mov word [0x1007c8f0], dx
mov byte [0x1007c8f2], al
call fcn.100397e0
mov edi, eax
cmp edi, ebp
je case.0x1000454e.1
push 4
lea esi, [edi + 0x10]
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne case.0x1000454e.1
mov edi, dword [edi + 0x14]
mov esi, dword [esi]
push edi
push esi
call fcn.10004370
mov ecx, dword [0x1007c758]
add ecx, 0x7d0
push ecx
call fcn.10034820
cmp eax, 0x190
jae 0x100048ab
mov edx, dword [0x1007c758]
add edx, 0x7d0
push edx
call fcn.10034820
mov edx, dword [0x1007c758]
mov ecx, 0x190
sub ecx, eax
push ecx
add edx, 0x7d0
push edx
push edi
push esi
call fcn.100283b0
mov eax, dword [0x1007c758]
add eax, 0x7da
push eax
call fcn.10034820
cmp eax, 0x190
jae 0x100048ee
mov ecx, dword [0x1007c758]
add ecx, 0x7da
push ecx
call fcn.10034820
mov edx, 0x190
sub edx, eax
mov eax, dword [0x1007c758]
push edx
add eax, 0x7da
push eax
push edi
push esi
call fcn.100283b0
push 0x9c7
call fcn.10034820
cmp eax, 0x14
jae 0x1000491b
push 0x9c7
call fcn.10034820
mov ecx, 0x1e
sub ecx, eax
push ecx
push 0x9c7
push edi
push esi
call fcn.100283b0
pop edi
pop esi
pop ebx
mov dword [0x1007c754], ebp
pop ebp
mov ecx, dword [esp + 0xc]
xor ecx, esp
call fcn.1004309b
add esp, 0x10
ret
push 0x1a2
push 0x1e3
call fcn.1003d7d0
pop edi
pop esi
pop ebx
pop ebp
mov ecx, dword [esp + 0xc]
xor ecx, esp
call fcn.1004309b
add esp, 0x10
ret
push 0x126
push 0xbc
call fcn.10026900
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x10]
pop ebp
xor ecx, esp
call fcn.1004309b
add esp, 0x10
ret