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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x110
mov eax, dword [0x30179bc4]
and dword [ebp - 0x10], 0
mov dword [ebp - 0x30], eax
mov eax, dword [0x3017e4d0]
push ebx
cmp dword [eax + 4], 2
push esi
push edi
jne 0x3010434b
call fcn.30026435
mov dword [0x3017f8dc], eax
call fcn.3007e33b
call fcn.3000395f
mov esi, dword [ebp + 0xc]
mov edi, dword [sym.imp.USER32.dll_PtInRect]
mov ebx, 0x4000
cmp dword [0x30179bc4], ebx
mov dword [ebp - 0xc], eax
je 0x3010400d
mov eax, dword [0x3017f804]
add eax, 0xf8
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.3000cbfe
push dword [esi + 4]
lea eax, [ebp - 0x4c]
push dword [esi]
push eax
call edi
test eax, eax
je 0x3010434b
push dword [0x3017f3f0]
call fcn.300064ef
test eax, eax
je 0x3010434b
mov eax, dword [0x3017f3f0]
test byte [eax + 0x28], 8
jne 0x3010434b
mov eax, dword [0x3017dca0]
test byte [eax + 0xc0], 0x10
je 0x30104054
call fcn.300c4b04
mov eax, dword [0x3017dca0]
test byte [eax + 0xc0], 0x10
jne 0x3010434b
call fcn.300b1f71
test eax, eax
jne 0x30104078
push dword [0x3017f3f0]
call fcn.30156578
push dword [0x3017f3f0]
call fcn.30013890
call fcn.30025fdd
call fcn.300b23d7
mov eax, dword [esi]
cmp dword [0x3017d604], 0
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x14], eax
je 0x301040fb
cmp dword [0x3017dedc], 0
je 0x301040fb
push eax
push dword [esi]
push 0x3017dec0
call edi
test eax, eax
je 0x301040ef
cmp dword [ebp + 0x10], 0x204
je 0x301040e0
call fcn.3008dd4f
push 0
push 0
lea eax, [ebp - 0x18]
push eax
push 0x201
push dword [0x3017dedc]
call fcn.3015c2bb
call fcn.3008dd5d
cmp dword [ebp + 0x10], 0x204
jne 0x3010434b
push 0
push dword [ebp + 0xc]
call fcn.301047b0
jmp 0x3010434b
call fcn.3008e689
mov dword [ebp - 0x10], 1
mov eax, dword [ebp + 0xc]
push 0
mov edi, dword [eax]
mov esi, dword [eax + 4]
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], esi
call fcn.300a6d6d
cmp dword [ebp - 0x30], ebx
mov dword [ebp - 0x28], eax
jne 0x30104228
cmp dword [ebp + 0x10], 0x204
je 0x30104228
lea eax, [ebp - 4]
push eax
push dword [ebp + 0x10]
mov dword [0x3017f4c8], edi
mov dword [0x3017f4cc], esi
call fcn.30103ed8
cmp dword [ebp - 4], 0
je 0x30104159
call fcn.300d4d41
test eax, eax
jne 0x3010418f
call fcn.300d4d0f
test eax, eax
jne 0x3010418f
call fcn.300d46de
test eax, eax
je 0x30104171
push dword [0x3017e788]
call fcn.30103e09
test eax, eax
jne 0x3010418f
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.30103f3b
test eax, eax
jne 0x3010434b
push 1
pop ebx
mov dword [0x3017f8e0], ebx
jmp 0x30104192
push 1
pop ebx
push ebx
call fcn.30003638
push ebx
call fcn.3000355d
mov edi, eax
mov eax, dword [0x3017f804]
mov dword [ebp - 8], edi
mov eax, dword [eax + 0x148c]
cmp word [eax + 2], 2
ja 0x301042a0
call fcn.300d4d0f
test eax, eax
je 0x301042a0
xor esi, esi
cmp dword [ebp - 4], esi
je 0x301042a2
call fcn.300641be
mov dword [0x30179320], ebx
mov dword [0x3017fa10], ebx
call fcn.300c5bd7
test eax, eax
je 0x301041f8
cmp edi, 4
jne 0x30104263
push 0x3c
push esi
call fcn.3005f07a
cmp edi, 4
mov dword [0x3017f8e0], esi
jne 0x3010426c
push dword [ebp + 0x10]
push dword [0x3017f4cc]
push dword [0x3017f4c8]
call fcn.3014867c
mov dword [0x3017fa10], esi
mov dword [0x30179320], esi
jmp 0x301040d3
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.30103f3b
test eax, eax
jne 0x3010434b
lea eax, [ebp - 4]
push eax
push dword [ebp + 0x10]
mov dword [0x3017f4c8], edi
mov dword [0x3017f4cc], esi
call fcn.30103ed8
test eax, eax
jne 0x30104184
push 1
pop ebx
jmp 0x30104413
push 0x110
push 0xffffffffffffffff
jmp 0x301041f3
push ebx
push 0x3006b
push 5
call fcn.3002319e
push fcn.30069df9
push dword [ebp + 0x10]
push dword [0x3017f4cc]
push dword [0x3017f4c8]
push ebx
call fcn.30148275
push ebx
push 5
call fcn.3002602f
jmp 0x30104217
xor esi, esi
call fcn.300d46de
test eax, eax
je 0x301042e3
push dword [0x3017e788]
call fcn.30103e09
test eax, eax
je 0x30104410
push fcn.30069df9
push dword [ebp + 0x10]
mov dword [0x3017f8e0], esi
push dword [0x3017f4cc]
push dword [0x3017f4c8]
push ebx
call fcn.30148275
jmp 0x301040d3
cmp dword [ebp - 0x10], esi
jne 0x30104380
cmp edi, 0xb
jl 0x30104380
cmp edi, 0x13
jg 0x30104380
cmp edi, 0x12
je 0x30104380
cmp edi, 0x11
je 0x30104380
push dword [0x3017f4cc]
push dword [0x3017f4c8]
call fcn.3010394b
test eax, eax
je 0x30104380
call fcn.30105615
test eax, eax
je 0x30104352
mov eax, dword [0x3017f804]
mov eax, dword [eax + 0x148c]
cmp word [eax + 2], 2
ja 0x30104345
call fcn.300d4d41
test eax, eax
jne 0x301043e8
mov dword [0x3017f8e0], esi
pop edi
pop esi
pop ebx
leave
ret 0xc
cmp dword [0x3017e50c], esi
mov dword [0x3017f8e0], esi
jne 0x30104377
push esi
call fcn.30025153
test eax, eax
jne 0x3010434b
push dword [ebp - 0x14]
push dword [ebp - 0x18]
call fcn.3008e5bc
jmp 0x3010434b
push 0x30
call fcn.30095e85
jmp 0x3010434b
mov eax, dword [0x3017f804]
mov eax, dword [eax + 0x148c]
cmp word [eax + 2], 2
ja 0x30104572
call fcn.300d4d41
test eax, eax
je 0x30104572
push dword [0x3017f4cc]
push dword [0x3017f4c8]
call fcn.3010394b
test eax, eax
je 0x30104572
push dword [0x3017f4cc]
push dword [0x3017f4c8]
call fcn.30104719
test eax, eax
je 0x30104572
cmp edi, ebx
je 0x301043dd
cmp edi, esi
jne 0x301043e8
call fcn.30105615
test eax, eax
je 0x30104413
xor esi, esi
push dword [ebp + 0x10]
mov dword [0x3017f8e0], esi
push dword [0x3017f4cc]
push dword [0x3017f4c8]
call fcn.3014806d
test eax, eax
jne 0x301040d3
mov dword [0x3017f8e0], ebx
mov dword [ebp - 4], esi
call fcn.30009445
test eax, eax
jne 0x301045c2
push ebx
call fcn.30003638
mov dword [ebp - 0x24], eax
push ebx
call fcn.3000355d
mov dword [ebp - 8], eax
push ebx
call fcn.30013360
mov dword [ebp - 0x1c], eax
push ebx
call fcn.300035e3
xor esi, esi
cmp dword [ebp - 4], esi
mov dword [ebp - 0x34], eax
je 0x301045ce
push ebx
push 4
call fcn.300d8916
push ebx
push 0xfffffffffffffffe
call fcn.300d8937
push ebx
push 0xfffffffffffffffe
call fcn.300d8958
push ebx
push dword [0x3017e4ec]
call fcn.300d8979
mov eax, dword [0x3017f804]
mov eax, dword [eax + 0x148c]
lea ecx, [eax + 0x168]
push ecx
add eax, 0xc
push eax
call fcn.300d8abe
test eax, eax
je 0x3010452e
call dword [sym.imp.USER32.dll_GetDoubleClickTime]
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
mov edi, eax
shr edi, 4
push 0x24
call esi
mov dword [ebp - 0x20], eax
push 0x25
call esi
add dword [ebp - 0xc], edi
mov esi, eax
push 7
lea eax, [ebp - 0x90]
push eax
call fcn.30002ba4
test eax, eax
je 0x30104524
cmp dword [ebp - 0x90], 0x202
je 0x30104516
cmp dword [ebp - 0x90], 0x200
jne 0x3010460d
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
sub eax, dword [ebp - 0x8c]
push eax
call fcn.300072f9
cmp eax, dword [ebp - 0x20]
jg 0x3010460d
mov eax, dword [edi + 4]
sub eax, dword [ebp - 0x88]
push eax
call fcn.300072f9
cmp eax, esi
jg 0x3010460d
push 7
lea eax, [ebp - 0x90]
push eax
call fcn.30002d5a
call fcn.3000395f
cmp eax, dword [ebp - 0xc]
jle 0x301044b7
mov esi, 0x204
cmp dword [ebp + 0x10], esi
jne 0x30104630
mov eax, dword [0x3017f804]
mov eax, dword [eax + 0x148c]
lea ecx, [eax + 0x168]
push ecx
add eax, 0xc
push eax
call fcn.300d8abe
test eax, eax
je 0x30104630
and dword [0x3017f8e0], 0
and dword [0x3017f8f4], 0
jmp 0x301040d3
cmp dword [ebp - 4], esi
je 0x30104413
mov eax, dword [0x3017f804]
mov eax, dword [eax + 0x148c]
cmp word [eax + 2], 2
ja 0x30104410
call fcn.300d4d41
test eax, eax
jne 0x301045a7
call fcn.300d4d0f
test eax, eax
je 0x30104410
cmp dword [ebp - 4], esi
je 0x30104413
cmp edi, 3
je 0x30104413
cmp edi, 2
je 0x30104413
and dword [0x3017f8e0], 0
jmp 0x301040d3
push 0xfffffffffffffffe
push 0xfffffffffffffffe
push 0xffffffffffffffff
push esi
call fcn.300152cf
lea eax, [ebp - 0xd0]
push esi
mov dword [0x3017e344], eax
lea eax, [ebp - 0xd0]
mov dword [0x3017f8f4], ebx
push eax
call fcn.30001d18
pop ecx
test eax, eax
pop ecx
jne 0x30104603
call fcn.301047f3
call fcn.300a9385
jmp 0x30104473
cmp dword [ebp - 0x90], 0x203
jne 0x3010452e
and dword [0x3017f8e0], 0
and dword [0x3017f8f4], 0
jmp 0x3010434b
test byte [0x3017d031], 1
je 0x3010463e
call fcn.300d87d4
push dword [ebp - 0x24]
push dword [ebp - 0x34]
push dword [ebp - 0x1c]
push dword [ebp - 8]
call fcn.30104ea9
test eax, eax
jne 0x30104699
push eax
call fcn.300a6d6d
cmp eax, dword [ebp - 0x28]
je 0x30104699
mov eax, dword [0x3017f120]
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x110]
push 0
mov dword [0x3017f120], eax
lea eax, [ebp - 0x110]
push eax
call fcn.30001d18
pop ecx
test eax, eax
pop ecx
jne 0x30104691
call fcn.30006a2e
push 0
call fcn.30006a2f
mov eax, dword [ebp - 0x2c]
mov dword [0x3017f120], eax
cmp dword [ebp + 0x10], esi
je 0x301040d3
call fcn.30157f3b
test eax, eax
je 0x301040d3
mov eax, dword [0x3017f804]
mov eax, dword [eax + 0x148c]
cmp word [eax + 2], 2
ja 0x301040d3
push ebx
call fcn.3000355d
mov esi, eax
call fcn.300d4d41
test eax, eax
je 0x301040d3
push dword [0x3017f4cc]
push dword [0x3017f4c8]
call fcn.30104719
test eax, eax
je 0x301040d3
test esi, esi
jne 0x30104700
cmp dword [ebp - 8], esi
jne 0x301040d3
push dword [ebp + 0x10]
push dword [0x3017f4cc]
push dword [0x3017f4c8]
call fcn.3014806d
jmp 0x301040d3