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

Disassembly:
mov eax, 0x12086b89
call fcn.12055780
sub esp, 0x90
mov eax, dword [0x120bc660]
and byte [ebp - 0x11], 0
push ebx
push esi
push edi
xor edi, edi
mov esi, ecx
cmp eax, edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x50], edi
je 0x120058a5
lea ecx, [eax + 0x1c]
cmp ecx, edi
je 0x120058a5
call fcn.1201a974
test al, al
je 0x120058a5
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
call ebx
cmp dword [esi + 0x20], edi
mov dword [ebp - 0x58], eax
mov dword [ebp - 4], edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x2c], edi
je 0x120057ca
mov byte [ebp - 4], 1
mov dword [ebp - 0x24], edi
jne 0x120052f5
push 0x80004003
call fcn.120688f0
mov eax, dword [esi + 0x20]
lea edx, [ebp - 0x24]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
cmp eax, edi
mov eax, dword [ebp - 0x24]
jl 0x120057bc
cmp eax, edi
je 0x120057bc
lea edx, [ebp - 0x3c]
mov dword [ebp - 0x3c], edi
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x24]
call ebx
sub eax, dword [ebp - 0x58]
cmp eax, 0x7d0
jbe 0x12005377
mov ecx, dword [0x120b3180]
mov dword [ebp - 0x20], ecx
push dword [ebp + 0x10]
mov byte [ebp - 4], 2
push dword [ebp - 0x3c]
push eax
lea eax, [ebp - 0x20]
push str.SearchForBanners:_get_images___get_length___took__d_ms_for__d_images_at__s.
push eax
call fcn.1206c497
add esp, 0x14
lea eax, [ebp - 0x20]
push eax
push 5
push 0x288
push 0x120a95e8
call fcn.12012ffa
add esp, 0x10
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 1
call fcn.1207396a
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x50], eax
mov esi, dword [ebp - 0x34]
cmp esi, dword [ebp - 0x3c]
jge 0x120057b9
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, eax
mov dword [ebp - 0x30], edi
push 3
push esi
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 3
call fcn.1200698e
lea eax, [ebp - 0x7c]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [ebp - 0x30]
mov byte [ebp - 4], 5
cmp eax, edi
je 0x120053c1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea esi, [ebp - 0x7c]
lea edi, [ebp - 0x8c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [ebp - 0x6c]
lea edi, [ebp - 0x9c]
movsd dword es:[edi], dword [esi]
and dword [ebp - 0x30], 0
cmp dword [ebp - 0x24], 0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jne 0x120053ef
push 0x80004003
call fcn.120688f0
lea edx, [ebp - 0x30]
lea esi, [ebp - 0x8c]
push edx
mov eax, dword [ebp - 0x24]
sub esp, 0x10
mov edi, esp
sub esp, 0x10
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [ebp - 0x9c]
mov edi, esp
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x2c]
xor edi, edi
cmp eax, edi
jl 0x12005770
cmp dword [ebp - 0x30], edi
mov byte [ebp - 4], 6
mov dword [ebp - 0x18], edi
jne 0x1200543a
push 0x80004003
call fcn.120688f0
mov eax, dword [ebp - 0x30]
lea edx, [ebp - 0x18]
push edx
push 0x120a95d8
mov ecx, dword [eax]
push eax
call dword [ecx]
mov esi, eax
cmp esi, edi
jl 0x12005709
cmp dword [ebp - 0x18], edi
jne 0x12005464
push 0x80004003
call fcn.120688f0
mov eax, dword [ebp - 0x18]
lea edx, [ebp - 0x28]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
cmp dword [ebp - 0x18], edi
jne 0x12005483
push 0x80004003
call fcn.120688f0
mov eax, dword [ebp - 0x18]
lea edx, [ebp - 0x2c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0xd0]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, ebx
mov esi, eax
cmp esi, 0x7d0
jbe 0x1200553d
cmp dword [ebp - 0x18], edi
mov dword [ebp - 0x38], edi
jne 0x120054bb
push 0x80004003
call fcn.120688f0
mov eax, dword [ebp - 0x18]
lea edx, [ebp - 0x38]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x70]
push edi
lea ecx, [ebp - 0x48]
push dword [ebp - 0x38]
call fcn.120068ef
mov eax, dword [0x120b3180]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x48]
mov byte [ebp - 4], 8
cmp ecx, edi
je 0x120054ee
call fcn.12002c54
jmp 0x120054f0
xor eax, eax
push eax
push esi
push dword [ebp - 0x34]
lea eax, [ebp - 0x1c]
push str.SearchForBanners:_Image__d_query_took__d_ms__src_s.
push eax
call fcn.1206c497
add esp, 0x14
lea eax, [ebp - 0x1c]
push eax
push 5
push 0x2a1
push 0x120a95e8
call fcn.12012ffa
add esp, 0x10
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 7
call fcn.1207396a
mov ecx, dword [ebp - 0x48]
mov byte [ebp - 4], 6
cmp ecx, edi
je 0x1200553d
call fcn.12002c27
mov dword [ebp - 0x48], edi
push dword [ebp - 0x2c]
mov ecx, dword [ebp + 8]
push dword [ebp - 0x28]
call fcn.12006e4e
test al, al
je 0x1200575f
push dword [ebp - 0x2c]
mov ecx, dword [ebp + 0xc]
push dword [ebp - 0x28]
call fcn.120075b9
test al, al
je 0x1200575f
cmp dword [ebp - 0x18], edi
mov dword [ebp - 0x38], edi
jne 0x1200557b
push 0x80004003
call fcn.120688f0
mov eax, dword [ebp - 0x18]
lea edx, [ebp - 0x38]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x44]
push edi
lea ecx, [ebp - 0x20]
push dword [ebp - 0x38]
call fcn.120068ef
mov ecx, dword [ebp - 0x20]
mov byte [ebp - 4], 9
cmp ecx, edi
je 0x120055a6
call fcn.12002c54
jmp 0x120055a8
xor eax, eax
push eax
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
push str.CMU:_Possible_image___d_x__d_:__s
push edi
call fcn.1200f551
mov ecx, dword [ebp - 0x20]
add esp, 0x14
cmp ecx, edi
mov dword [ebp - 0x4c], edi
je 0x120055ce
call fcn.12002c54
jmp 0x120055d0
xor eax, eax
lea ecx, [ebp - 0x4c]
push ecx
lea ecx, [ebp - 0x5c]
push ecx
mov ecx, dword [ebp + 8]
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
push edi
push edi
push edi
push edi
push eax
push dword [ebp + 0x10]
call fcn.12006cf4
mov esi, eax
cmp esi, edi
je 0x120056f8
push 0x158
call fcn.1207403b
pop ecx
mov ecx, eax
mov dword [ebp - 0x1c], ecx
cmp ecx, edi
mov byte [ebp - 4], 0xa
je 0x1200561d
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.12001000
jmp 0x1200561f
xor eax, eax
push dword [esi + 0x60]
mov byte [ebp - 4], 9
mov dword [ebp - 0x44], eax
push str.CMU:_Matched_banner__u
push edi
call fcn.1200f551
add esp, 0xc
mov ecx, esi
push edi
push dword [ebp - 0x4c]
call fcn.12039de0
push dword [esi + 0x60]
test al, al
je 0x12005650
push str.CMU:_Banner__d_ready_for_display
jmp 0x12005655
push 0x120a9518
push edi
call fcn.1200f551
add esp, 0xc
cmp dword [ebp - 0x18], edi
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x40], edi
jne 0x12005674
push 0x80004003
call fcn.120688f0
mov eax, dword [ebp - 0x18]
lea edx, [ebp - 0x40]
push edx
push 0x120a9508
mov ecx, dword [eax]
push eax
call dword [ecx]
cmp dword [ebp - 0x40], edi
je 0x120056d2
push dword [ebp + 0x1c]
lea eax, [ebp - 0x40]
push dword [ebp - 0x4c]
push dword [ebp - 0x5c]
push dword [ebp + 0x10]
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.120060a3
push dword [ebp + 0x18]
mov ebx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x44]
push esi
push ebx
call fcn.12001807
test al, al
je 0x120056d2
lea eax, [ebp - 0x44]
lea ecx, [ebx + 0x40]
push eax
mov byte [ebp - 0x11], 1
call fcn.120062a2
mov dword [ebp - 0x44], edi
mov ecx, dword [ebp - 0x44]
cmp ecx, edi
je 0x120056e0
mov eax, dword [ecx]
push 1
call dword [eax + 4]
mov ecx, esi
call fcn.12001276
mov eax, dword [ebp - 0x40]
mov byte [ebp - 4], 9
cmp eax, edi
je 0x120056f8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 0x20]
cmp ecx, edi
je 0x1200575f
call fcn.12002c27
mov dword [ebp - 0x20], edi
jmp 0x1200575f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, ebx
cmp eax, 0x7d0
jbe 0x1200575f
mov ecx, dword [0x120b3180]
mov dword [ebp - 0x1c], ecx
push esi
push eax
push dword [ebp - 0x34]
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 0xc
push str.SearchForBanners:_Image__d_query_FAILED_after__d_ms__hr__0x_08x.
push eax
call fcn.1206c497
add esp, 0x14
lea eax, [ebp - 0x1c]
push eax
push 5
push 0x2d4
push 0x120a95e8
call fcn.12012ffa
add esp, 0x10
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 6
call fcn.1207396a
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 5
cmp eax, edi
je 0x12005770
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x7c]
push eax
mov byte [ebp - 4], 4
call esi
cmp eax, edi
jge 0x1200578a
push eax
call fcn.120688f0
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 3
push eax
call esi
cmp eax, edi
jge 0x1200579e
push eax
call fcn.120688f0
mov eax, dword [ebp - 0x30]
mov byte [ebp - 4], 1
cmp eax, edi
je 0x120057af
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
inc dword [ebp - 0x34]
xor edi, edi
jmp 0x12005380
mov eax, dword [ebp - 0x24]
and byte [ebp - 4], 0
cmp eax, edi
je 0x120057ca
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp byte [ebp + 0x14], 0
je 0x1200580c
mov eax, dword [ebp - 0x54]
mov esi, dword [eax + 0x60]
test esi, esi
je 0x1200580c
mov eax, esi
mov esi, dword [esi]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x120057d6
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.1200527c
test al, al
je 0x120057d6
mov byte [ebp - 0x11], 1
jmp 0x120057d6
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x58]
mov ecx, dword [0x120b3180]
cmp eax, 0xbb8
jae 0x12005862
mov dword [ebp + 8], ecx
push dword [ebp + 0x10]
mov dword [ebp - 4], 0xe
push dword [ebp - 0x50]
push eax
lea eax, [ebp + 8]
push 0x120a9498
push eax
call fcn.1206c497
lea eax, [ebp + 8]
push eax
push 3
push 0x2f5
push 0x120a95e8
call fcn.12012ffa
add esp, 0x24
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
jmp 0x120058a0
mov dword [ebp + 0xc], ecx
push dword [ebp + 0x10]
mov dword [ebp - 4], 0xf
push dword [ebp - 0x50]
push eax
lea eax, [ebp + 0xc]
push 0x120a9498
push eax
call fcn.1206c497
lea eax, [ebp + 0xc]
push eax
push 5
push 0x2f9
push 0x120a95e8
call fcn.12012ffa
add esp, 0x24
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.1207396a
mov ecx, dword [ebp - 0xc]
mov al, byte [ebp - 0x11]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 0x18