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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa4
call fcn.10006880
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0xcb
je 0x100238cf
jmp 0x10023fa7
movzx eax, byte [ebp + 0xc]
test eax, eax
jne 0x10023a58
push 4
push 0x2dc2000
call fcn.10003a80
test eax, eax
jne 0x1002391e
mov dword [ebp - 0x30], 0
push 4
push 0x2dc2000
call fcn.10003990
test eax, eax
jne 0x1002390b
mov ecx, dword [0x2dc2000]
mov dword [ebp - 0x30], ecx
cmp dword [ebp - 0x30], 0x400
je 0x1002391e
mov dword [0x2dc2000], 0x400
push 4
push 0x2dd3f4a
call fcn.10003a80
test eax, eax
jne 0x1002395e
mov dword [ebp - 0x34], 0
push 4
push 0x2dd3f4a
call fcn.10003990
test eax, eax
jne 0x1002394e
mov edx, dword [0x2dd3f4a]
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0x34], 1
je 0x1002395e
mov dword [0x2dd3f4a], 1
push 1
push 0x2dd3f49
call fcn.10003a80
test eax, eax
jne 0x10023a58
mov dword [ebp - 0x38], 0
push 1
push 0x2dd3f49
call fcn.10003990
test eax, eax
jne 0x100239ba
lea eax, [ebp - 0x38]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x14], 0
jmp 0x100239a1
mov ecx, dword [ebp - 0x14]
add ecx, 1
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], 1
jge 0x100239ba
mov edx, dword [ebp - 0x64]
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov cl, byte [eax + 0x2dd3f49]
mov byte [edx], cl
jmp 0x10023998
cmp dword [ebp - 0x38], 1
je 0x10023a58
mov dword [ebp - 8], 0
mov edx, 1
and edx, 0xff
mov eax, 1
imul ecx, eax, 0
mov byte [ebp + ecx - 0x20], dl
mov edx, 1
shr edx, 8
and edx, 0xff
mov eax, 1
shl eax, 0
mov byte [ebp + eax - 0x20], dl
mov ecx, 1
shr ecx, 0x10
and ecx, 0xff
mov edx, 1
shl edx, 1
mov byte [ebp + edx - 0x20], cl
mov eax, 1
shr eax, 0x18
and eax, 0xff
mov ecx, 1
imul edx, ecx, 3
mov byte [ebp + edx - 0x20], al
mov dword [ebp - 8], 0
jmp 0x10023a40
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 1
jge 0x10023a58
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 8]
mov al, byte [ebp + edx - 0x20]
mov byte [ecx + 0x2dd3f49], al
jmp 0x10023a37
push 1
push 0x2d65268
call fcn.10003a80
test eax, eax
jne 0x10023b45
mov dword [ebp - 0x3c], 0
push 1
push 0x2d65268
call fcn.10003990
test eax, eax
jne 0x10023ab4
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x18], 0
jmp 0x10023a9b
mov edx, dword [ebp - 0x18]
add edx, 1
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], 1
jge 0x10023ab4
mov eax, dword [ebp - 0x68]
add eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov dl, byte [ecx + 0x2d65268]
mov byte [eax], dl
jmp 0x10023a92
cmp dword [ebp - 0x3c], 0
je 0x10023b45
mov dword [ebp - 0xc], 0
xor eax, eax
and eax, 0xff
mov ecx, 1
imul edx, ecx, 0
mov byte [ebp + edx - 0x24], al
xor eax, eax
shr eax, 8
and eax, 0xff
mov ecx, 1
shl ecx, 0
mov byte [ebp + ecx - 0x24], al
xor edx, edx
shr edx, 0x10
and edx, 0xff
mov eax, 1
shl eax, 1
mov byte [ebp + eax - 0x24], dl
xor ecx, ecx
shr ecx, 0x18
and ecx, 0xff
mov edx, 1
imul eax, edx, 3
mov byte [ebp + eax - 0x24], cl
mov dword [ebp - 0xc], 0
jmp 0x10023b2d
mov ecx, dword [ebp - 0xc]
add ecx, 1
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0xc], 1
jge 0x10023b45
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov cl, byte [ebp + eax - 0x24]
mov byte [edx + 0x2d65268], cl
jmp 0x10023b24
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
mov dword [ebp - 4], 0
movzx edx, byte [ebp + 0xc]
cmp edx, 1
jne 0x10023bb5
cmp dword [ebp + 0x10], 1
jne 0x10023b6c
mov dword [ebp - 4], 0x40000
jmp 0x10023bb5
cmp dword [ebp + 0x10], 2
jne 0x10023b7b
mov dword [ebp - 4], 0x10
jmp 0x10023bb5
cmp dword [ebp + 0x10], 3
jne 0x10023b8a
mov dword [ebp - 4], 0x40
jmp 0x10023bb5
cmp dword [ebp + 0x10], 0x80
jne 0x10023b9c
mov dword [ebp - 4], 0x80
jmp 0x10023bb5
cmp dword [ebp + 0x10], 0x100000
jne 0x10023bae
mov dword [ebp - 4], 0x100000
jmp 0x10023bb5
mov dword [ebp - 4], 0
call fcn.10003470
push eax
lea ecx, [ebp - 0x2c]
call fcn.100302f0
push 8
push 0
call fcn.10004950
add esp, 8
lea eax, [eax*4 + 0x1006bfb8]
mov dword [ebp - 0x6c], eax
push ecx
mov dword [ebp - 0x78], esp
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ecx]
sub edx, 0x10
mov dword [ebp - 0x70], edx
mov eax, dword [ebp - 0x70]
push eax
call fcn.100306c0
add esp, 4
mov dword [ebp - 0x74], eax
mov ecx, dword [ebp - 0x74]
add ecx, 0x10
mov edx, dword [ebp - 0x78]
mov dword [edx], ecx
lea eax, [ebp - 0x2c]
push eax
call fcn.10004090
add esp, 8
push ecx
mov dword [ebp - 0x84], esp
mov ecx, dword [ebp + 8]
sub ecx, 0x10
mov dword [ebp - 0x7c], ecx
mov edx, dword [ebp - 0x7c]
push edx
call fcn.100306c0
add esp, 4
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x80]
add eax, 0x10
mov ecx, dword [ebp - 0x84]
mov dword [ecx], eax
push ecx
mov dword [ebp - 0x90], esp
mov edx, dword [ebp - 0x2c]
sub edx, 0x10
mov dword [ebp - 0x88], edx
mov eax, dword [ebp - 0x88]
push eax
call fcn.100306c0
add esp, 4
mov dword [ebp - 0x8c], eax
mov ecx, dword [ebp - 0x8c]
add ecx, 0x10
mov edx, dword [ebp - 0x90]
mov dword [edx], ecx
mov eax, dword [ebp - 4]
push eax
call fcn.100112b0
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x94], eax
mov ecx, 1
test ecx, ecx
je 0x10023ec3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x94]
cmp eax, 0x7d0
jbe 0x10023cb1
jmp 0x10023ec3
movzx edx, byte [ebp + 0xc]
test edx, edx
jne 0x10023cfd
push 4
push 0x2dc2000
call fcn.10003a80
test eax, eax
jne 0x10023cfb
mov dword [ebp - 0x40], 0
push 4
push 0x2dc2000
call fcn.10003990
test eax, eax
jne 0x10023ce8
mov eax, dword [0x2dc2000]
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0x400
je 0x10023cfb
mov dword [0x2dc2000], 0x400
jmp 0x10023d30
cmp dword [ebp - 4], 0
jle 0x10023d30
mov dword [ebp - 0x44], 0
push 4
push 0x2dc2000
call fcn.10003990
test eax, eax
jne 0x10023d23
mov ecx, dword [0x2dc2000]
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x44]
cmp edx, dword [ebp - 4]
jne 0x10023d30
jmp 0x10023ec3
push 1
push 0x2d65268
call fcn.10003a80
test eax, eax
jne 0x10023e24
mov dword [ebp - 0x48], 0
push 1
push 0x2d65268
call fcn.10003990
test eax, eax
jne 0x10023d92
lea eax, [ebp - 0x48]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x1c], 0
jmp 0x10023d76
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], 1
jge 0x10023d92
mov edx, dword [ebp - 0x98]
add edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov cl, byte [eax + 0x2d65268]
mov byte [edx], cl
jmp 0x10023d6d
cmp dword [ebp - 0x48], 0
je 0x10023e24
mov dword [ebp - 0x10], 0
xor edx, edx
and edx, 0xff
mov eax, 1
imul ecx, eax, 0
mov byte [ebp + ecx - 0x28], dl
xor edx, edx
shr edx, 8
and edx, 0xff
mov eax, 1
shl eax, 0
mov byte [ebp + eax - 0x28], dl
xor ecx, ecx
shr ecx, 0x10
and ecx, 0xff
mov edx, 1
shl edx, 1
mov byte [ebp + edx - 0x28], cl
xor eax, eax
shr eax, 0x18
and eax, 0xff
mov ecx, 1
imul edx, ecx, 3
mov byte [ebp + edx - 0x28], al
mov dword [ebp - 0x10], 0
jmp 0x10023e0c
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 1
jge 0x10023e24
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
mov al, byte [ebp + edx - 0x28]
mov byte [ecx + 0x2d65268], al
jmp 0x10023e03
call fcn.100111c0
call fcn.100110f0
call fcn.10006880
cmp eax, 0x12c
jne 0x10023eaa
push 4
push 0x2d57a94
call fcn.10003a80
test eax, eax
jne 0x10023e7a
mov dword [ebp - 0x4c], 0
push 4
push 0x2d57a94
call fcn.10003990
test eax, eax
jne 0x10023e6a
mov ecx, dword [0x2d57a94]
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x4c]
cmp edx, dword [ebp - 4]
je 0x10023e7a
mov eax, dword [ebp - 4]
mov dword [0x2d57a94], eax
cmp dword [ebp - 4], 0
jle 0x10023eaa
mov dword [ebp - 0x50], 0
push 4
push 0x2dc2000
call fcn.10003990
test eax, eax
jne 0x10023ea0
mov ecx, dword [0x2dc2000]
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x50]
cmp edx, dword [ebp - 4]
jne 0x10023eaa
jmp 0x10023ec3
call fcn.10023750
cmp eax, 1
jle 0x10023eb6
jmp 0x10023ec3
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x10023c8c
mov dword [ebp - 0x54], 0
push 4
push 0x2d56344
call fcn.10003990
test eax, eax
jne 0x10023ee2
mov eax, dword [0x2d56344]
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 4
jne 0x10023f2d
push 4
push 0x2d56344
call fcn.10003a80
test eax, eax
jne 0x10023f28
mov dword [ebp - 0x58], 0
push 4
push 0x2d56344
call fcn.10003990
test eax, eax
jne 0x10023f18
mov ecx, dword [0x2d56344]
mov dword [ebp - 0x58], ecx
cmp dword [ebp - 0x58], 0
je 0x10023f28
mov dword [0x2d56344], 0
call fcn.100110f0
movzx edx, byte [ebp + 0xc]
test edx, edx
jne 0x10023f77
push 4
push 0x2dc2000
call fcn.10003a80
test eax, eax
jne 0x10023f77
mov dword [ebp - 0x5c], 0
push 4
push 0x2dc2000
call fcn.10003990
test eax, eax
jne 0x10023f64
mov eax, dword [0x2dc2000]
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0x400
je 0x10023f77
mov dword [0x2dc2000], 0x400
mov ecx, dword [ebp - 0x2c]
sub ecx, 0x10
mov dword [ebp - 0x9c], ecx
mov ecx, dword [ebp - 0x9c]
call fcn.10003260
jmp 0x10023fa7
mov eax, dword [ebp + 8]
sub eax, 0x10
mov dword [ebp - 0xa4], eax
mov ecx, dword [ebp - 0xa4]
call fcn.10003260
mov esp, ebp
pop ebp
ret