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

Disassembly:
push 0xc4
push 0x100a2f90
call fcn.10083110
xor edi, edi
cmp dword [0x1012ecb8], edi
jne 0x10046484
push dword [0x1035eee4]
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x10047117
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xbc], eax
wait
mov dword [ebp - 4], edi
cmp byte [0x1035ef1e], 0
jne 0x100464d2
cmp dword [0xe7c850], edi
jne 0x100464d2
push edi
mov eax, 0x1389
push eax
push eax
push dword [0x100ded8c]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
call esi
push edi
push edi
push 0x2710
mov eax, dword [0x1012ecb8]
push dword [eax + 0x20]
call esi
wait
jmp 0x10047110
push edi
push edi
push 0xfb1
push dword [0x100ded8c]
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0x2710
je 0x10046504
push 0x10034953
push 0xfffffffffffffffc
push dword [0x100ded8c]
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov dword [0x10383294], eax
mov dword [ebp - 0xcc], edi
mov eax, dword [0x103d5fc4]
mov dword [ebp - 0xb8], eax
cmp edi, eax
jge 0x100467cb
mov eax, dword [0x103d5fbc]
mov eax, dword [eax + edi*4]
mov ecx, dword [ebp - 0xbc]
sub ecx, dword [eax]
cmp ecx, 0xbb8
ja 0x100467b4
mov eax, dword [0x103d5fb0]
mov eax, dword [eax + edi*4]
mov eax, dword [eax]
add eax, 2
push eax
call dword [sym.imp.MSVCR100.dll_strlen]
pop ecx
test eax, eax
je 0x1004685b
mov eax, dword [0x103d5fb0]
mov eax, dword [eax + edi*4]
mov eax, dword [eax]
lea ecx, [eax + 0x15]
push ecx
movzx ecx, byte [eax + 0x28]
push ecx
add eax, 2
push eax
push 0x10097b84
lea eax, [ebp - 0x80]
push eax
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0x14
xor ebx, ebx
and dword [ebp - 0xc0], ebx
mov eax, dword [0x103d5fa0]
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xc0], eax
jge 0x100465d7
mov esi, dword [ebp - 0xc0]
lea eax, [ebp - 0x80]
push eax
mov eax, dword [0x103d5f98]
push dword [eax + esi*4]
call dword [sym.imp.MSVCR100.dll_strcmp]
pop ecx
pop ecx
test eax, eax
jne 0x100465cf
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x101117d4], eax
mov eax, dword [0x103d5fa4]
mov eax, dword [eax + esi*4]
inc dword [eax]
jmp 0x10046600
inc dword [ebp - 0xc0]
jmp 0x10046587
test ebx, ebx
jne 0x10046600
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x101117d4], eax
lea eax, [ebp - 0x80]
push eax
mov esi, 0x103d5f98
call fcn.100010da
push 1
mov esi, 0x103d5fa4
call fcn.1000117c
mov eax, dword [0x2fb7ac4]
mov dword [ebp - 0xb8], eax
xor esi, esi
inc esi
cmp dword [0x103ca588], esi
jne 0x100467b4
and dword [ebp - 0xc4], ebx
and dword [ebp - 0xb4], ebx
cmp dword [ebp - 0xb4], 7
jge 0x1004667b
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax*4 + 0x2f9b2b0]
test eax, eax
je 0x100466f6
cmp byte [eax + 0x330], bl
je 0x100466f6
mov ecx, dword [0x103d5fb0]
mov ecx, dword [ecx + edi*4]
mov ecx, dword [ecx]
add ecx, 2
push ecx
add eax, 0x338
push eax
call dword [sym.imp.MSVCR100.dll_strcmp]
pop ecx
pop ecx
test eax, eax
jne 0x100466f6
mov dword [ebp - 0xc4], esi
xor esi, esi
mov ebx, dword [sym.imp.MSVCR100.dll_strcmp]
mov eax, dword [0x103d5f7c]
mov dword [ebp - 0xd0], eax
cmp esi, eax
jge 0x100466ba
mov eax, dword [0x103d5fb0]
mov eax, dword [eax + edi*4]
mov eax, dword [eax]
add eax, 2
push eax
mov eax, dword [0x103d5f74]
push dword [eax + esi*4]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x10046701
mov dword [ebp - 0xc4], 1
xor esi, esi
mov eax, dword [0x103d5f70]
mov dword [ebp - 0xd0], eax
cmp esi, eax
jge 0x1004670d
mov eax, dword [0x103d5fb0]
mov eax, dword [eax + edi*4]
mov eax, dword [eax]
add eax, 2
push eax
mov eax, dword [0x103d5f68]
push dword [eax + esi*4]
call ebx
pop ecx
pop ecx
test eax, eax
je 0x100467b4
inc edi
mov dword [ebp - 0xcc], edi
jmp 0x100466bc
inc dword [ebp - 0xb4]
jmp 0x10046626
inc edi
mov dword [ebp - 0xcc], edi
jmp 0x10046683
cmp dword [ebp - 0xc4], esi
jne 0x100467b4
cmp dword [0x103cafec], 1
jne 0x1004674d
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x14]
imul eax, eax, 0x1cc
add eax, 0x333bac5
push eax
mov eax, dword [0x103d5fb0]
mov eax, dword [eax + edi*4]
mov eax, dword [eax]
add eax, 0x15
push eax
call ebx
pop ecx
pop ecx
test eax, eax
je 0x100467cb
cmp dword [0x103ca58c], 1
jne 0x1004677b
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x14]
imul eax, eax, 0x1cc
mov ecx, dword [0x103d5fb0]
mov ecx, dword [ecx + edi*4]
mov ecx, dword [ecx]
mov cl, byte [ecx + 0x27]
cmp cl, byte [eax + 0x333bad7]
je 0x100467cb
mov eax, dword [0x103d5fb0]
mov eax, dword [eax + edi*4]
mov eax, dword [eax]
add eax, 2
push eax
push 0
push 0x180
push dword [0x103ca368]
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [0x103d5fb0]
mov eax, dword [eax + edi*4]
mov eax, dword [eax]
add eax, 2
push eax
mov esi, 0x103d5f68
call fcn.100010da
inc edi
push edi
mov esi, 0x103d5fbc
call fcn.100011d0
push edi
mov esi, 0x103d5fb0
call fcn.100011d0
mov ebx, dword [ebp - 0xbc]
mov eax, ebx
sub eax, dword [0x103d788c]
mov esi, 0xea60
cmp eax, esi
jb 0x100467e8
mov dword [0x103d788c], ebx
mov eax, dword [0x1035eef4]
cmp eax, 1
je 0x100467fc
cmp eax, 2
je 0x100467fc
cmp eax, 3
jne 0x10046801
call fcn.10045f12
cmp dword [0x2fb7ac4], 0
je 0x100464cc
cmp dword [0xe7c5c4], 1
jne 0x10046841
mov edi, 0x1008b890
call fcn.10006ac3
cmp eax, 1
jne 0x10046841
cmp dword [0x34d2968], 0
jle 0x10046841
push 0x10093458
call fcn.1003a9cd
pop ecx
and dword [0xe7c5c4], 0
mov eax, dword [0x2fb7ac4]
cmp dword [0x103c8234], 1
jne 0x10046861
mov dword [eax + 0x2740], 0x10f
jmp 0x1004686b
inc edi
jmp 0x10046504
mov dword [eax + 0x2740], 0xf
mov eax, ebx
sub eax, dword [0x103d77a0]
cmp eax, esi
jb 0x10046882
mov dword [0x103d77a0], ebx
call fcn.1006ff38
cmp dword [0x103c2e24], 1
jne 0x100468b7
mov eax, ebx
sub eax, dword [0x101117e4]
mov ecx, dword [0x103c320c]
imul ecx, ecx, 0x3e8
cmp eax, ecx
jb 0x100468b7
mov eax, dword [0x1011177c]
cmp eax, dword [0x103c3210]
jl 0x100468b7
and dword [0x1011177c], 0
mov eax, dword [0x101117f0]
test eax, eax
je 0x100468d1
sub ebx, eax
cmp ebx, 0x3e8
jb 0x100468d1
and dword [0x101117f0], 0
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
mov edi, eax
xor ebx, ebx
mov eax, dword [0x103c8264]
imul eax, eax, 0xffffd8f0
cdq
sub eax, edx
sar eax, 1
cdq
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], edx
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0xd4]
push eax
push dword [0x10113160]
call dword [sym.imp.KERNEL32.dll_SetWaitableTimer]
push 0xff
push 0xffffffffffffffff
push ebx
push 0x10113160
push 1
call dword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
test eax, eax
je 0x1004695c
push 1
push ebx
push ebx
push ebx
lea eax, [ebp - 0x9c]
push eax
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x10046911
lea eax, [ebp - 0x9c]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x9c]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
jmp 0x1004692a
call esi
sub eax, edi
cmp eax, dword [0x103c8264]
jb 0x100468dd
mov edi, 0x1008b820
call fcn.10006ac3
cmp eax, 1
jne 0x10046a04
cmp dword [0x101117c4], 2
jne 0x1004699b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x10127410]
cmp eax, 0xbb8
jae 0x100469fa
cmp dword [0x103cd660], 1
jne 0x10046a04
xor esi, esi
mov dword [ebp - 0xb0], ebx
mov eax, dword [0x103d5f4c]
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xb0], eax
jge 0x100469e1
push 0x10111114
mov eax, dword [0x103d5f44]
mov ecx, dword [ebp - 0xb0]
push dword [eax + ecx*4]
call dword [sym.imp.MSVCR100.dll_strcmp]
pop ecx
pop ecx
test eax, eax
jne 0x100469ee
xor esi, esi
inc esi
cmp dword [0x103cd710], ebx
jne 0x100469f6
cmp esi, 1
jmp 0x100469f8
inc dword [ebp - 0xb0]
jmp 0x100469ac
cmp esi, ebx
jne 0x10046a04
push ebx
push 3
call fcn.1003d26e
pop ecx
pop ecx
call fcn.1003f133
cmp dword [0x103d1f18], 1
jne 0x10046a53
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x103d7888], eax
cmp byte [0x1035ef1f], 1
jne 0x10046a53
mov ecx, eax
sub ecx, dword [0x103d77a4]
cmp ecx, 0xfa
jb 0x10046a53
mov dword [0x103d77a4], eax
mov ecx, dword [0x100a52a0]
push ebx
cmp ecx, ebx
jge 0x10046a4d
mov ecx, dword [0x103d1f1c]
dec ecx
call fcn.1003a1be
pop ecx
mov edi, dword [ebp - 0xbc]
mov esi, 0x1f4
cmp dword [0x103c7820], 1
jne 0x10046a81
mov eax, edi
sub eax, dword [0x103d7884]
cmp eax, esi
jb 0x10046a81
mov dword [0x103d7884], edi
push 0x28
call fcn.1006d5ce
pop ecx
mov eax, dword [0x2fb7ac4]
cmp dword [eax + 0x2a50], 5
jne 0x10046e11
cmp byte [0x1035ef32], bl
jne 0x10046e11
cmp dword [0x103c781c], 1
jne 0x10046e11
cmp dword [0x103c7830], 1
jne 0x10046e11
mov eax, edi
sub eax, dword [0x103d7880]
cmp eax, esi
jb 0x10046e11
mov eax, dword [0x101117c4]
cmp eax, 2
je 0x10046ae6
cmp eax, 5
je 0x10046ae6
cmp eax, 4
je 0x10046ae6
cmp eax, 6
jne 0x10046e4a
cmp dword [0x103c1884], 1
jne 0x10046b1a
cmp dword [0x2fb7ac4], ebx
je 0x10046b1a
cmp dword [0x34d2968], ebx
jle 0x10046b1a
mov eax, edi
sub eax, dword [0x103d787c]
cmp eax, dword [0x1035ee7c]
jb 0x10046b1a
mov dword [0x103d787c], edi
call fcn.1004093f
cmp dword [0x103c1888], 1
jne 0x10046b3e
mov eax, edi
sub eax, dword [0x103d7878]
cmp eax, dword [0x1035ee80]
jb 0x10046b3e
mov dword [0x103d7878], edi
call fcn.10040c72
mov eax, dword [0x10111c14]
cmp eax, ebx
jle 0x10046b5e
mov ecx, edi
sub ecx, dword [0x10111c10]
cmp ecx, eax
jb 0x10046b5e
mov dword [0x10111c10], edi
call fcn.10041082
mov eax, dword [0x10111c04]
cmp eax, ebx
jle 0x10046b7e
mov ecx, edi
sub ecx, dword [0x10111c00]
cmp ecx, eax
jb 0x10046b7e
mov dword [0x10111c00], edi
call fcn.10068b24
mov eax, dword [0x10111bfc]
cmp eax, ebx
jle 0x10046b9e
mov ecx, edi
sub ecx, dword [0x10111bf8]
cmp ecx, eax
jb 0x10046b9e
mov dword [0x10111bf8], edi
call fcn.1006df57
mov eax, dword [0x10111bf4]
cmp eax, ebx
jle 0x10046bbe
mov ecx, edi
sub ecx, dword [0x10111bf0]
cmp ecx, eax
jb 0x10046bbe
mov dword [0x10111bf0], edi
call fcn.1003ea27
mov eax, dword [0x10111bec]
cmp eax, ebx
jle 0x10046bde
mov ecx, edi
sub ecx, dword [0x10111be8]
cmp ecx, eax
jb 0x10046bde
mov dword [0x10111be8], edi
call fcn.1003f254
mov eax, dword [0x10111be4]
cmp eax, ebx
jle 0x10046bfe
mov ecx, edi
sub ecx, dword [0x10111be0]
cmp ecx, eax
jb 0x10046bfe
mov dword [0x10111be0], edi
call fcn.1003f5de
mov eax, dword [0x10111bdc]
cmp eax, ebx
jle 0x10046c1e
mov ecx, edi
sub ecx, dword [0x10111bd8]
cmp ecx, eax
jb 0x10046c1e
mov dword [0x10111bd8], edi
call fcn.1003f4b4
cmp dword [0x10111bd4], ebx
jle 0x10046c44
mov eax, dword [0x101117c4]
cmp eax, 2
je 0x10046c44
cmp eax, 5
je 0x10046c44
cmp eax, 4
je 0x10046c44
cmp eax, 6
je 0x10046c44
call fcn.10079e69
cmp dword [0x103c2c84], 1
jne 0x10046c94
cmp dword [0x10111c14], ebx
jle 0x10046c94
cmp dword [0x103c2c90], 1
jne 0x10046c94
cmp byte [0x1031ecff], 1
jne 0x10046c94
mov eax, edi
sub eax, dword [0x10111784]
cmp eax, 0xa0
jb 0x10046c94
mov dword [0x10111784], edi
mov ecx, dword [0x100a52a0]
push ebx
cmp ecx, ebx
jge 0x10046c8e
mov ecx, dword [0x103c4450]
dec ecx
call fcn.1003a1be
pop ecx
mov eax, dword [0x10111c0c]
cmp eax, ebx
jle 0x10046cb4
mov ecx, edi
sub ecx, dword [0x10111c08]
cmp ecx, eax
jb 0x10046cb4
mov dword [0x10111c08], edi
call fcn.10041788
cmp dword [0x103ca598], 1
jne 0x10046cea
cmp byte [0x1035ef1f], 1
jne 0x10046cea
mov eax, edi
sub eax, dword [0x10111784]
cmp eax, 0x190
jb 0x10046cea
mov dword [0x10111784], edi
push 0xb
mov ecx, dword [0x103ca59c]
dec ecx
call fcn.1003a1be
pop ecx
cmp dword [0x103c9600], 1
jne 0x10046d16
cmp dword [0x1035eef4], 1
jne 0x10046d16
mov eax, edi
sub eax, dword [0x103d7874]
cmp eax, 0x3e8
jb 0x10046d16
mov dword [0x103d7874], edi
call fcn.1004541f
cmp dword [0x103d192c], 1
jne 0x10046d4d
cmp byte [0x1035ef2a], 1
jne 0x10046d4d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x103d7888], eax
mov ecx, eax
sub ecx, dword [0x103c1434]
cmp ecx, dword [0x100a52a4]
jb 0x10046d4d
mov dword [0x103c1434], eax
call fcn.1007be41
cmp dword [0x103d32e0], 1
jne 0x10046d7a
cmp byte [0x1035ef2a], 1
jne 0x10046d7a
mov eax, edi
sub eax, dword [0x103d7870]
cmp eax, dword [0x103d32e4]
jb 0x10046d7a
mov dword [0x103d7870], edi
call fcn.100206dc
cmp dword [0x103d1a34], 1
jne 0x10046fd4
cmp byte [0x1035ef2a], 1
jne 0x10046fd4
mov eax, edi
sub eax, dword [0x103d786c]
cmp eax, 0x12c
jb 0x10046fd4
mov dword [0x103d786c], edi
mov dword [ebp - 0xc8], ebx
mov esi, dword [0x2fb7ac4]
cmp esi, ebx
je 0x10046fac
mov dword [ebp - 0xac], ebx
cmp dword [ebp - 0xac], 0x36
jge 0x10046fac
mov eax, dword [ebp - 0xac]
shl eax, 5
cmp dword [eax + esi + 0x4af4], ebx
jle 0x10046e09
push dword [ebp - 0xac]
call fcn.1007bf10
pop ecx
cmp al, 1
jne 0x10046e03
cmp dword [0x103d1a28], 1
je 0x10046fc3
inc dword [ebp - 0xc8]
inc dword [ebp - 0xac]
jmp 0x10046dc7
cmp dword [0x2f92a08], 0xa7f9
jne 0x10046ae6
cmp byte [0x1035ef32], bl
jne 0x10046ae6
cmp dword [0x103c781c], 1
jne 0x10046ae6
mov eax, edi
sub eax, dword [0x103d7880]
cmp eax, esi
jb 0x10046ae6
mov dword [0x103d7880], edi
push dword [0x103c7834]
call fcn.100387a5
pop ecx
mov esi, eax
mov dword [0x103c140c], esi
cmp esi, ebx
je 0x10046ae6
cmp dword [0x1035eef4], ebx
jne 0x10046f0b
cmp dword [0x2f92a08], 0xa7f9
jne 0x10046f0b
fld dword [esi]
call fcn.10082ff0
mov dword [0x103c1410], eax
fld dword [esi + 8]
call fcn.10082ff0
mov dword [0x103c1414], eax
mov eax, dword [esi + 0x20]
mov dword [0x103c1418], eax
push fcn.100393e0
push 0x12c
mov eax, dword [0x10113488]
add eax, 0x46
push eax
push dword [0x100ded8c]
call dword [sym.imp.USER32.dll_SetTimer]
mov byte [0x1035ef32], 1
mov byte [0x1035ef23], bl
mov byte [0x1035ef24], bl
mov byte [0x1035ef25], bl
mov dword [0x101117c4], 4
mov byte [0x1035ef10], 1
push ebx
push ebx
push ebx
push ebx
call fcn.100393e0
push 0x100975a0
call fcn.100060fb
pop ecx
jmp 0x100464cc
cmp esi, ebx
je 0x10046ae6
cmp dword [0x1035eef4], 1
jne 0x10046ae6
fld dword [esi]
call fcn.10082ff0
mov dword [0x103c1410], eax
fld dword [esi + 8]
call fcn.10082ff0
mov dword [0x103c1414], eax
mov eax, dword [esi + 0x20]
mov dword [0x103c1418], eax
push fcn.100393e0
push 0x12c
mov eax, dword [0x10113488]
add eax, 0x46
push eax
push dword [0x100ded8c]
call dword [sym.imp.USER32.dll_SetTimer]
xor esi, esi
inc esi
cmp dword [0x103c2d60], esi
jne 0x10046f71
mov dword [0x10111be4], ebx
cmp dword [0x103c2c84], esi
jne 0x10046f7f
mov dword [0x10111c14], ebx
mov eax, dword [0x10113488]
add eax, 0x4d
push eax
push dword [0x100ded8c]
call dword [sym.imp.USER32.dll_KillTimer]
mov dword [0x10111c0c], ebx
mov byte [0x1035ef32], 1
mov dword [0x10111788], esi
jmp 0x10046ecf
cmp dword [0x103d1a2c], 1
jne 0x10046fd4
mov eax, dword [ebp - 0xc8]
cmp eax, dword [0x103d1a38]
jl 0x10046fd4
movzx eax, word [esi + 0x14]
push eax
push 0x100944e4
call fcn.100063b4
pop ecx
pop ecx
cmp dword [0x103d1430], 1
jne 0x10046ffe
cmp byte [0x1035ef2a], 1
jne 0x10046ffe
mov eax, edi
sub eax, dword [0x103d7868]
cmp eax, 0x64
jb 0x10046ffe
mov dword [0x103d7868], edi
call fcn.10077f00
cmp dword [0x103d0f48], ebx
je 0x1004701e
mov eax, edi
sub eax, dword [0x103d7864]
cmp eax, 0x64
jb 0x1004701e
mov dword [0x103d7864], edi
call fcn.10077ff6
cmp dword [0x103c2d58], 1
jne 0x1004707a
cmp byte [0x1035ef17], 1
jne 0x1004706e
cmp dword [0x103c1424], 3
jge 0x1004706e
mov eax, edi
sub eax, dword [0x1035ed8c]
cmp eax, 0x96
jb 0x1004707a
mov ecx, dword [0x100a52a0]
push ebx
cmp ecx, ebx
jge 0x1004705a
mov ecx, dword [0x103c4458]
dec ecx
call fcn.1003a1be
pop ecx
mov dword [0x1035ed8c], edi
inc dword [0x103c1424]
jmp 0x1004707a
mov dword [0x103c1424], ebx
mov byte [0x1035ef17], bl
cmp dword [0x103c8254], 1
jne 0x100464cc
mov eax, edi
sub eax, dword [0x103c1428]
cmp eax, 0x2710
jb 0x100464cc
mov dword [0x103c1428], edi
push 0x28
pop eax
mov dword [ebp - 0xa8], eax
push eax
lea eax, [ebp - 0xa8]
push eax
push dword [0x100df8d4]
call dword [sym.imp.PSAPI.DLL_GetProcessMemoryInfo]
test eax, eax
je 0x100464cc
cmp dword [ebp - 0x9c], 0xa000000
jb 0x100464cc
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_SetProcessWorkingSetSize]
jmp 0x100464cc
mov dword [ebp - 4], 0xfffffffe
call fcn.10083158
ret