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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc8
mov byte [ebp - 1], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x9c], ecx
cmp dword [ebp - 0x9c], 0
jne 0x10020527
mov dl, byte [ebp - 1]
mov byte [ebp - 9], dl
mov eax, dword [ebp + 8]
sub eax, 0x10
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0xa0]
call fcn.10003260
mov al, byte [ebp - 9]
jmp 0x10021151
push 6
lea ecx, [ebp - 0xa8]
push ecx
lea ecx, [ebp + 8]
call fcn.1002ef20
mov dword [ebp - 0xa4], eax
mov edx, dword [ebp - 0xa4]
push edx
lea ecx, [ebp + 8]
call fcn.10030240
mov eax, dword [ebp - 0xa8]
sub eax, 0x10
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
call fcn.10003260
push str._O001_
lea ecx, [ebp + 8]
call fcn.1002f5e0
test eax, eax
jne 0x10020581
mov dword [ebp - 0x20], 1
jmp 0x10020588
mov dword [ebp - 0x20], 0
movzx ecx, byte [ebp - 0x20]
test ecx, ecx
je 0x100205a1
push 1
push 1
call fcn.1001d3c0
add esp, 8
jmp 0x10021133
push str._O002_
lea ecx, [ebp + 8]
call fcn.1002f5e0
test eax, eax
jne 0x100205bb
mov dword [ebp - 0x24], 1
jmp 0x100205c2
mov dword [ebp - 0x24], 0
movzx edx, byte [ebp - 0x24]
test edx, edx
je 0x100205db
push 1
push 1
call fcn.1001d3c0
add esp, 8
jmp 0x10021133
push str._O003_
lea ecx, [ebp + 8]
call fcn.1002f5e0
test eax, eax
jne 0x100205f5
mov dword [ebp - 0x28], 1
jmp 0x100205fc
mov dword [ebp - 0x28], 0
movzx eax, byte [ebp - 0x28]
test eax, eax
je 0x1002063d
cmp dword [ebp + 0xc], 0x20
jge 0x1002062c
cmp dword [ebp + 0x24], 3
jl 0x1002061e
push 1
push 2
call fcn.1001d3c0
add esp, 8
jmp 0x1002062a
push 1
push 1
call fcn.1001d3c0
add esp, 8
jmp 0x10020638
push 1
push 2
call fcn.1001d3c0
add esp, 8
jmp 0x10021133
push str._O004_
lea ecx, [ebp + 8]
call fcn.1002f5e0
test eax, eax
jne 0x10020657
mov dword [ebp - 0x2c], 1
jmp 0x1002065e
mov dword [ebp - 0x2c], 0
movzx ecx, byte [ebp - 0x2c]
test ecx, ecx
je 0x100206ab
movzx edx, byte [0x1006be31]
test edx, edx
jne 0x1002069a
cmp dword [ebp + 0x24], 4
jl 0x1002068c
mov byte [0x1006be31], 1
push 1
push 2
call fcn.1001d3c0
add esp, 8
jmp 0x10020698
push 1
push 1
call fcn.1001d3c0
add esp, 8
jmp 0x100206a6
push 1
push 2
call fcn.1001d3c0
add esp, 8
jmp 0x10021133
push str._O005_
lea ecx, [ebp + 8]
call fcn.1002f5e0
test eax, eax
jne 0x100206c5
mov dword [ebp - 0x30], 1
jmp 0x100206cc
mov dword [ebp - 0x30], 0
movzx eax, byte [ebp - 0x30]
test eax, eax
je 0x100206f9
cmp dword [ebp + 0x24], 3
jl 0x100206e8
push 1
push 2
call fcn.1001d3c0
add esp, 8
jmp 0x100206f4
push 1
push 1
call fcn.1001d3c0
add esp, 8
jmp 0x10021133
push str._O006_
lea ecx, [ebp + 8]
call fcn.1002f5e0
test eax, eax
jne 0x10020713
mov dword [ebp - 0x34], 1
jmp 0x1002071a
mov dword [ebp - 0x34], 0
movzx ecx, byte [ebp - 0x34]
test ecx, ecx
je 0x10020767
movzx edx, byte [0x1006be31]
test edx, edx
jne 0x10020756
cmp dword [ebp + 0x24], 5
jl 0x10020748
mov byte [0x1006be31], 1
push 1
push 2
call fcn.1001d3c0
add esp, 8
jmp 0x10020754
push 1
push 1
call fcn.1001d3c0
add esp, 8
jmp 0x10020762
push 1
push 2
call fcn.1001d3c0
add esp, 8
jmp 0x10021133
push str._O007_
lea ecx, [ebp + 8]
call fcn.1002f5e0
test eax, eax
jne 0x10020781
mov dword [ebp - 0x38], 1
jmp 0x10020788
mov dword [ebp - 0x38], 0
movzx eax, byte [ebp - 0x38]
test eax, eax
je 0x100207d5
movzx ecx, byte [0x1006be31]
test ecx, ecx
jne 0x100207c4
cmp dword [ebp + 0x24], 6
jl 0x100207b6
mov byte [0x1006be31], 1
push 1
push 2
call fcn.1001d3c0
add esp, 8
jmp 0x100207c2
push 1
push 1
call fcn.1001d3c0
add esp, 8
jmp 0x100207d0
push 1
push 2
call fcn.1001d3c0
add esp, 8
jmp 0x10021133
push str._O008_
lea ecx, [ebp + 8]
call fcn.1002f5e0
test eax, eax
jne 0x100207ef
mov dword [ebp - 0x3c], 1
jmp 0x100207f6
mov dword [ebp - 0x3c], 0
movzx edx, byte [ebp - 0x3c]
test edx, edx
je 0x10020823
cmp dword [ebp + 0x24], 3
jl 0x10020812
push 1
push 2
call fcn.1001d3c0
add esp, 8
jmp 0x1002081e
push 1
push 1
call fcn.1001d3c0
add esp, 8
jmp 0x10021133
push str._O009_
lea ecx, [ebp + 8]
call fcn.1002f5e0
test eax, eax
jne 0x1002083d
mov dword [ebp - 0x40], 1
jmp 0x10020844
mov dword [ebp - 0x40], 0
movzx eax, byte [ebp - 0x40]
test eax, eax
je 0x10020885
cmp dword [ebp + 0xc], 0x16
jge 0x10020874
cmp dword [ebp + 0x24], 3
jl 0x10020866
push 1
push 2
call fcn.1001d3c0
add esp, 8
jmp 0x10020872
push 1
push 1
call fcn.1001d3c0
add esp, 8
jmp 0x10020880
push 1
push 2
call fcn.1001d3c0
add esp, 8
jmp 0x10021133
push str._O010_
lea ecx, [ebp + 8]
call fcn.1002f5e0
test eax, eax
jne 0x1002089f
mov dword [ebp - 0x44], 1
jmp 0x100208a6
mov dword [ebp - 0x44], 0
movzx ecx, byte [ebp - 0x44]
test ecx, ecx
je 0x100208f3
movzx edx, byte [0x1006be31]
test edx, edx
jne 0x100208e2
cmp dword [ebp + 0x24], 4
jl 0x100208d4
mov byte [0x1006be31], 1
push 1
push 2
call fcn.1001d3c0
add esp, 8
jmp 0x100208e0
push 1
push 1
call fcn.1001d3c0
add esp, 8
jmp 0x100208ee
push 1
push 1
call fcn.1001d3c0
add esp, 8
jmp 0x10021133
push str._O011_
lea ecx, [ebp + 8]
call fcn.1002f5e0
test eax, eax
jne 0x1002090d
mov dword [ebp - 0x48], 1
jmp 0x10020914
mov dword [ebp - 0x48], 0
movzx eax, byte [ebp - 0x48]
test eax, eax
je 0x10020941
cmp dword [ebp + 0x24], 3
jl 0x10020930
push 1
push 2
call fcn.1001d3c0
add esp, 8
jmp 0x1002093c
push 1
push 1
call fcn.1001d3c0
add esp, 8
jmp 0x10021133
push str._O012_
lea ecx, [ebp + 8]
call fcn.1002f5e0
test eax, eax
jne 0x1002095b
mov dword [ebp - 0x4c], 1
jmp 0x10020962
mov dword [ebp - 0x4c], 0
movzx ecx, byte [ebp - 0x4c]
test ecx, ecx
je 0x1002098f
cmp dword [ebp + 0x24], 3
jl 0x1002097e
push 1
push 2
call fcn.1001d3c0
add esp, 8
jmp 0x1002098a
push 1
push 1
call fcn.1001d3c0
add esp, 8
jmp 0x10021133
push str._O013_
lea ecx, [ebp + 8]
call fcn.1002f5e0
test eax, eax
jne 0x100209a9
mov dword [ebp - 0x50], 1
jmp 0x100209b0
mov dword [ebp - 0x50], 0
movzx edx, byte [ebp - 0x50]
test edx, edx
je 0x100209dd
cmp dword [ebp + 0x24], 3
jl 0x100209cc
push 1
push 2
call fcn.1001d3c0
add esp, 8
jmp 0x100209d8
push 1
push 1
call fcn.1001d3c0
add esp, 8
jmp 0x10021133
push str._O014_
lea ecx, [ebp + 8]
call fcn.1002f5e0
test eax, eax
jne 0x100209f7
mov dword [ebp - 0x54], 1
jmp 0x100209fe
mov dword [ebp - 0x54], 0
movzx eax, byte [ebp - 0x54]
test eax, eax
je 0x10020a2b
cmp dword [ebp + 0x24], 3
jl 0x10020a1a
push 1
push 2
call fcn.1001d3c0
add esp, 8
jmp 0x10020a26
push 1
push 1
call fcn.1001d3c0
add esp, 8
jmp 0x10021133
push str._O015_
lea ecx, [ebp + 8]
call fcn.1002f5e0
test eax, eax
jne 0x10020a45
mov dword [ebp - 0x58], 1
jmp 0x10020a4c
mov dword [ebp - 0x58], 0
movzx ecx, byte [ebp - 0x58]
test ecx, ecx
je 0x10020a8d
cmp dword [ebp + 0x24], 3
jl 0x10020a7c
cmp dword [ebp + 0x10], 0x13
jge 0x10020a6e
push 1
push 2
call fcn.1001d3c0
add esp, 8
jmp 0x10020a7a
push 1
push 3
call fcn.1001d3c0
add esp, 8
jmp 0x10020a88
push 1
push 1
call fcn.1001d3c0
add esp, 8
jmp 0x10021133
push str._O016_
lea ecx, [ebp + 8]
call fcn.1002f5e0
test eax, eax
jne 0x10020aa7
mov dword [ebp - 0x5c], 1
jmp 0x10020aae
mov dword [ebp - 0x5c], 0
movzx edx, byte [ebp - 0x5c]
test edx, edx
je 0x10020adb
cmp dword [ebp + 0x24], 3
jl 0x10020aca
push 1
push 2
call fcn.1001d3c0
add esp, 8
jmp 0x10020ad6
push 1
push 1
call fcn.1001d3c0
add esp, 8
jmp 0x10021133
push str._O017_
lea ecx, [ebp + 8]
call fcn.1002f5e0
test eax, eax
jne 0x10020af5
mov dword [ebp - 0x60], 1
jmp 0x10020afc
mov dword [ebp - 0x60], 0
movzx eax, byte [ebp - 0x60]
test eax, eax
je 0x10020b42
mov ecx, dword [ebp + 0x10]
sub ecx, dword [ebp + 0x14]
cmp ecx, 0x14
jge 0x10020b1d
push 1
push 2
call fcn.1001d3c0
add esp, 8
jmp 0x10020b3d
cmp dword [ebp + 0x24], 3
jl 0x10020b31
push 1
push 2
call fcn.1001d3c0
add esp, 8
jmp 0x10020b3d
push 1
push 1
call fcn.1001d3c0
add esp, 8
jmp 0x10021133
push str._O018_
lea ecx, [ebp + 8]
call fcn.1002f5e0
test eax, eax
jne 0x10020b5c
mov dword [ebp - 0x64], 1
jmp 0x10020b63
mov dword [ebp - 0x64], 0
movzx edx, byte [ebp - 0x64]
test edx, edx
je 0x10020ba9
mov eax, dword [ebp + 0x18]
sub eax, dword [ebp + 0x1c]
cmp eax, 0x14
jge 0x10020b84
push 1
push 4
call fcn.1001d3c0
add esp, 8
jmp 0x10020ba4
cmp dword [ebp + 0x24], 3
jl 0x10020b98
push 1
push 2
call fcn.1001d3c0
add esp, 8
jmp 0x10020ba4
push 1
push 1
call fcn.1001d3c0
add esp, 8
jmp 0x10021133
push str._H034_
lea ecx, [ebp + 8]
call fcn.1002f5e0
test eax, eax
jne 0x10020bc3
mov dword [ebp - 0x68], 1
jmp 0x10020bca
mov dword [ebp - 0x68], 0
movzx ecx, byte [ebp - 0x68]
test ecx, ecx
je 0x10020c00
cmp dword [0x1006bdb0], 0
jne 0x10020be5
mov dword [0x1006bdb0], 1
push 1
call fcn.1000e770
add esp, 4
push 1
push 1
call fcn.1001d3c0
add esp, 8
jmp 0x10021133
push str._H035_
lea ecx, [ebp + 8]
call fcn.1002f5e0
test eax, eax
jne 0x10020c1a
mov dword [ebp - 0x6c], 1
jmp 0x10020c21
mov dword [ebp - 0x6c], 0
movzx edx, byte [ebp - 0x6c]
test edx, edx
je 0x10020c62
cmp dword [ebp + 0x28], 0
jle 0x10020c51
cmp dword [ebp + 0x24], 3
jl 0x10020c43
push 1
push 2
call fcn.1001d3c0
add esp, 8
jmp 0x10020c4f
push 1
push 1
call fcn.1001d3c0
add esp, 8
jmp 0x10020c5d
push 1
push 2
call fcn.1001d3c0
add esp, 8
jmp 0x10021133
push str._H036_
lea ecx, [ebp + 8]
call fcn.1002f5e0
test eax, eax
jne 0x10020c7c
mov dword [ebp - 0x70], 1
jmp 0x10020c83
mov dword [ebp - 0x70], 0
movzx eax, byte [ebp - 0x70]
test eax, eax
je 0x10020cb9
cmp dword [ebp + 0x20], 0x1c2
jge 0x10020cb4
cmp dword [ebp + 0x24], 3
jl 0x10020ca8
push 1
push 2
call fcn.1001d3c0
add esp, 8
jmp 0x10020cb4
push 1
push 1
call fcn.1001d3c0
add esp, 8
jmp 0x10021133
push str._H037_
lea ecx, [ebp + 8]
call fcn.1002f5e0
test eax, eax
jne 0x10020cd3
mov dword [ebp - 0x74], 1
jmp 0x10020cda
mov dword [ebp - 0x74], 0
movzx ecx, byte [ebp - 0x74]
test ecx, ecx
je 0x10020cf3
push 1
push 2
call fcn.1001d3c0
add esp, 8
jmp 0x10021133
push str._H038_
lea ecx, [ebp + 8]
call fcn.1002f5e0
test eax, eax
jne 0x10020d0d
mov dword [ebp - 0x78], 1
jmp 0x10020d14
mov dword [ebp - 0x78], 0
movzx edx, byte [ebp - 0x78]
test edx, edx
je 0x10020d2d
push 1
push 4
call fcn.1001d3c0
add esp, 8
jmp 0x10021133
push 0x100653b4
lea ecx, [ebp + 8]
call fcn.1002f5e0
test eax, eax
jne 0x10020d47
mov dword [ebp - 0x7c], 1
jmp 0x10020d4e
mov dword [ebp - 0x7c], 0
movzx eax, byte [ebp - 0x7c]
test eax, eax
je 0x10020d7b
cmp dword [ebp + 0x10], 1
jge 0x10020d6a
push 1
push 2
call fcn.1001d3c0
add esp, 8
jmp 0x10020d76
push 1
push 1
call fcn.1001d3c0
add esp, 8
jmp 0x10021133
push str._H039_
lea ecx, [ebp + 8]
call fcn.1002f5e0
test eax, eax
jne 0x10020d95
mov dword [ebp - 0x80], 1
jmp 0x10020d9c
mov dword [ebp - 0x80], 0
movzx ecx, byte [ebp - 0x80]
test ecx, ecx
je 0x10020de0
cmp dword [ebp + 0x10], 1
jge 0x10020db8
push 1
push 2
call fcn.1001d3c0
add esp, 8
jmp 0x10020ddb
cmp dword [ebp + 0x20], 0x186a0
jge 0x10020dcf
push 1
push 1
call fcn.1001d3c0
add esp, 8
jmp 0x10020ddb
push 1
push 3
call fcn.1001d3c0
add esp, 8
jmp 0x10021133
push 0x100653d4
lea ecx, [ebp + 8]
call fcn.1002f5e0
test eax, eax
jne 0x10020dfd
mov dword [ebp - 0x84], 1
jmp 0x10020e07
mov dword [ebp - 0x84], 0
movzx edx, byte [ebp - 0x84]
test edx, edx
je 0x10020e23
push 1
push 4
call fcn.1001d3c0
add esp, 8
jmp 0x10021133
push 0x100653e4
lea ecx, [ebp + 8]
call fcn.1002f5e0
test eax, eax
jne 0x10020e40
mov dword [ebp - 0x88], 1
jmp 0x10020e4a
mov dword [ebp - 0x88], 0
movzx eax, byte [ebp - 0x88]
test eax, eax
je 0x10020e8e
cmp dword [ebp + 0x28], 0
jle 0x10020e7d
cmp dword [ebp + 0x24], 3
jl 0x10020e6f
push 1
push 2
call fcn.1001d3c0
add esp, 8
jmp 0x10020e7b
push 1
push 1
call fcn.1001d3c0
add esp, 8
jmp 0x10020e89
push 1
push 2
call fcn.1001d3c0
add esp, 8
jmp 0x10021133
push 0x100653f4
lea ecx, [ebp + 8]
call fcn.1002f5e0
test eax, eax
jne 0x10020eab
mov dword [ebp - 0x8c], 1
jmp 0x10020eb5
mov dword [ebp - 0x8c], 0
movzx ecx, byte [ebp - 0x8c]
test ecx, ecx
je 0x10020ed1
push 1
push 4
call fcn.1001d3c0
add esp, 8
jmp 0x10021133
push 0x10065404
lea ecx, [ebp + 8]
call fcn.1002f5e0
test eax, eax
jne 0x10020eee
mov dword [ebp - 0x90], 1
jmp 0x10020ef8
mov dword [ebp - 0x90], 0
movzx edx, byte [ebp - 0x90]
test edx, edx
je 0x10021111
cmp dword [0x1006bdac], 8
jge 0x10021103
cmp dword [0x1006bdec], 0
jne 0x10020f44
push 0x3a98
push 0x2710
call fcn.10004950
add esp, 8
mov dword [0x1006bdec], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x1006bd54], eax
jmp 0x10021103
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x1006bd54]
cmp eax, dword [0x1006bdec]
jbe 0x10021103
mov eax, dword [0x1006bdac]
add eax, 1
mov dword [0x1006bdac], eax
push 0x10065414
lea ecx, [ebp - 0x10]
call fcn.1002fa80
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx - 0xc]
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], 0
jle 0x100210c0
mov eax, dword [ebp - 0x18]
push eax
push 0x2d4f9d8
call fcn.10003a80
test eax, eax
jne 0x100210c0
mov dword [ebp - 8], 0
jmp 0x10020fb1
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
cmp edx, dword [ebp - 0x18]
jge 0x100210b6
mov eax, dword [ebp - 8]
add eax, 0x2d4f9d8
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x98], 0
push 1
mov ecx, dword [ebp - 0x94]
push ecx
call fcn.10003990
test eax, eax
jne 0x10021023
lea edx, [ebp - 0x98]
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0x14], 0
jmp 0x10021005
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 1
jge 0x10021023
mov ecx, dword [ebp - 0xb0]
add ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x94]
add edx, dword [ebp - 0x14]
mov al, byte [edx]
mov byte [ecx], al
jmp 0x10020ffc
mov ecx, dword [ebp - 0x98]
mov dword [ebp - 0xb8], ecx
cmp dword [ebp - 8], 0
jl 0x1002104c
mov edx, dword [ebp - 0x10]
mov eax, dword [edx - 0xc]
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebp - 0xb4]
jle 0x10021056
push 0x80070057
call fcn.10002e80
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
mov cx, word [edx + eax*2]
mov word [ebp - 0x1a], cx
movzx edx, word [ebp - 0x1a]
cmp dword [ebp - 0xb8], edx
je 0x100210b1
cmp dword [ebp - 8], 0
jl 0x1002108d
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0xbc], ecx
mov edx, dword [ebp - 8]
cmp edx, dword [ebp - 0xbc]
jle 0x10021097
push 0x80070057
call fcn.10002e80
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 8]
mov dx, word [eax + ecx*2]
mov word [ebp - 0x1c], dx
mov eax, dword [ebp - 8]
mov cl, byte [ebp - 0x1c]
mov byte [eax + 0x2d4f9d8], cl
jmp 0x10020fa8
mov edx, dword [ebp - 0x18]
mov byte [edx + 0x2d4f9d8], 0
mov eax, dword [ebp - 0x10]
sub eax, 0x10
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0xc0]
call fcn.10003260
push 0xd
call fcn.10004970
add esp, 4
push 0x1388
push 0xbb8
call fcn.10004950
add esp, 8
mov dword [0x1006bdec], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x1006bd54], eax
push 1
push 2
call fcn.1001d3c0
add esp, 8
jmp 0x10021133
mov cl, byte [ebp - 1]
mov byte [ebp - 0xa], cl
mov edx, dword [ebp + 8]
sub edx, 0x10
mov dword [ebp - 0xc4], edx
mov ecx, dword [ebp - 0xc4]
call fcn.10003260
mov al, byte [ebp - 0xa]
jmp 0x10021151
mov byte [ebp - 0xb], 1
mov eax, dword [ebp + 8]
sub eax, 0x10
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0xc8]
call fcn.10003260
mov al, byte [ebp - 0xb]
mov esp, ebp
pop ebp
ret