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

Disassembly:
push 0xc4
push 0x100a43c0
call fcn.100841c0
xor edi, edi
cmp dword [0x1012fca4], edi
jne 0x10046dfb
push dword [0x1035fee4]
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x10047ac4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xbc], eax
wait
mov dword [ebp - 4], edi
cmp dword [0x1035ff64], edi
jne 0x10046e48
cmp dword [0xf39a68], edi
jne 0x10046e48
push edi
mov eax, 0x1389
push eax
push eax
push dword [0x100dfd8c]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
call esi
push edi
push edi
push 0x2710
mov eax, dword [0x1012fca4]
push dword [eax + 0x20]
call esi
wait
jmp 0x10047abd
push edi
push edi
push 0xfb1
push dword [0x100dfd8c]
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0x2710
je 0x10046e7a
push 0x100350d6
push 0xfffffffffffffffc
push dword [0x100dfd8c]
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov dword [0x1038431c], eax
mov dword [ebp - 0xcc], edi
mov eax, dword [0x103d7240]
mov dword [ebp - 0xb8], eax
cmp edi, eax
jge 0x10047141
mov eax, dword [0x103d7238]
mov eax, dword [eax + edi*4]
mov ecx, dword [ebp - 0xbc]
sub ecx, dword [eax]
cmp ecx, 0xbb8
ja 0x1004712a
mov eax, dword [0x103d722c]
mov eax, dword [eax + edi*4]
mov eax, dword [eax]
add eax, 3
push eax
call dword [sym.imp.MSVCR100.dll_strlen]
pop ecx
test eax, eax
je 0x100471c6
mov eax, dword [0x103d722c]
mov eax, dword [eax + edi*4]
mov eax, dword [eax]
lea ecx, [eax + 0x16]
push ecx
movzx ecx, byte [eax + 0x29]
push ecx
add eax, 3
push eax
push 0x10098ec0
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 [0x103d721c]
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xc0], eax
jge 0x10046f4d
mov esi, dword [ebp - 0xc0]
lea eax, [ebp - 0x80]
push eax
mov eax, dword [0x103d7214]
push dword [eax + esi*4]
call dword [sym.imp.MSVCR100.dll_strcmp]
pop ecx
pop ecx
test eax, eax
jne 0x10046f45
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x101127d4], eax
mov eax, dword [0x103d7220]
mov eax, dword [eax + esi*4]
inc dword [eax]
jmp 0x10046f76
inc dword [ebp - 0xc0]
jmp 0x10046efd
test ebx, ebx
jne 0x10046f76
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x101127d4], eax
lea eax, [ebp - 0x80]
push eax
mov esi, 0x103d7214
call fcn.10001109
push 1
mov esi, 0x103d7220
call fcn.1000117c
mov eax, dword [0x307809c]
mov dword [ebp - 0xb8], eax
xor esi, esi
inc esi
cmp dword [0x103cb700], esi
jne 0x1004712a
and dword [ebp - 0xc4], ebx
and dword [ebp - 0xb4], ebx
cmp dword [ebp - 0xb4], 7
jge 0x10046ff1
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax*4 + 0x305b5c0]
test eax, eax
je 0x1004706c
cmp byte [eax + 0x330], bl
je 0x1004706c
mov ecx, dword [0x103d722c]
mov ecx, dword [ecx + edi*4]
mov ecx, dword [ecx]
add ecx, 3
push ecx
add eax, 0x338
push eax
call dword [sym.imp.MSVCR100.dll_strcmp]
pop ecx
pop ecx
test eax, eax
jne 0x1004706c
mov dword [ebp - 0xc4], esi
xor esi, esi
mov ebx, dword [sym.imp.MSVCR100.dll_strcmp]
mov eax, dword [0x103d71f8]
mov dword [ebp - 0xd0], eax
cmp esi, eax
jge 0x10047030
mov eax, dword [0x103d722c]
mov eax, dword [eax + edi*4]
mov eax, dword [eax]
add eax, 3
push eax
mov eax, dword [0x103d71f0]
push dword [eax + esi*4]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x10047077
mov dword [ebp - 0xc4], 1
xor esi, esi
mov eax, dword [0x103d71ec]
mov dword [ebp - 0xd0], eax
cmp esi, eax
jge 0x10047083
mov eax, dword [0x103d722c]
mov eax, dword [eax + edi*4]
mov eax, dword [eax]
add eax, 3
push eax
mov eax, dword [0x103d71e4]
push dword [eax + esi*4]
call ebx
pop ecx
pop ecx
test eax, eax
je 0x1004712a
inc edi
mov dword [ebp - 0xcc], edi
jmp 0x10047032
inc dword [ebp - 0xb4]
jmp 0x10046f9c
inc edi
mov dword [ebp - 0xcc], edi
jmp 0x10046ff9
cmp dword [ebp - 0xc4], esi
jne 0x1004712a
cmp dword [0x103cc164], 1
jne 0x100470c3
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x14]
imul eax, eax, 0x1cc
add eax, 0x33fc086
push eax
mov eax, dword [0x103d722c]
mov eax, dword [eax + edi*4]
mov eax, dword [eax]
add eax, 0x16
push eax
call ebx
pop ecx
pop ecx
test eax, eax
je 0x10047141
cmp dword [0x103cb704], 1
jne 0x100470f1
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x14]
imul eax, eax, 0x1cc
mov ecx, dword [0x103d722c]
mov ecx, dword [ecx + edi*4]
mov ecx, dword [ecx]
mov cl, byte [ecx + 0x28]
cmp cl, byte [eax + 0x33fc098]
je 0x10047141
mov eax, dword [0x103d722c]
mov eax, dword [eax + edi*4]
mov eax, dword [eax]
add eax, 3
push eax
push 0
push 0x180
push dword [0x103cb4e0]
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [0x103d722c]
mov eax, dword [eax + edi*4]
mov eax, dword [eax]
add eax, 3
push eax
mov esi, 0x103d71e4
call fcn.10001109
inc edi
push edi
mov esi, 0x103d7238
call fcn.100011d0
push edi
mov esi, 0x103d722c
call fcn.100011d0
mov esi, dword [ebp - 0xbc]
mov eax, esi
sub eax, dword [0x103d8b30]
mov ebx, 0xea60
cmp eax, ebx
jb 0x1004716b
mov dword [0x103d8b30], esi
push 0
mov edi, 0x10099550
call fcn.1003bc30
pop ecx
mov eax, dword [0x1035fef4]
cmp eax, 1
je 0x1004717f
cmp eax, 2
je 0x1004717f
cmp eax, 3
jne 0x10047184
call fcn.10046887
cmp dword [0x307809c], 0
je 0x10046e42
cmp dword [0xf39100], 1
jne 0x100471cc
mov edi, 0x1008c88c
call fcn.10006aa3
cmp eax, 1
jne 0x100471cc
xor edi, edi
cmp dword [0x3592ee8], edi
jle 0x100471ce
push 0x10094478
call fcn.1003b192
pop ecx
mov dword [0xf39100], edi
jmp 0x100471ce
inc edi
jmp 0x10046e7a
xor edi, edi
mov eax, dword [0x307809c]
cmp dword [0x103c92bc], 1
jne 0x100471e8
mov dword [eax + 0x2750], 0x10f
jmp 0x100471f2
mov dword [eax + 0x2750], 0xf
mov eax, esi
sub eax, dword [0x103d8a40]
cmp eax, ebx
jb 0x10047209
mov dword [0x103d8a40], esi
call fcn.10070c3f
cmp dword [0x103c3eac], 1
jne 0x1004723d
mov eax, esi
sub eax, dword [0x101127dc]
mov ecx, dword [0x103c4294]
imul ecx, ecx, 0x3e8
cmp eax, ecx
jb 0x1004723d
mov eax, dword [0x1011277c]
cmp eax, dword [0x103c4298]
jl 0x1004723d
mov dword [0x1011277c], edi
mov eax, dword [0x101127e0]
cmp eax, edi
je 0x10047256
sub esi, eax
cmp esi, 0x3e8
jb 0x10047256
mov dword [0x101127e0], edi
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
mov ebx, eax
mov eax, dword [0x103c92ec]
imul eax, eax, 0xffffd8f0
cdq
sub eax, edx
sar eax, 1
cdq
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], edx
push edi
push edi
push edi
push edi
lea eax, [ebp - 0xd4]
push eax
push dword [0x10113e5c]
call dword [sym.imp.KERNEL32.dll_SetWaitableTimer]
push 0xff
push 0xffffffffffffffff
push edi
push 0x10113e5c
push 1
call dword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
test eax, eax
je 0x100472df
push 1
push edi
push edi
push edi
lea eax, [ebp - 0x9c]
push eax
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x10047294
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 0x100472ad
call esi
sub eax, ebx
cmp eax, dword [0x103c92ec]
jb 0x10047260
mov edi, 0x1008c81c
call fcn.10006aa3
cmp eax, 1
jne 0x1004738f
cmp dword [0x101127c4], 2
jne 0x10047322
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x101283fc]
cmp eax, 0xbb8
jb 0x10047322
xor ebx, ebx
jmp 0x10047377
xor ebx, ebx
cmp dword [0x103ce7d8], 1
jne 0x10047391
xor esi, esi
mov dword [ebp - 0xb0], ebx
mov eax, dword [0x103d71c8]
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xb0], eax
jge 0x1004736a
push 0x10112114
mov eax, dword [0x103d71c0]
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 0x10047383
xor esi, esi
inc esi
cmp dword [0x103ce888], ebx
jne 0x1004738b
cmp esi, 1
jne 0x10047391
push ebx
push 3
call fcn.1003dab2
pop ecx
pop ecx
jmp 0x10047391
inc dword [ebp - 0xb0]
jmp 0x10047335
cmp esi, ebx
jmp 0x10047375
xor ebx, ebx
call fcn.1003f99a
cmp dword [0x103d30f8], 1
jne 0x100473e0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x103d8b2c], eax
cmp dword [0x1035ff68], 1
jne 0x100473e0
mov ecx, eax
sub ecx, dword [0x103d8a44]
cmp ecx, 0xfa
jb 0x100473e0
mov dword [0x103d8a44], eax
mov ecx, dword [0x100a62a0]
push ebx
cmp ecx, ebx
jge 0x100473da
mov ecx, dword [0x103d30fc]
dec ecx
call fcn.1003a960
pop ecx
mov edi, dword [ebp - 0xbc]
mov esi, 0x1f4
cmp dword [0x103c88a8], 1
jne 0x1004740e
mov eax, edi
sub eax, dword [0x103d8b28]
cmp eax, esi
jb 0x1004740e
mov dword [0x103d8b28], edi
push 0x28
call fcn.1006e2c8
pop ecx
mov eax, dword [0x307809c]
cmp dword [eax + 0x2a60], 5
jne 0x1004779e
cmp dword [0x1035ffb4], ebx
jne 0x1004779e
cmp dword [0x103c88a4], 1
jne 0x1004779e
cmp dword [0x103c88b8], 1
jne 0x1004779e
mov eax, edi
sub eax, dword [0x103d8b24]
cmp eax, esi
jb 0x1004779e
mov eax, dword [0x101127c4]
cmp eax, 2
je 0x10047473
cmp eax, 5
je 0x10047473
cmp eax, 4
je 0x10047473
cmp eax, 6
jne 0x100477d7
cmp dword [0x103c290c], 1
jne 0x100474a7
cmp dword [0x307809c], ebx
je 0x100474a7
cmp dword [0x3592ee8], ebx
jle 0x100474a7
mov eax, edi
sub eax, dword [0x103d8b20]
cmp eax, dword [0x1035fe7c]
jb 0x100474a7
mov dword [0x103d8b20], edi
call fcn.100411cc
cmp dword [0x103c2910], 1
jne 0x100474cb
mov eax, edi
sub eax, dword [0x103d8b1c]
cmp eax, dword [0x1035fe80]
jb 0x100474cb
mov dword [0x103d8b1c], edi
call fcn.100414ff
mov eax, dword [0x10112c04]
cmp eax, ebx
jle 0x100474eb
mov ecx, edi
sub ecx, dword [0x10112c00]
cmp ecx, eax
jb 0x100474eb
mov dword [0x10112c00], edi
call fcn.1004190f
mov eax, dword [0x10112bf4]
cmp eax, ebx
jle 0x1004750b
mov ecx, edi
sub ecx, dword [0x10112bf0]
cmp ecx, eax
jb 0x1004750b
mov dword [0x10112bf0], edi
call fcn.100697b8
mov eax, dword [0x10112bec]
cmp eax, ebx
jle 0x1004752b
mov ecx, edi
sub ecx, dword [0x10112be8]
cmp ecx, eax
jb 0x1004752b
mov dword [0x10112be8], edi
call fcn.1006ec51
mov eax, dword [0x10112be4]
cmp eax, ebx
jle 0x1004754b
mov ecx, edi
sub ecx, dword [0x10112be0]
cmp ecx, eax
jb 0x1004754b
mov dword [0x10112be0], edi
call fcn.1003f288
mov eax, dword [0x10112bdc]
cmp eax, ebx
jle 0x1004756b
mov ecx, edi
sub ecx, dword [0x10112bd8]
cmp ecx, eax
jb 0x1004756b
mov dword [0x10112bd8], edi
call fcn.1003faba
mov eax, dword [0x10112bd4]
cmp eax, ebx
jle 0x1004758b
mov ecx, edi
sub ecx, dword [0x10112bd0]
cmp ecx, eax
jb 0x1004758b
mov dword [0x10112bd0], edi
call fcn.1003fe6e
mov eax, dword [0x10112bcc]
cmp eax, ebx
jle 0x100475ab
mov ecx, edi
sub ecx, dword [0x10112bc8]
cmp ecx, eax
jb 0x100475ab
mov dword [0x10112bc8], edi
call fcn.1003fd1a
cmp dword [0x10112bc4], ebx
jle 0x100475d1
mov eax, dword [0x101127c4]
cmp eax, 2
je 0x100475d1
cmp eax, 5
je 0x100475d1
cmp eax, 4
je 0x100475d1
cmp eax, 6
je 0x100475d1
call fcn.1007ad81
cmp dword [0x103c3d0c], 1
jne 0x10047621
cmp dword [0x10112c04], ebx
jle 0x10047621
cmp dword [0x103c3d18], 1
jne 0x10047621
cmp dword [0x1035ff18], 1
jne 0x10047621
mov eax, edi
sub eax, dword [0x10112784]
cmp eax, 0xa0
jb 0x10047621
mov dword [0x10112784], edi
mov ecx, dword [0x100a62a0]
push ebx
cmp ecx, ebx
jge 0x1004761b
mov ecx, dword [0x103c54d8]
dec ecx
call fcn.1003a960
pop ecx
mov eax, dword [0x10112bfc]
cmp eax, ebx
jle 0x10047641
mov ecx, edi
sub ecx, dword [0x10112bf8]
cmp ecx, eax
jb 0x10047641
mov dword [0x10112bf8], edi
call fcn.1004201b
cmp dword [0x103cb710], 1
jne 0x10047677
cmp dword [0x1035ff68], 1
jne 0x10047677
mov eax, edi
sub eax, dword [0x10112784]
cmp eax, 0x190
jb 0x10047677
mov dword [0x10112784], edi
push 0xb
mov ecx, dword [0x103cb714]
dec ecx
call fcn.1003a960
pop ecx
cmp dword [0x103ca688], 1
jne 0x100476a3
cmp dword [0x1035fef4], 1
jne 0x100476a3
mov eax, edi
sub eax, dword [0x103d8b18]
cmp eax, 0x3e8
jb 0x100476a3
mov dword [0x103d8b18], edi
call fcn.10045d74
cmp dword [0x103d2b0c], 1
jne 0x100476da
cmp dword [0x1035ff94], 1
jne 0x100476da
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x103d8b2c], eax
mov ecx, eax
sub ecx, dword [0x103c24bc]
cmp ecx, dword [0x100a62a4]
jb 0x100476da
mov dword [0x103c24bc], eax
call fcn.1007cd38
cmp dword [0x103d4558], 1
jne 0x10047707
cmp dword [0x1035ff94], 1
jne 0x10047707
mov eax, edi
sub eax, dword [0x103d8b14]
cmp eax, dword [0x103d455c]
jb 0x10047707
mov dword [0x103d8b14], edi
call fcn.10020824
cmp dword [0x103d2c14], 1
jne 0x10047981
cmp dword [0x1035ff94], 1
jne 0x10047981
mov eax, edi
sub eax, dword [0x103d8b10]
cmp eax, 0x12c
jb 0x10047981
mov dword [0x103d8b10], edi
mov dword [ebp - 0xc8], ebx
mov esi, dword [0x307809c]
cmp esi, ebx
je 0x10047959
mov dword [ebp - 0xac], ebx
cmp dword [ebp - 0xac], 0x36
jge 0x10047959
mov eax, dword [ebp - 0xac]
shl eax, 5
cmp dword [eax + esi + 0x4b08], ebx
jle 0x10047796
push dword [ebp - 0xac]
call fcn.1007ce04
pop ecx
cmp al, 1
jne 0x10047790
cmp dword [0x103d2c08], 1
je 0x10047970
inc dword [ebp - 0xc8]
inc dword [ebp - 0xac]
jmp 0x10047754
cmp dword [0x3052d08], 0xa7f9
jne 0x10047473
cmp dword [0x1035ffb4], ebx
jne 0x10047473
cmp dword [0x103c88a4], 1
jne 0x10047473
mov eax, edi
sub eax, dword [0x103d8b24]
cmp eax, esi
jb 0x10047473
mov dword [0x103d8b24], edi
push dword [0x103c88bc]
call fcn.10038f5c
pop ecx
mov esi, eax
mov dword [0x103c2494], esi
cmp esi, ebx
je 0x10047473
cmp dword [0x1035fef4], ebx
jne 0x10047897
cmp dword [0x3052d08], 0xa7f9
jne 0x10047897
fld dword [esi]
call fcn.100840a0
mov dword [0x103c2498], eax
fld dword [esi + 8]
call fcn.100840a0
mov dword [0x103c249c], eax
mov eax, dword [esi + 0x20]
mov dword [0x103c24a0], eax
push fcn.10039b97
push 0x12c
mov eax, dword [0x10114474]
add eax, 0x46
push eax
push dword [0x100dfd8c]
call dword [sym.imp.USER32.dll_SetTimer]
xor eax, eax
inc eax
mov dword [0x1035ffb4], eax
mov dword [0x1035ff78], ebx
mov dword [0x1035ff7c], ebx
mov dword [0x1035ff80], ebx
mov dword [0x101127c4], 4
mov dword [0x1035ff2c], eax
push ebx
push ebx
push ebx
push ebx
call fcn.10039b97
push 0x100988cc
call fcn.100060db
pop ecx
jmp 0x10046e42
cmp esi, ebx
je 0x10047473
cmp dword [0x1035fef4], 1
jne 0x10047473
fld dword [esi]
call fcn.100840a0
mov dword [0x103c2498], eax
fld dword [esi + 8]
call fcn.100840a0
mov dword [0x103c249c], eax
mov eax, dword [esi + 0x20]
mov dword [0x103c24a0], eax
push fcn.10039b97
push 0x12c
mov eax, dword [0x10114474]
add eax, 0x46
push eax
push dword [0x100dfd8c]
call dword [sym.imp.USER32.dll_SetTimer]
xor esi, esi
inc esi
cmp dword [0x103c3de8], esi
jne 0x100478fd
mov dword [0x10112bd4], ebx
cmp dword [0x103c3d0c], esi
jne 0x1004790b
mov dword [0x10112c04], ebx
mov eax, dword [0x10114474]
add eax, 0x4d
push eax
push dword [0x100dfd8c]
call dword [sym.imp.USER32.dll_KillTimer]
mov dword [0x10112bfc], ebx
mov dword [0x1035ffb4], esi
mov dword [0x10112788], esi
mov dword [0x1035ff78], ebx
mov dword [0x1035ff7c], ebx
mov dword [0x1035ff80], ebx
mov dword [0x101127c4], 4
mov dword [0x1035ff2c], esi
jmp 0x1004787e
cmp dword [0x103d2c0c], 1
jne 0x10047981
mov eax, dword [ebp - 0xc8]
cmp eax, dword [0x103d2c18]
jl 0x10047981
movzx eax, word [esi + 0x14]
push eax
push 0x10095554
call fcn.10006394
pop ecx
pop ecx
cmp dword [0x103d2610], 1
jne 0x100479ab
cmp dword [0x1035ff94], 1
jne 0x100479ab
mov eax, edi
sub eax, dword [0x103d8b0c]
cmp eax, 0x64
jb 0x100479ab
mov dword [0x103d8b0c], edi
call fcn.10078c26
cmp dword [0x103d20c0], ebx
je 0x100479cb
mov eax, edi
sub eax, dword [0x103d8b08]
cmp eax, 0x64
jb 0x100479cb
mov dword [0x103d8b08], edi
call fcn.10078d1b
cmp dword [0x103c3de0], 1
jne 0x10047a27
cmp dword [0x1035ff48], 1
jne 0x10047a1b
cmp dword [0x103c24ac], 3
jge 0x10047a1b
mov eax, edi
sub eax, dword [0x1035fd8c]
cmp eax, 0x96
jb 0x10047a27
mov ecx, dword [0x100a62a0]
push ebx
cmp ecx, ebx
jge 0x10047a07
mov ecx, dword [0x103c54e0]
dec ecx
call fcn.1003a960
pop ecx
mov dword [0x1035fd8c], edi
inc dword [0x103c24ac]
jmp 0x10047a27
mov dword [0x103c24ac], ebx
mov dword [0x1035ff48], ebx
cmp dword [0x103c92dc], 1
jne 0x10046e42
mov eax, edi
sub eax, dword [0x103c24b0]
cmp eax, 0x2710
jb 0x10046e42
mov dword [0x103c24b0], edi
push 0x28
pop eax
mov dword [ebp - 0xa8], eax
push eax
lea eax, [ebp - 0xa8]
push eax
push dword [0x100e08d4]
call dword [sym.imp.PSAPI.DLL_GetProcessMemoryInfo]
test eax, eax
je 0x10046e42
cmp dword [ebp - 0x9c], 0xa000000
jb 0x10046e42
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_SetProcessWorkingSetSize]
jmp 0x10046e42
mov dword [ebp - 4], 0xfffffffe
call fcn.10084208
ret