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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
xor ebx, ebx
cmp dword [0x1007f020], ebx
je 0x1001a956
call fcn.10029c50
cmp dword [0x1007e674], ebx
je 0x1001a991
cmp dword [0x1007e578], ebx
je 0x1001a991
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x1007e94c]
mov edx, dword [0x1007e580]
add edx, ecx
cmp edx, eax
jae 0x1001b2ab
mov dword [0x1007e94c], eax
call fcn.10029c30
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [0x1007efbc], ebx
je 0x1001a9a3
call fcn.100029d0
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [0x1007f014], ebx
push esi
je 0x1001ab0c
cmp dword [0x1007f024], ebx
jne 0x1001ab0c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x1007e948]
add ecx, 0x12c
cmp ecx, eax
jae case.default.0x1001aa82
mov edx, dword [0x1007f018]
push edx
mov dword [0x1007e948], eax
call fcn.10025290
mov ecx, dword [0x47a828]
lea eax, [ebp - 0x10]
push eax
push ecx
call fcn.10001220
mov eax, dword [ebp - 0x10]
cmp eax, dword [0x1007e940]
mov ecx, dword [ebp - 0xc]
jne 0x1001aaf5
cmp ecx, dword [0x1007e944]
jne 0x1001aaf5
cmp dword [0x1007f02c], 1
jbe case.default.0x1001aa82
push 4
push 0x47a7f0
mov dword [0x1007f02c], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 8], 0x47a7f0
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1001aa5c
mov eax, dword [ebp - 8]
mov esi, dword ds:[eax]
mov eax, dword ds:[esi]
mov ecx, dword ds:[eax + 0x5c]
mov edx, dword ds:[ecx + 0x14]
add edx, esi
mov ecx, dword ds:[edx]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
mov esi, dword [ebp - 0x10]
mov eax, edx
sub eax, ecx
sub ecx, edx
mov edx, dword [0x1007f028]
add eax, esi
add ecx, esi
shr eax, 1
shr ecx, 1
cmp edx, 7
ja case.default.0x1001aa82
jmp dword [edx*4 + 0x1001b2b0]
add ecx, 0x28
push ecx
push eax
call fcn.10019100
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
add ecx, 0xffffffd8
push ecx
push eax
call fcn.10019100
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
add ecx, 0xffffffd8
push ecx
add eax, 0xffffffd8
push eax
call fcn.10019100
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
add ecx, 0xffffffd8
push ecx
add eax, 0x28
push eax
call fcn.10019100
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
add ecx, 0x28
push ecx
add eax, 0x28
push eax
call fcn.10019100
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
add ecx, 0x28
push ecx
add eax, 0xffffffd8
push eax
call fcn.10019100
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop esi
mov dword [0x1007f02c], ebx
mov dword [0x1007e940], eax
mov dword [0x1007e944], ecx
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [0x1007f03c], ebx
je 0x1001abc5
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x1007f030]
mov esi, dword [0x1007e93c]
mov edx, ecx
imul edx, edx, 0x7d0
lea edx, [edx + esi + 0x3e8]
cmp edx, eax
jae case.default.0x1001aa82
cmp ecx, ebx
mov dword [0x1007e93c], eax
jne 0x1001ab7f
mov eax, dword [0x1007f038]
cmp eax, dword [0x1007f034]
ja case.default.0x1001aa82
push 0x9ce
call fcn.10025240
test eax, eax
jne case.default.0x1001aa82
add dword [0x1007f038], 1
call fcn.1001a840
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x9ce
call fcn.10025240
test eax, eax
jne 0x1001abb5
push ebx
call fcn.10021570
push 0xa8
call fcn.1002d210
test eax, eax
je case.default.0x1001aa82
push 0x9ce
call fcn.1002bbc0
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x9ce
call fcn.10025290
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [0x1007f040], ebx
je 0x1001abf7
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x1007e938]
add ecx, 0x3e8
cmp ecx, eax
jae case.default.0x1001aa82
mov dword [0x1007e938], eax
call fcn.10003eb0
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [0x1007f050], ebx
je 0x1001ac29
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [0x1007e934]
add edx, 0x1f4
cmp edx, eax
jae case.default.0x1001aa82
mov dword [0x1007e934], eax
call fcn.100042a0
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [0x1007f064], ebx
je 0x1001ac58
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x1007e930]
add ecx, 0x64
cmp ecx, eax
jae case.default.0x1001aa82
mov dword [0x1007e930], eax
call fcn.10004810
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [0x1007f01c], ebx
push edi
je 0x1001ad09
push 1
push 2
push 0x1004f810
call fcn.100231f0
mov edi, eax
cmp edi, ebx
je case.default.0x1001afa3
xor esi, esi
nop
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x1001ac85
sub eax, edx
mov edx, dword [esi*8 + 0x1004d830]
push eax
push edx
push edi
call fcn.1002d8d2
add esp, 0xc
test eax, eax
je 0x1001acb3
add esi, 1
cmp esi, 0x3d1
jl 0x1001ac80
jmp 0x1001acc8
mov eax, dword [esi*8 + 0x1004d834]
push eax
call fcn.10023b30
test eax, eax
jne case.default.0x1001afa3
push 1
push 7
push 0x1004f810
call fcn.10023310
test eax, eax
jne case.default.0x1001afa3
push 1
push 8
push 0x1004f810
call fcn.10023310
test eax, eax
jne case.default.0x1001afa3
push 1
push 9
push 0x1004f810
call fcn.10023310
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [0x1007e67c], ebx
je 0x1001ae17
push 0x10041cc0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 8], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x1007e92c]
add ecx, 0x12c
cmp ecx, eax
jae case.default.0x1001afa3
cmp dword [0x1007e894], ebx
mov dword [0x1007e92c], eax
jne 0x1001ad5c
mov edx, dword [0x1007edbc]
mov eax, dword [edx*4 + 0x10074148]
jmp 0x1001ae68
cmp dword [0x1007e928], ebx
jne 0x1001ad7a
call fcn.10029d70
pop edi
pop esi
mov dword [0x1007e928], 1
pop ebx
mov esp, ebp
pop ebp
ret
push 0x1004f808
push 0x1004f800
call fcn.10023e40
test eax, eax
je 0x1001adac
push 1
push 0x1004f7f4
mov dword [0x1007e894], ebx
call fcn.10001160
pop edi
pop esi
mov dword [0x1007e928], ebx
pop ebx
mov esp, ebp
pop ebp
ret
push 6
push 1
push 0x1004f800
call fcn.10023270
test eax, eax
jne 0x1001adc2
push 1
jmp 0x1001adfe
push 6
push 3
push 0x1004f800
call fcn.10023270
test eax, eax
jne 0x1001add8
push 2
jmp 0x1001adfe
mov dword [ebp - 4], ebx
mov eax, dword [ebp - 8]
mov eax, dword ds:[eax + 0x56018]
test eax, eax
je 0x1001adf3
mov eax, dword ds:[eax + 0x226]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0x3c3e7262
je 0x1001ae0a
push 3
push 8
push 0x1004f800
call fcn.10023310
pop edi
pop esi
mov dword [0x1007e928], ebx
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [0x1007e680], ebx
je 0x1001af3a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x1007e924]
mov esi, eax
add ecx, 0x12c
cmp ecx, esi
jae case.default.0x1001afa3
push 0x10041cc0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
cmp dword [0x1007e894], ebx
mov dword [ebp - 8], eax
mov dword [0x1007e924], esi
jne 0x1001ae7f
mov edx, dword [0x1007edc0]
mov eax, dword [edx*4 + 0x1007397c]
push eax
call fcn.10025290
pop edi
pop esi
mov dword [0x1007e894], 1
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [0x1007e920], ebx
jne 0x1001ae9d
call fcn.10029dd0
pop edi
pop esi
mov dword [0x1007e920], 1
pop ebx
mov esp, ebp
pop ebp
ret
push 0x1004f7ec
push 0x1004f7e4
call fcn.10023e40
test eax, eax
je 0x1001aecf
push 1
push 0x1004f7d8
mov dword [0x1007e894], ebx
call fcn.10001160
pop edi
pop esi
mov dword [0x1007e920], ebx
pop ebx
mov esp, ebp
pop ebp
ret
push 6
push 1
push 0x1004f7e4
call fcn.10023270
test eax, eax
jne 0x1001aee5
push 1
jmp 0x1001af21
push 6
push 3
push 0x1004f7e4
call fcn.10023270
test eax, eax
jne 0x1001aefb
push 2
jmp 0x1001af21
mov dword [ebp - 4], ebx
mov eax, dword [ebp - 8]
mov eax, dword ds:[eax + 0x56018]
test eax, eax
je 0x1001af16
mov eax, dword ds:[eax + 0x226]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0x3c3e7262
je 0x1001af2d
push 3
push 8
push 0x1004f7e4
call fcn.10023310
pop edi
pop esi
mov dword [0x1007e920], ebx
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [0x1007e684], ebx
je 0x1001b226
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x1007e91c]
add ecx, 0x32
cmp ecx, eax
jae case.default.0x1001afa3
cmp dword [0x1007e894], ebx
mov dword [0x1007e91c], eax
jne 0x1001af90
xor eax, eax
mov edi, 1
mov dword [0x1007e918], eax
mov dword [0x1007e914], ebx
mov dword [0x1007e910], ebx
mov dword [0x1007e90c], ebx
mov dword [0x1007e894], edi
jmp switch.0x1001afa3
mov eax, dword [0x1007e918]
cmp eax, 0xb
ja case.default.0x1001afa3
mov edi, 1
jmp dword [eax*4 + 0x1001b2d0]
push 0xfa1
call fcn.10025240
cmp eax, 0xa
jae 0x1001b0ce
push 0xed70
call fcn.10025240
test eax, eax
jbe 0x1001afda
push 0xed70
call fcn.10025290
jmp 0x1001b0ce
push 0x179
push 0xc3
call fcn.100190d0
mov dword [0x1007e918], edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 6
call fcn.10018da0
test eax, eax
je case.default.0x1001afa3
call fcn.10029db0
pop edi
pop esi
mov dword [0x1007e918], 3
pop ebx
mov esp, ebp
pop ebp
ret
push 7
call fcn.10018da0
test eax, eax
je case.default.0x1001afa3
call fcn.10029d90
pop edi
pop esi
mov dword [0x1007e918], 4
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [0x1007e9d4]
mov eax, dword [edx]
lea ecx, [eax - 1]
cmp ecx, 0xfffe
mov dword [0x1007e90c], eax
ja case.default.0x1001afa3
mov esi, 0x14
jmp 0x1001b075
mov eax, dword [0x1007e90c]
push 0x190
push 0xfa1
push eax
call fcn.1001a140
call fcn.1001a540
call fcn.1001a540
call fcn.1001a540
call fcn.1001a540
call fcn.1001a540
call fcn.1001a540
call fcn.1001a540
call fcn.1001a540
call fcn.1001a540
call fcn.1001a540
sub esi, edi
jne 0x1001b070
mov edx, dword [0x1007e90c]
push 0x28
push 0xfa1
push edx
call fcn.1001a140
push 0x165
push 0xd6
call fcn.100190d0
pop edi
pop esi
mov dword [0x1007e918], 2
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x1007e9d4]
mov eax, dword [eax]
lea ecx, [eax - 1]
cmp ecx, 0xfffe
mov dword [0x1007e90c], eax
ja case.default.0x1001afa3
push edi
push 0x3a2
push eax
call fcn.1001a140
pop edi
pop esi
mov dword [0x1007e918], 5
pop ebx
mov esp, ebp
pop ebp
ret
push 0x3a2
call fcn.1002b3e0
cmp eax, ebx
mov dword [0x1007e910], eax
je case.default.0x1001afa3
cmp dword [0x1007e914], ebx
jne 0x1001b158
push eax
call fcn.1001a2e0
mov dword [0x1007e914], edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.1001a320
add dword [0x1007e918], edi
add dword [0x1007e908], 2
pop edi
pop esi
mov dword [0x1007e914], ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [0x1007e910]
mov eax, dword [edx + 8]
mov ecx, dword [0x1007e90c]
push eax
push ecx
call fcn.1001a200
push 4
call fcn.10001020
push eax
call fcn.1001a100
push 0x3ed
mov esi, eax
call fcn.10001020
cmp esi, eax
jae 0x1001b1ba
push edi
push 0x1004f7d0
call fcn.10001160
call fcn.1001a4f0
cmp dword [0x1007e908], 0x2c
jbe 0x1001b1df
call fcn.1001a490
pop edi
pop esi
mov dword [0x1007e908], ebx
mov dword [0x1007e918], 9
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov dword [0x1007e918], 0xb
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.1001a390
add dword [0x1007e918], edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x3a2
call fcn.1002b3e0
cmp eax, ebx
mov dword [0x1007e910], eax
jne case.default.0x1001afa3
pop edi
pop esi
mov dword [0x1007e918], ebx
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [0x1007e688], ebx
je 0x1001b284
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [0x1007e904]
add edx, 0x3e8
cmp edx, eax
jae case.default.0x1001afa3
cmp dword [0x1007e7fc], ebx
mov dword [0x1007e904], eax
je case.default.0x1001afa3
call fcn.10026640
test eax, eax
je case.default.0x1001afa3
mov ecx, dword [0x1007e7fc]
lea eax, [ebp - 0x10]
push eax
push ecx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0xc], ebx
call fcn.10001220
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
push edx
push eax
call fcn.1002bc00
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [0x1007e89c], ebx
je case.default.0x1001afa3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x1007e900]
add ecx, 0x32
cmp ecx, eax
jae case.default.0x1001afa3
mov dword [0x1007e900], eax
call fcn.1001a6c0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret