Function at 0x4c6a60
Capabilities:
Check for time delay via gettickcount
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 5
push 0
push 0
dec ecx
jne 0x4c6a69
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov esi, ecx
mov dword [ebp - 4], eax
mov ebx, dword [ebp + 8]
xor eax, eax
push ebp
push 0x4c7ddc
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.00525290
test al, al
je 0x4c7db9
movzx eax, word [esi]
sub ax, 0xd
je 0x4c6abe
sub ax, 6
jne 0x4c6b83
mov word [esi], 0
mov eax, dword [ebp - 4]
call fcn.004c5c70
jmp 0x4c6b83
test bl, 2
je 0x4c6b83
cmp word [esi], 0xd
jne 0x4c6b83
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3ac]
call fcn.004786d0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3ac]
test byte [eax + 0x26e], 1
je 0x4c6b25
mov eax, dword [ebp - 4]
call fcn.004702c4
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.00460954
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x3ac]
movzx edx, word [0x4c7dec]
not edx
and dx, word [ebx + 0x26e]
mov eax, ebx
call fcn.0047919c
jmp 0x4c6b55
mov eax, dword [ebp - 4]
call fcn.004702f0
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00460954
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x3ac]
movzx edx, word [ebx + 0x26e]
or dx, word [0x4c7dec]
mov eax, ebx
call fcn.0047919c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3ac]
test byte [eax + 0x26e], 1
setne al
mov edx, dword [0x566c38]
mov byte [edx], al
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3ac]
call fcn.00478a10
jmp 0x4c7db9
mov edx, esi
mov eax, dword [0x56793c]
mov eax, dword [eax]
mov ecx, ebx
call fcn.00489258
test al, al
jne 0x4c7db9
mov eax, dword [0x5673b0]
cmp dword [eax], 0
je 0x4c7db9
mov eax, dword [0x567128]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov edx, dword [0x566ba4]
cmp eax, dword [edx]
jne 0x4c7db9
mov eax, dword [0x56783c]
cmp dword [eax + 0x10], 0
je 0x4c6be3
push ebx
movzx eax, word [esi]
push eax
mov eax, dword [0x56783c]
mov eax, dword [eax + 0x10]
call eax
test al, al
jne 0x4c7db9
movzx eax, word [esi]
sub ax, 0x24
je 0x4c6bf2
sub ax, 0x57
jne 0x4c6c09
mov eax, dword [0x567764]
cmp byte [eax + 0x26], 1
jne 0x4c6c09
mov eax, dword [0x567b0c]
mov eax, dword [eax]
call fcn.00514924
mov eax, dword [0x566c0c]
cmp byte [eax + 0x74], 0
je 0x4c6f83
mov edi, dword [0x566c0c]
mov edi, dword [edi + 0x78]
test edi, edi
je 0x4c6c54
lea edx, [ebp - 0xd]
mov eax, dword [0x566c0c]
mov eax, edi
call fcn.0052498c
movzx eax, ax
mov edi, eax
movzx eax, word [esi]
cmp edi, eax
jne 0x4c6c54
mov eax, ebx
cmp al, byte [ebp - 0xd]
jne 0x4c6c54
mov eax, dword [ebp - 4]
call fcn.004c8a5c
mov word [esi], 0
mov edi, dword [0x566c0c]
mov edi, dword [edi + 0x88]
test edi, edi
je 0x4c6cae
lea edx, [ebp - 0xd]
mov eax, dword [0x566c0c]
mov eax, edi
call fcn.0052498c
movzx eax, ax
mov edi, eax
movzx eax, word [esi]
cmp edi, eax
jne 0x4c6cae
mov eax, ebx
cmp al, byte [ebp - 0xd]
jne 0x4c6cae
mov eax, dword [0x567948]
cmp dword [eax], 0
je 0x4c6ca9
mov eax, dword [0x567948]
mov eax, dword [eax]
cmp byte [eax + 0x3c], 0
jne 0x4c6ca9
mov eax, dword [0x567948]
mov eax, dword [eax]
call fcn.0054c348
mov word [esi], 0
mov edi, dword [0x566c0c]
mov edi, dword [edi + 0x7c]
test edi, edi
je 0x4c6d24
lea edx, [ebp - 0xd]
mov eax, dword [0x566c0c]
mov eax, edi
call fcn.0052498c
movzx eax, ax
mov edi, eax
movzx eax, word [esi]
cmp edi, eax
jne 0x4c6d24
mov eax, ebx
cmp al, byte [ebp - 0xd]
jne 0x4c6d24
mov eax, dword [0x567948]
cmp dword [eax], 0
jne 0x4c6d00
push 0
push 0
push 0
xor ecx, ecx
mov edx, 0x140f
mov eax, dword [0x695bd8]
call fcn.004ce440
jmp 0x4c6d1f
push 0
push 0
push 0
mov eax, dword [0x567948]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
mov edx, 0x1410
mov eax, dword [0x695bd8]
call fcn.004ce440
mov word [esi], 0
mov edi, dword [0x566c0c]
mov edi, dword [edi + 0x80]
test edi, edi
je 0x4c6d7e
lea edx, [ebp - 0xd]
mov eax, dword [0x566c0c]
mov eax, edi
call fcn.0052498c
movzx eax, ax
mov edi, eax
movzx eax, word [esi]
cmp edi, eax
jne 0x4c6d7e
mov eax, ebx
cmp al, byte [ebp - 0xd]
jne 0x4c6d7e
mov eax, dword [0x567948]
cmp dword [eax], 0
je 0x4c6d79
mov eax, dword [0x567948]
mov eax, dword [eax]
cmp byte [eax + 0x3c], 0
jne 0x4c6d79
mov eax, dword [0x567948]
mov eax, dword [eax]
call fcn.0054c398
mov word [esi], 0
mov edi, dword [0x566c0c]
mov edi, dword [edi + 0x84]
test edi, edi
je 0x4c6dd8
lea edx, [ebp - 0xd]
mov eax, dword [0x566c0c]
mov eax, edi
call fcn.0052498c
movzx eax, ax
mov edi, eax
movzx eax, word [esi]
cmp edi, eax
jne 0x4c6dd8
mov eax, ebx
cmp al, byte [ebp - 0xd]
jne 0x4c6dd8
mov eax, dword [0x567948]
cmp dword [eax], 0
je 0x4c6dd3
mov eax, dword [0x567948]
mov eax, dword [eax]
cmp byte [eax + 0x3c], 0
jne 0x4c6dd3
mov eax, dword [0x567948]
mov eax, dword [eax]
call fcn.0054c214
mov word [esi], 0
mov edi, dword [0x566c0c]
mov edi, dword [edi + 0x8c]
test edi, edi
je 0x4c6e32
lea edx, [ebp - 0xd]
mov eax, dword [0x566c0c]
mov eax, edi
call fcn.0052498c
movzx eax, ax
mov edi, eax
movzx eax, word [esi]
cmp edi, eax
jne 0x4c6e32
mov eax, ebx
cmp al, byte [ebp - 0xd]
jne 0x4c6e32
mov eax, dword [0x567948]
cmp dword [eax], 0
je 0x4c6e2d
mov eax, dword [0x567948]
mov eax, dword [eax]
cmp byte [eax + 0x3c], 0
jne 0x4c6e2d
mov eax, dword [0x567948]
mov eax, dword [eax]
call fcn.0054c370
mov word [esi], 0
mov edi, dword [0x566c0c]
mov edi, dword [edi + 0x90]
test edi, edi
je 0x4c6e76
lea edx, [ebp - 0xd]
mov eax, dword [0x566c0c]
mov eax, edi
call fcn.0052498c
movzx eax, ax
mov edi, eax
movzx eax, word [esi]
cmp edi, eax
jne 0x4c6e76
mov eax, ebx
cmp al, byte [ebp - 0xd]
jne 0x4c6e76
mov edx, 0x4c7df8
mov eax, dword [ebp - 4]
call fcn.004cf070
mov word [esi], 0
mov edi, dword [0x566c0c]
mov edi, dword [edi + 0x94]
test edi, edi
je 0x4c6f83
lea edx, [ebp - 0xd]
mov eax, dword [0x566c0c]
mov eax, edi
call fcn.0052498c
movzx eax, ax
mov edi, eax
movzx eax, word [esi]
cmp edi, eax
jne 0x4c6f83
mov eax, ebx
cmp al, byte [ebp - 0xd]
jne 0x4c6f83
mov eax, dword [0x567870]
cmp byte [eax], 0
jne 0x4c6ef6
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x567124]
cmp eax, dword [edx]
jbe 0x4c6f1a
call sub.kernel32.dll_GetTickCount_1
add eax, 0xbb8
mov edx, dword [0x567124]
mov dword [edx], eax
mov eax, dword [0x695bd8]
call fcn.004d1090
mov eax, dword [0x56709c]
mov dword [eax], 1
jmp 0x4c6f1a
mov eax, dword [0x56709c]
cmp dword [eax], 3
jl 0x4c6f13
mov eax, dword [0x56709c]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x567870]
mov byte [eax], 0
jmp 0x4c6f1a
mov eax, dword [0x56709c]
inc dword [eax]
mov edx, dword [0x567870]
movzx edx, byte [edx]
mov eax, dword [0x567b0c]
mov eax, dword [eax]
mov eax, dword [eax + 0x700]
call fcn.0047f9f4
mov eax, dword [0x567b0c]
mov eax, dword [eax]
mov eax, dword [eax + 0x700]
cmp byte [eax + 0x2f0], 0
jne 0x4c6f7e
mov edx, dword [0x567b0c]
mov edx, dword [edx]
mov edx, dword [edx + 0x8d8]
mov edx, dword [edx + 0x48]
mov ecx, dword [0x567b0c]
call fcn.00448ea4
mov eax, dword [0x567b0c]
mov eax, dword [eax]
mov eax, dword [eax + 0x700]
mov edx, 0x78
call fcn.00448ed8
mov word [esi], 0
movzx eax, word [esi]
add eax, 0xfffffff7
cmp eax, 0x71
ja case.0x4c6f99.10
movzx eax, byte [eax + 0x4c6fa0]
jmp dword [eax*4 + 0x4c7012]
mov eax, dword [0x567764]
cmp byte [eax + 0xc], 0
je 0x4c70d2
mov eax, dword [0x5673b0]
mov eax, dword [eax]
movzx eax, byte [eax + 0xbf]
imul eax, eax, 0x1f4
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fdiv dword [0x4c7e04]
call fcn.0040367c
mov edi, 0x1f4
sub edi, eax
mov eax, dword [0x5673b0]
mov eax, dword [eax]
movsx eax, word [eax + 0x2cc]
imul edi
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fdiv dword [0x4c7e08]
call fcn.00403670
sub edi, eax
jmp 0x4c70d7
mov edi, 0x1f4
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x5671f4]
sub eax, dword [edx]
mov edx, dword [0x567078]
mov edx, dword [edx]
add edx, edi
cmp eax, edx
jbe 0x4c74bb
mov eax, dword [ebp - 4]
cmp word [eax + 0x56e], 0
jne 0x4c74bb
test bl, 4
je 0x4c711f
movzx eax, word [esi]
sub ax, 0x64
mov edx, dword [ebp - 4]
mov word [edx + 0x56e], ax
jmp 0x4c712c
movzx eax, word [esi]
mov edx, dword [ebp - 4]
mov word [edx + 0x56e], ax
xor ebx, ebx
mov eax, dword [ebp - 4]
movzx eax, word [eax + 0x56e]
mov edx, eax
add edx, 0xfffffff4
sub dx, 8
jb 0x4c7160
add edx, 0xffffffa4
sub dx, 8
jae 0x4c7175
mov edx, eax
sub dl, 0x70
add dl, 0x31
mov eax, dword [ebp - 4]
call fcn.004c829c
mov ebx, eax
jmp 0x4c7175
mov edx, eax
sub dl, 0xc
add dl, 0x31
add dl, 0x14
mov eax, dword [ebp - 4]
call fcn.004c829c
mov ebx, eax
test ebx, ebx
je 0x4c71a6
movzx eax, word [ebx + 8]
call fcn.004c31e4
test al, al
jne 0x4c71a6
mov eax, dword [0x5673b0]
mov eax, dword [eax]
cmp byte [eax + 0x20], 0
jbe 0x4c71a6
mov eax, dword [0x566c0c]
cmp byte [eax + 0x3b], 0
je 0x4c71a6
mov eax, dword [ebp - 4]
call fcn.004ce38c
mov eax, dword [0x5673b0]
mov eax, dword [eax]
cmp byte [eax + 0x24], 2
jne 0x4c74bb
test ebx, ebx
je 0x4c74bb
mov eax, dword [0x566c0c]
cmp byte [eax + 0x6e], 0
je 0x4c74bb
mov eax, dword [0x566c14]
cmp byte [eax + 8], 0
jne 0x4c74bb
movzx eax, word [ebx + 8]
cmp eax, 0x34
jg 0x4c7210
je 0x4c741a
sub eax, 6
je 0x4c7230
add eax, 0xfffffff9
sub eax, 7
jb 0x4c7341
sub eax, 0xa
je 0x4c7341
sub eax, 8
je 0x4c7230
jmp 0x4c74bb
sub eax, 0x39
je 0x4c7341
sub eax, 0xf
je 0x4c7341
sub eax, 4
je 0x4c7341
jmp 0x4c74bb
mov eax, dword [0x566c0c]
cmp byte [eax + 0x6f], 0
je 0x4c72d5
mov eax, dword [0x566dcc]
cmp dword [eax], 0
jge 0x4c725a
mov eax, dword [0x566c0c]
mov eax, dword [eax + 0x70]
inc eax
mov edx, dword [0x566dcc]
mov dword [edx], eax
mov eax, dword [0x5670b0]
cmp byte [eax + 0x60c], 0
je 0x4c729f
mov eax, dword [0x5670b0]
cmp byte [eax + 0x632], 0x19
jne 0x4c729f
mov eax, dword [0x5670b0]
cmp word [eax + 0x6b4], 0x64
jb 0x4c729f
mov eax, dword [0x5670b0]
movzx eax, word [eax + 0x633]
mov edx, dword [0x566dcc]
cmp eax, dword [edx]
je 0x4c74bb
mov eax, dword [0x566dcc]
mov eax, dword [eax]
mov edx, 1
call fcn.004c6950
mov eax, dword [0x566dcc]
inc dword [eax]
mov eax, dword [0x566dcc]
cmp dword [eax], 2
jle 0x4c74bb
mov eax, dword [0x566dcc]
mov dword [eax], 1
jmp 0x4c74bb
mov eax, dword [0x566c0c]
mov eax, dword [eax + 0x70]
inc eax
mov edx, dword [0x566dcc]
mov dword [edx], eax
mov eax, dword [0x5670b0]
cmp byte [eax + 0x60c], 0
je 0x4c732b
mov eax, dword [0x5670b0]
cmp byte [eax + 0x632], 0x19
jne 0x4c732b
mov eax, dword [0x5670b0]
cmp word [eax + 0x6b4], 0x64
jb 0x4c732b
mov eax, dword [0x5670b0]
movzx eax, word [eax + 0x633]
mov edx, dword [0x566dcc]
cmp eax, dword [edx]
je 0x4c74bb
mov eax, dword [0x566dcc]
mov eax, dword [eax]
mov edx, 1
call fcn.004c6950
jmp 0x4c74bb
mov edi, 1
movzx eax, word [ebx + 8]
cmp ax, 0x1e
je 0x4c7356
cmp ax, 0x48
jne 0x4c735b
mov edi, 5
mov eax, dword [0x5670b0]
cmp byte [eax + 0x60c], 0
je 0x4c73bb
mov eax, dword [0x5670b0]
cmp byte [eax + 0x632], 0x19
jne 0x4c73bb
mov eax, dword [0x5670b0]
movzx eax, word [eax + 0x6b4]
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fdiv dword [0x4c7e04]
call fcn.00403670
push edx
push eax
mov eax, edi
cdq
cmp edx, dword [esp + 4]
jne 0x4c73a8
cmp eax, dword [esp]
pop edx
pop eax
ja 0x4c73bb
jmp 0x4c73ac
pop edx
pop eax
jg 0x4c73bb
mov eax, dword [0x5670b0]
cmp word [eax + 0x633], 5
je 0x4c73cc
mov edx, edi
mov eax, 5
call fcn.004c6950
jmp 0x4c74bb
mov eax, dword [0x5670b0]
movzx eax, word [eax + 0x6b4]
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fdiv dword [0x4c7e04]
call fcn.00403670
push edx
push eax
mov eax, edi
cdq
cmp edx, dword [esp + 4]
jne 0x4c7401
cmp eax, dword [esp]
pop edx
pop eax
jbe 0x4c74bb
jmp 0x4c7409
pop edx
pop eax
jle 0x4c74bb
mov edx, edi
mov eax, 5
call fcn.004c6950
jmp 0x4c74bb
mov eax, dword [0x5670b0]
cmp byte [eax + 0x60c], 0
je 0x4c7470
mov eax, dword [0x5670b0]
cmp byte [eax + 0x632], 0x19
jne 0x4c7470
mov eax, dword [0x5670b0]
movzx eax, word [eax + 0x6b4]
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fdiv dword [0x4c7e04]
call fcn.00403670
cmp edx, 0
jne 0x4c745f
cmp eax, 3
jb 0x4c7470
jmp 0x4c7461
jl 0x4c7470
mov eax, dword [0x5670b0]
cmp word [eax + 0x633], 3
je 0x4c7481
mov edx, 3
mov eax, 3
call fcn.004c6950
jmp 0x4c74bb
mov eax, dword [0x5670b0]
movzx eax, word [eax + 0x6b4]
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fdiv dword [0x4c7e04]
call fcn.00403670
cmp edx, 0
jne 0x4c74aa
cmp eax, 3
jae 0x4c74bb
jmp 0x4c74ac
jge 0x4c74bb
mov edx, 3
mov eax, 3
call fcn.004c6950
mov word [esi], 0
jmp case.0x4c6f99.10
mov eax, dword [0x567b0c]
mov eax, dword [eax]
call fcn.004f8d8c
mov word [esi], 0
jmp case.0x4c6f99.10
mov eax, dword [0x567b0c]
mov eax, dword [eax]
xor edx, edx
mov dword [eax + 0xcec], edx
mov eax, dword [0x567b0c]
mov eax, dword [eax]
call fcn.004f8d2c
mov word [esi], 0
jmp case.0x4c6f99.10
mov eax, dword [0x567b0c]
mov eax, dword [eax]
mov dword [eax + 0xcec], 3
mov eax, dword [0x567b0c]
mov eax, dword [eax]
call fcn.004f8d2c
mov word [esi], 0
jmp case.0x4c6f99.10
test bl, 4
je case.0x4c6f99.10
mov edx, 0x4c7df8
mov eax, dword [ebp - 4]
call fcn.004cf070
mov word [esi], 0
jmp case.0x4c6f99.10
test bl, 4
je case.0x4c6f99.10
mov edx, 0x4c7e14
mov eax, dword [ebp - 4]
call fcn.004cf070
mov word [esi], 0
jmp case.0x4c6f99.10
test bl, 2
je 0x4c7582
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.004dd298
mov word [esi], 0
jmp case.0x4c6f99.10
test bl, 4
je case.0x4c6f99.10
mov eax, dword [ebp - 4]
call fcn.004c8a5c
jmp case.0x4c6f99.10
test bl, 4
je case.0x4c6f99.10
mov eax, dword [0x567948]
cmp dword [eax], 0
je 0x4c7db9
mov eax, dword [0x567948]
mov eax, dword [eax]
call fcn.0054c348
mov word [esi], 0
jmp case.0x4c6f99.10
test bl, 4
je case.0x4c6f99.10
mov eax, dword [0x567948]
cmp dword [eax], 0
je 0x4c7db9
mov eax, dword [0x567948]
mov eax, dword [eax]
call fcn.0054c398
mov word [esi], 0
jmp case.0x4c6f99.10
test bl, 4
je 0x4c761b
mov eax, dword [0x567948]
cmp dword [eax], 0
je 0x4c7db9
mov eax, dword [0x567948]
mov eax, dword [eax]
call fcn.0054c370
mov word [esi], 0
jmp case.0x4c6f99.10
mov eax, dword [0x5673b0]
cmp dword [eax], 0
je 0x4c7db9
test bl, 2
je case.0x4c6f99.10
call sub.kernel32.dll_GetTickCount_1
add eax, 0x2711
mov edx, dword [0x566a88]
mov dword [edx], eax
call sub.kernel32.dll_GetTickCount_1
add eax, 0x2711
mov edx, dword [0x566e58]
mov dword [edx], eax
call sub.kernel32.dll_GetTickCount_1
add eax, 0x2711
mov edx, dword [0x567b30]
mov dword [edx], eax
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x566a88]
sub eax, dword [edx]
cmp eax, 0x2710
jbe 0x4c76a4
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x566e58]
sub eax, dword [edx]
cmp eax, 0x2710
jbe 0x4c76a4
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x567b30]
sub eax, dword [edx]
cmp eax, 0x2710
ja 0x4c76b1
mov eax, dword [0x5673b0]
mov eax, dword [eax]
cmp byte [eax + 0x3c], 0
je 0x4c76be
mov eax, dword [ebp - 4]
call fcn.004c5a3c
jmp case.0x4c6f99.10
push 0xff
lea eax, [ebp - 0x18]
push eax
mov eax, dword [0x567128]
mov eax, dword [eax]
mov ecx, 0xffff
mov edx, 0x4c7e24
call fcn.00552a30
jmp case.0x4c6f99.10
test bl, 4
je case.0x4c6f99.10
mov eax, dword [0x567948]
cmp dword [eax], 0
je case.0x4c6f99.10
mov eax, dword [0x567948]
mov eax, dword [eax]
cmp byte [eax + 0x3c], 0
jne case.0x4c6f99.10
mov word [esi], 0
jmp case.0x4c6f99.10
test bl, 4
je case.0x4c6f99.10
mov eax, dword [0x567948]
cmp dword [eax], 0
je case.0x4c6f99.10
mov eax, dword [0x567948]
mov eax, dword [eax]
cmp byte [eax + 0x3c], 0
jne case.0x4c6f99.10
mov eax, dword [0x567948]
mov eax, dword [eax]
call fcn.0054c214
jmp case.0x4c6f99.10
test bl, 4
je case.0x4c6f99.10
mov eax, dword [0x567580]
cmp dword [eax], 7
jge 0x4c7769
mov eax, dword [0x567580]
inc dword [eax]
jmp 0x4c7772
mov eax, dword [0x567580]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x5675f0]
mov edx, dword [0x567580]
mov edx, dword [edx]
mov ecx, dword [0x567b5c]
mov edx, dword [ecx + edx*4]
call fcn.00405598
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3ac]
mov eax, dword [eax + 0x2d0]
call fcn.004764f8
mov eax, dword [eax + 0xc]
mov edx, dword [0x5675f0]
mov edx, dword [edx]
call fcn.00429f14
mov edx, dword [0x5675f0]
mov edx, dword [edx]
mov eax, dword [0x567b0c]
mov eax, dword [eax]
mov eax, dword [eax + 0x894]
mov eax, dword [eax + 0x68]
call fcn.00429f14
mov edx, dword [0x5675f0]
mov edx, dword [edx]
mov eax, dword [0x695bd8]
mov eax, dword [eax + 0x68]
call fcn.00429f14
mov eax, dword [0x695bd8]
call fcn.00460d30
mov eax, dword [eax + 0xc]
mov edx, dword [0x5675f0]
mov edx, dword [edx]
call fcn.00429f14
mov ecx, 0x4c7e48
mov dl, 1
mov eax, dword [0x426718]
call fcn.004267d0
mov ebx, eax
test ebx, ebx
je 0x4c7834
mov eax, dword [0x5675f0]
mov eax, dword [eax]
push eax
mov ecx, 0x4c7e5c
mov edx, 0x4c7e70
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 4]
mov eax, ebx
call fcn.00404648
mov word [esi], 0
jmp case.0x4c6f99.10
test bl, 4
je 0x4c7873
mov eax, dword [0x566c0c]
movzx eax, byte [eax + 0x2f]
xor al, 1
mov edx, dword [0x566c0c]
mov byte [edx + 0x2f], al
mov edx, dword [0x566c0c]
mov edx, dword [0x567b0c]
mov edx, dword [edx]
mov edx, dword [edx + 0xa04]
mov byte [edx + 0x2b8], al
jmp 0x4c787b
mov eax, dword [ebp - 4]
call fcn.004cfc18
mov word [esi], 0
jmp case.0x4c6f99.10
test bl, 2
je case.0x4c6f99.10
mov eax, dword [0x566d18]
movzx eax, byte [eax]
sub al, 1
jb 0x4c78a1
je 0x4c7902
jmp 0x4c79a0
mov eax, dword [0x567948]
cmp dword [eax], 0
je 0x4c78b3
mov eax, dword [0x566d18]
mov byte [eax], 1
mov eax, dword [0x5673b0]
cmp dword [eax], 0
je 0x4c79a0
mov eax, dword [0x566d6c]
mov byte [eax], 1
push 0
push 0
push 0
xor ecx, ecx
mov edx, 0x51
mov eax, dword [ebp - 4]
call fcn.004ce440
push 0xff00ff
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [0x567128]
mov eax, dword [eax]
mov ecx, 0xffffff
mov edx, 0x4c7e80
call fcn.00552a30
jmp 0x4c79a0
mov eax, dword [0x567948]
cmp dword [eax], 0
je 0x4c7952
mov eax, dword [0x566d18]
mov byte [eax], 0
mov eax, dword [0x566f34]
mov byte [eax], 1
push 0
push 0
push 0
xor ecx, ecx
mov edx, 0x1460
mov eax, dword [ebp - 4]
call fcn.004ce440
push 0xff00ff
lea eax, [ebp - 0x20]
push eax
mov eax, dword [0x567128]
mov eax, dword [eax]
mov ecx, 0xffffff
mov edx, 0x4c7e98
call fcn.00552a30
jmp 0x4c79a0
mov eax, dword [0x566d18]
mov byte [eax], 0
mov eax, dword [0x5673b0]
cmp dword [eax], 0
je 0x4c79a0
mov eax, dword [0x566d6c]
mov byte [eax], 1
push 0
push 0
push 0
xor ecx, ecx
mov edx, 0x51
mov eax, dword [ebp - 4]
call fcn.004ce440
push 0xff00ff
lea eax, [ebp - 0x24]
push eax
mov eax, dword [0x567128]
mov eax, dword [eax]
mov ecx, 0xffffff
mov edx, 0x4c7e80
call fcn.00552a30
mov word [esi], 0
jmp case.0x4c6f99.10
mov eax, dword [0x5673b0]
cmp dword [eax], 0
je 0x4c7db9
test bl, 2
je case.0x4c6f99.10
call sub.kernel32.dll_GetTickCount_1
add eax, 0x2711
mov edx, dword [0x566a88]
mov dword [edx], eax
call sub.kernel32.dll_GetTickCount_1
add eax, 0x2711
mov edx, dword [0x566e58]
mov dword [edx], eax
call sub.kernel32.dll_GetTickCount_1
add eax, 0x2711
mov edx, dword [0x567b30]
mov dword [edx], eax
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x566a88]
sub eax, dword [edx]
cmp eax, 0x2710
jbe 0x4c7a33
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x566e58]
sub eax, dword [edx]
cmp eax, 0x2710
jbe 0x4c7a33
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x567b30]
sub eax, dword [edx]
cmp eax, 0x2710
ja 0x4c7a40
mov eax, dword [0x5673b0]
mov eax, dword [eax]
cmp byte [eax + 0x3c], 0
je 0x4c7a4d
mov eax, dword [ebp - 4]
call fcn.004c59ec
jmp case.0x4c6f99.10
push 0xff
lea eax, [ebp - 0x28]
push eax
mov eax, dword [0x567128]
mov eax, dword [eax]
mov ecx, 0xffff
mov edx, 0x4c7e24
call fcn.00552a30
jmp case.0x4c6f99.10
mov eax, dword [0x567870]
cmp byte [eax], 0
jne 0x4c7ab3
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x567124]
cmp eax, dword [edx]
jbe 0x4c7ad7
call sub.kernel32.dll_GetTickCount_1
add eax, 0xbb8
mov edx, dword [0x567124]
mov dword [edx], eax
mov eax, dword [0x695bd8]
call fcn.004d1090
mov eax, dword [0x56709c]
mov dword [eax], 1
jmp 0x4c7ad7
mov eax, dword [0x56709c]
cmp dword [eax], 3
jl 0x4c7ad0
mov eax, dword [0x56709c]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x567870]
mov byte [eax], 0
jmp 0x4c7ad7
mov eax, dword [0x56709c]
inc dword [eax]
mov edx, dword [0x567870]
movzx edx, byte [edx]
mov eax, dword [0x567b0c]
mov eax, dword [eax]
mov eax, dword [eax + 0x700]
call fcn.0047f9f4
mov eax, dword [0x567b0c]
mov eax, dword [eax]
mov eax, dword [eax + 0x700]
cmp byte [eax + 0x2f0], 0
jne 0x4c7b3b
mov edx, dword [0x567b0c]
mov edx, dword [edx]
mov edx, dword [edx + 0x8d8]
mov edx, dword [edx + 0x48]
mov ecx, dword [0x567b0c]
call fcn.00448ea4
mov eax, dword [0x567b0c]
mov eax, dword [eax]
mov eax, dword [eax + 0x700]
mov edx, 0x78
call fcn.00448ed8
mov word [esi], 0
jmp case.0x4c6f99.10
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x567124]
cmp eax, dword [edx]
jbe case.0x4c6f99.10
call sub.kernel32.dll_GetTickCount_1
add eax, 0xbb8
mov edx, dword [0x567124]
mov dword [edx], eax
mov eax, dword [0x695bd8]
call fcn.004d10f8
mov word [esi], 0
jmp case.0x4c6f99.10
test bl, 4
je 0x4c7c14
mov eax, dword [0x567520]
cmp dword [eax], 0
je 0x4c7c9f
mov edx, dword [0x567520]
mov edx, dword [edx]
mov eax, dword [0x566ba4]
mov eax, dword [eax]
call fcn.00533234
test al, al
je 0x4c7c9f
mov eax, dword [0x566bb4]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jne 0x4c7bd5
mov eax, dword [0x567520]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 4]
call fcn.004d0fec
jmp 0x4c7be7
mov eax, dword [0x567520]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 4]
call fcn.004d1908
lea eax, [ebp - 0x2c]
mov edx, dword [0x567520]
mov edx, dword [edx]
mov edx, dword [edx + 8]
call fcn.00405ed8
mov edx, dword [ebp - 0x2c]
mov eax, dword [0x567b0c]
mov eax, dword [eax]
mov eax, dword [eax + 0x894]
call fcn.00485384
jmp 0x4c7c9f
test bl, 2
je 0x4c7c4f
mov eax, dword [0x567520]
cmp dword [eax], 0
je 0x4c7c9f
mov edx, dword [0x567520]
mov edx, dword [edx]
mov eax, dword [0x566ba4]
mov eax, dword [eax]
call fcn.00533234
test al, al
je 0x4c7c9f
mov eax, dword [0x567520]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 4]
call fcn.004d19ac
jmp 0x4c7c9f
mov eax, dword [0x567b0c]
mov eax, dword [eax]
mov eax, dword [eax + 0x4ec]
cmp byte [eax + 0x2f0], 0
je 0x4c7c74
mov edx, dword [0x567b0c]
xor edx, edx
call fcn.0047f9f4
jmp 0x4c7c9f
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x567124]
cmp eax, dword [edx]
jbe 0x4c7c9f
call sub.kernel32.dll_GetTickCount_1
add eax, 0xbb8
mov edx, dword [0x567124]
mov dword [edx], eax
mov eax, dword [0x695bd8]
call fcn.004d11c8
mov word [esi], 0
jmp case.0x4c6f99.10
test bl, 2
je 0x4c7ccb
mov eax, dword [0x56783c]
cmp dword [eax + 0x28], 0
je 0x4c7cd7
push 0
push 1
push 0
mov eax, dword [0x56783c]
mov eax, dword [eax + 0x28]
call eax
jmp 0x4c7cd7
mov eax, dword [0x567b0c]
mov eax, dword [eax]
call fcn.00509a3c
mov word [esi], 0
jmp case.0x4c6f99.10
mov eax, dword [0x567b0c]
mov eax, dword [eax]
xor edx, edx
mov dword [eax + 0xcec], edx
mov eax, dword [0x567b0c]
mov eax, dword [eax]
call fcn.004f8d2c
mov word [esi], 0
jmp case.0x4c6f99.10
mov eax, dword [0x567b0c]
mov eax, dword [eax]
call fcn.004f8d8c
mov word [esi], 0
jmp case.0x4c6f99.10
test bl, 4
je 0x4c7d22
mov eax, dword [ebp - 4]
call fcn.004ce38c
jmp 0x4c7d2e
mov eax, dword [0x567b0c]
mov eax, dword [eax]
call fcn.004f90c0
mov word [esi], 0
jmp case.0x4c6f99.10
test bl, 4
je case.0x4c6f99.10
mov eax, dword [0x566dfc]
mov eax, dword [eax]
movzx edx, byte [eax + 0x18]
xor dl, 1
mov eax, dword [0x566dfc]
mov eax, dword [eax]
call fcn.00529aa8
mov eax, dword [0x567b0c]
mov eax, dword [eax]
mov eax, dword [eax + 0x95c]
movzx edx, word [esi]
sub dx, 0x21
je 0x4c7d8b
dec dx
je 0x4c7da3
sub dx, 4
je 0x4c7d7d
sub dx, 2
je 0x4c7d84
jmp 0x4c7db9
call fcn.00487734
jmp 0x4c7db9
call fcn.00487578
jmp 0x4c7db9
mov edx, dword [eax + 0x32c]
mov ecx, dword [eax + 0x320]
lea ecx, [ecx + ecx*8]
sub edx, ecx
call fcn.004871a0
jmp 0x4c7db9
mov edx, dword [eax + 0x32c]
mov ecx, dword [eax + 0x320]
lea ecx, [ecx + ecx*8]
add edx, ecx
call fcn.004871a0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4c7de3
lea eax, [ebp - 0x2c]
call fcn.00405d5c
lea eax, [ebp - 0x28]
mov edx, 5
call fcn.00405568
ret