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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48138d
mov eax, dword fs:[0]
push eax
mov eax, 0xd24c
call fcn.00462c30
mov eax, dword [0x4ade78]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0xd254], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xd250], eax
mov dword [ebp - 0xd258], 0
mov dword [ebp - 0xd24c], 0
mov dword [ebp - 0xd248], 0
mov dword [ebp - 0xd244], 0
mov dword [ebp - 4], 0
call fcn.004191a0
test al, al
jne 0x44fb18
mov edi, dword [0x4af2c0]
mov eax, edi
cdq
sub eax, edx
xor ecx, ecx
mov ebx, eax
sar ebx, 1
mov esi, 2
mov dword [ebp - 0xd234], ecx
mov dword [ebp - 0xd238], ebx
mov edi, edi
test ebx, ebx
jle 0x44fb0d
mov eax, edi
cdq
and edx, 3
lea edi, [edx + eax]
sar edi, 2
xor edx, edx
test edi, edi
jle 0x44fafc
mov eax, edx
mov ecx, edi
lea ebx, [ebx]
add esi, eax
dec eax
dec ecx
jne 0x44faf0
mov ecx, dword [ebp - 0xd234]
add edx, ecx
dec ebx
jne 0x44fae2
mov ebx, dword [ebp - 0xd238]
mov edi, dword [0x4af2c0]
inc ecx
mov dword [ebp - 0xd234], ecx
cmp ecx, esi
jl 0x44fad0
mov eax, dword [0x4adbb8]
mov ecx, 0x4adbb8
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0xd238], esi
push 0x494228
lea eax, [ebp - 0xd238]
push eax
lea eax, [ebp - 0xd240]
push eax
mov byte [ebp - 4], 1
call fcn.00402d20
push 0x4918d4
push eax
lea eax, [ebp - 0xd234]
push eax
mov byte [ebp - 4], 2
call fcn.00402d20
push dword [ebp - 0xd250]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0xd23c]
push eax
call fcn.00402c60
lea ecx, [ebp - 0xd24c]
push ecx
push eax
mov byte [ebp - 4], 4
call fcn.0045b6a0
mov edx, dword [ebp - 0xd23c]
add edx, 0xfffffff0
add esp, 0x2c
mov byte [ebp - 4], 3
lea ecx, [edx + 0xc]
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x44fbaf
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xd234]
add edx, 0xfffffff0
mov byte [ebp - 4], 2
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44fbd3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xd240]
add edx, 0xfffffff0
mov byte [ebp - 4], 1
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44fbf7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea edx, [esi - 0x10]
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44fc15
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [0x4adbb8]
mov ecx, 0x4adbb8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xd234], eax
mov eax, dword [ebp - 0xd248]
mov ecx, dword [ebp - 0xd24c]
xor edi, edi
sub eax, ecx
mov byte [ebp - 4], 5
mov dword [ebp - 0xd238], edi
test eax, 0xfffffffc
jle 0x44fe05
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x44fc60
mov eax, dword [0x4af2c0]
imul eax, eax
lea esi, [ecx + edi*4]
cdq
mov ecx, 9
idiv ecx
mov dword [ebp - 0xd240], esi
cmp edx, 6
jne 0x44fcf6
xor eax, eax
push 0xd21e
push eax
mov word [ebp - 0xd230], ax
lea eax, [ebp - 0xd22e]
push eax
call fcn.00462e00
add esp, 0xc
xor edi, edi
xor esi, esi
xor eax, eax
test edi, edi
je 0x44fcca
test eax, eax
je 0x44fcca
lea ecx, [esi + eax]
lea edx, [ebp - 0xd230]
lea edx, [edx + ecx*2]
lea ecx, [esi + eax]
mov cx, word [ebp + ecx*2 - 0xd378]
inc cx
add cx, word [edx - 2]
mov word [edx], cx
inc eax
cmp eax, 0xa4
jl 0x44fca2
add esi, 0xa4
inc edi
cmp esi, 0x6910
jl 0x44fca0
movsx eax, word [ebp - 0x12]
mov edi, dword [ebp - 0xd238]
mov esi, dword [ebp - 0xd240]
mov dword [0x4af2c0], eax
push esi
push dword [ebp - 0xd250]
lea eax, [ebp - 0xd23c]
push eax
call fcn.0044f600
add esp, 0xc
mov eax, dword [ebp - 0xd23c]
mov byte [ebp - 4], 6
cmp dword [eax - 0xc], 0
je 0x44fd99
mov eax, dword [ebp - 0xd234]
cmp dword [eax - 0xc], 0
je 0x44fd3a
push 1
push 0x494240
lea ecx, [ebp - 0xd234]
call fcn.004035a0
mov eax, dword [esi]
lea ecx, [ebp - 0xd234]
push dword [eax - 0xc]
push eax
call fcn.004035a0
call fcn.004191a0
test al, al
jne 0x44fd63
call fcn.00461e71
mov edx, eax
mov dword [0x4af2c0], edx
jmp 0x44fd69
mov edx, dword [0x4af2c0]
lea ecx, [edx + 2]
lea eax, [edx + 1]
imul eax, ecx
imul eax, edx
cdq
mov ecx, 0x14
idiv ecx
cmp edx, 8
jne 0x44fd99
push 0xa1
push 0xa0
push str._d__d_n
call fcn.004628cc
add esp, 0xc
call fcn.00452630
test al, al
jne 0x44fdc1
call ebx
xor edx, edx
mov ecx, 0xd088225c
div ecx
mov esi, edx
nop
call ebx
mov ecx, eax
mov eax, esi
xor edx, edx
div ecx
lea esi, [edx - 1]
test esi, esi
jg 0x44fdb0
mov edx, dword [ebp - 0xd23c]
add edx, 0xfffffff0
mov byte [ebp - 4], 5
lea eax, [edx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44fde5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0xd248]
mov ecx, dword [ebp - 0xd24c]
sub eax, ecx
inc edi
sar eax, 2
mov dword [ebp - 0xd238], edi
cmp edi, eax
jl 0x44fc60
mov esi, dword [ebp - 0xd234]
add esi, 0xfffffff0
mov ecx, dword [esi]
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp dword [esi + 0xc], 0
lea edx, [esi + 0xc]
mov ecx, eax
jl 0x44fe31
cmp ecx, dword [esi]
jne 0x44fe31
mov edi, esi
mov eax, 1
lock xadd dword [edx], eax
jmp 0x44fe61
mov eax, dword [ecx]
push 1
push dword [esi + 4]
call dword [eax]
mov edi, eax
test edi, edi
jne 0x44fe45
call fcn.00408840
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov ecx, dword [esi + 4]
inc ecx
push ecx
lea eax, [esi + 0x10]
push eax
push ecx
lea eax, [edi + 0x10]
push eax
call fcn.00462094
add esp, 0x10
mov ebx, dword [ebp - 0xd254]
lea eax, [edi + 0x10]
mov dword [ebx], eax
mov byte [ebp - 4], 0
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44fe87
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0xd24c]
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x44fed4
mov edi, dword [ebp - 0xd248]
cmp esi, edi
je 0x44fecb
mov edx, dword [esi]
sub edx, 0x10
or ecx, 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44febe
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 4
cmp esi, edi
jne 0x44fea2
mov esi, dword [ebp - 0xd24c]
push esi
call fcn.00460a34
add esp, 4
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00461234
mov esp, ebp
pop ebp
ret