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

Disassembly:
sub esp, 0x14
push ebx
push ebp
mov ebp, dword [esp + 0x28]
push esi
mov esi, ecx
push edi
mov eax, dword [esi + 0x20]
cmp ebp, eax
ja 0x48ee76
mov ecx, dword [esp + 0x34]
cmp ecx, eax
ja 0x48ee76
mov edx, dword [esp + 0x2c]
mov edi, dword [esi + 0x24]
cmp edx, edi
ja 0x48ee76
cmp ecx, ebp
jb 0x48ee76
mul edx
xor ebx, ebx
add ebp, eax
adc ebx, edx
xor edi, edi
add ecx, eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x2c]
adc edi, edx
lea edx, [esp + 0x28]
push ecx
push edx
lea ecx, [esi + 0xd0]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x20], edi
mov dword [esp + 0x34], eax
call fcn.0047c200
mov eax, dword [esp + 0x28]
mov ecx, dword [esi + 0xd4]
cmp eax, ecx
je 0x48ee07
mov edi, dword [eax + 0x10]
test edi, edi
jne 0x48ee1d
mov dword [esi + 8], 0x10004008
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x14
ret 0x10
mov eax, dword [edi + 0x2c]
test eax, eax
jne 0x48ee3a
mov dword [esi + 8], 0x10004007
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x14
ret 0x10
mov ecx, dword [edi + 0x38]
mov eax, 1
cmp ecx, eax
je 0x48ee57
mov dword [esi + 8], 0x10004009
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret 0x10
mov eax, dword [edi + 0x64]
mov ecx, dword [edi + 0x68]
cmp eax, ecx
je 0x48ee76
mov edx, dword [eax + 0x18]
cmp edx, ebp
jne 0x48ee6f
mov edx, dword [eax + 0x1c]
cmp edx, ebx
je 0x48ee8c
add eax, 0x28
cmp eax, ecx
jne 0x48ee61
mov dword [esi + 8], 0x1000400f
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x14
ret 0x10
mov ecx, 0xe
mov eax, ebp
mov edx, ebx
call fcn.004a2e20
mov ecx, dword [esi + 0xc4]
shl eax, 2
mov dword [esp + 0x10], eax
cmp dword [eax + ecx], 0xffffffff
jne 0x48efd7
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
mov edx, dword [esi + 0x68]
sub eax, ebx
mov ebx, dword [esi + 0x60]
xor ecx, ecx
add edx, eax
mov dword [esi + 0x68], edx
mov ebp, dword [esi + 0x6c]
adc ebp, ecx
add ebx, eax
mov dword [esi + 0x60], ebx
mov edx, dword [esi + 0x64]
adc edx, ecx
mov dword [esi + 0x6c], ebp
mov dword [esi + 0x64], edx
mov ebp, dword [edi + 0x58]
add ebp, eax
mov dword [edi + 0x58], ebp
mov ebx, dword [edi + 0x5c]
adc ebx, ecx
mov dword [edi + 0x5c], ebx
mov edi, dword [edi + 0x40]
cmp edi, ecx
jne 0x48ef36
mov ebx, dword [esi + 0x78]
mov edx, dword [esi + 0x80]
add ebx, eax
mov dword [esi + 8], 0x10004010
mov dword [esi + 0x78], ebx
mov edi, dword [esi + 0x7c]
adc edi, ecx
add edx, eax
mov dword [esi + 0x80], edx
mov eax, dword [esi + 0x84]
adc eax, ecx
mov dword [esi + 0x7c], edi
mov dword [esi + 0x84], eax
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x14
ret 0x10
cmp edi, 1
jne 0x48ef89
mov ebx, dword [esi + 0x88]
mov edx, dword [esi + 0x90]
add ebx, eax
mov dword [esi + 8], 0x10004010
mov dword [esi + 0x88], ebx
mov edi, dword [esi + 0x8c]
adc edi, ecx
add edx, eax
mov dword [esi + 0x90], edx
mov eax, dword [esi + 0x94]
adc eax, ecx
mov dword [esi + 0x8c], edi
mov dword [esi + 0x94], eax
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x14
ret 0x10
mov ebx, dword [esi + 0x98]
mov edx, dword [esi + 0xa0]
add ebx, eax
mov dword [esi + 8], 0x10004010
mov dword [esi + 0x98], ebx
mov edi, dword [esi + 0x9c]
adc edi, ecx
add edx, eax
mov dword [esi + 0xa0], edx
mov eax, dword [esi + 0xa4]
adc eax, ecx
mov dword [esi + 0x9c], edi
mov dword [esi + 0xa4], eax
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x14
ret 0x10
mov eax, dword [esi + 0x20]
test eax, eax
je 0x48efe8
push 0
push eax
push ebx
push ebp
call fcn.004a2cc0
push ebx
push ebp
push eax
mov ecx, esi
call fcn.0048dae0
cmp eax, 1
je 0x48f00d
mov dword [esi + 8], 0x1000400d
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x14
ret 0x10
mov ebx, dword [edi + 0x64]
mov eax, dword [edi + 0x68]
cmp ebx, eax
je 0x48f06e
mov edx, dword [ebx + 0x18]
cmp edx, ebp
jne 0x48f029
mov ecx, dword [ebx + 0x1c]
mov edx, dword [esp + 0x20]
cmp ecx, edx
je 0x48f044
mov edx, dword [ebx + 8]
cmp edx, ebp
jne 0x48f03b
mov ecx, dword [ebx + 0xc]
mov edx, dword [esp + 0x20]
cmp ecx, edx
je 0x48f054
add ebx, 0x28
cmp ebx, eax
jne 0x48f017
jmp 0x48f06e
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x18], edx
mov dword [ebx + 0x1c], eax
jmp 0x48f062
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [ebx + 0x18], ecx
mov dword [ebx + 0x1c], edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [edi + 0x4c], eax
mov dword [ebx + 4], eax
mov eax, dword [edi + 0x64]
mov ecx, dword [edi + 0x68]
cmp eax, ecx
je 0x48f095
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebp, dword [eax + 0x10]
cmp ebp, edx
jne 0x48f08e
mov ebp, dword [eax + 0x14]
cmp ebp, ebx
je 0x48f0a1
add eax, 0x28
cmp eax, ecx
jne 0x48f080
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret 0x10
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov ebp, dword [esi + 0x68]
sub eax, ecx
xor ecx, ecx
add ebp, eax
mov dword [esi + 0x68], ebp
mov ebx, dword [esi + 0x6c]
adc ebx, ecx
mov dword [esi + 0x6c], ebx
mov edx, dword [0x4d3740]
mov ebp, dword [0x4d3744]
add edx, eax
adc ebp, ecx
mov dword [0x4d3740], edx
mov dword [0x4d3744], ebp
mov edx, dword [edi + 0x40]
cmp edx, ecx
jne 0x48f10e
mov edx, dword [esi + 0x78]
add edx, eax
mov dword [esi + 0x78], edx
mov ebp, dword [esi + 0x7c]
adc ebp, ecx
mov dword [esi + 0x7c], ebp
mov ebx, dword [0x4d3758]
mov edx, dword [0x4d375c]
add ebx, eax
adc edx, ecx
mov dword [0x4d3758], ebx
mov dword [0x4d375c], edx
jmp 0x48f185
cmp edx, 1
jne 0x48f14d
mov edx, dword [esi + 0x88]
add edx, eax
mov dword [esi + 0x88], edx
mov ebp, dword [esi + 0x8c]
adc ebp, ecx
mov dword [esi + 0x8c], ebp
mov ebx, dword [0x4d3748]
mov edx, dword [0x4d374c]
add ebx, eax
adc edx, ecx
mov dword [0x4d3748], ebx
mov dword [0x4d374c], edx
jmp 0x48f185
mov edx, dword [esi + 0x98]
add edx, eax
mov dword [esi + 0x98], edx
mov ebp, dword [esi + 0x9c]
adc ebp, ecx
mov dword [esi + 0x9c], ebp
mov ebx, dword [0x4d3750]
mov edx, dword [0x4d3754]
add ebx, eax
adc edx, ecx
mov dword [0x4d3750], ebx
mov dword [0x4d3754], edx
mov edx, dword [edi + 0x50]
add edx, eax
mov dword [edi + 0x50], edx
mov eax, dword [edi + 0x54]
adc eax, ecx
mov ecx, dword [esp + 0x10]
mov dword [edi + 0x54], eax
mov eax, dword [esi + 0xc4]
pop edi
mov dword [ecx + eax], 0xffffffff
mov dword [esi + 8], 0x10004010
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x14
ret 0x10