Function at 0x572700
Capabilities:
Check for time delay via gettickcount
Get common file path

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov eax, 0x105c
call fcn.00517ca0
mov esi, ecx
mov eax, dword [0x5f3418]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov eax, dword [ecx + 0x26d8]
mov ecx, dword [ecx + 0x26dc]
sub ecx, eax
sar ecx, 2
cmp ecx, edx
jbe 0x572d82
mov edi, edx
mov ebx, dword [eax + edx*4]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi + 0x26cc]
mov dword [esi + 0x26d0], eax
mov dword [ebx + 0x2c], 0
mov eax, dword [ebx + 0x20]
cmp dword [eax + 4], 1
jne 0x5727a0
cmp dword [ebx], 0
jne 0x57276c
mov eax, dword [ebx + 4]
test eax, eax
jne 0x572951
lea eax, [ebx + 0x806c]
push 0x5df00a
push eax
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
test eax, eax
je 0x572a5b
xor eax, eax
mov byte [esi + 0x26f0], al
mov byte [ebx + 0x30], al
mov dword [esi + 0x26d4], 0x8000000
jmp 0x572a5b
mov ecx, ebx
call fcn.00573d60
mov dword [esi + 0x26c8], eax
mov ecx, dword [ebx + 0x20]
test ecx, ecx
je 0x5727c0
mov dword [ecx + 0x2450], eax
mov eax, dword [esi + 0x26c8]
cmp eax, 0xc8
jne 0x572861
mov dword [ebp - 0x1064], edi
mov ecx, esi
mov edx, ebx
call fcn.00573dc0
mov ecx, esi
mov edx, ebx
call fcn.00573e40
mov ecx, esi
mov edx, ebx
call fcn.00573f40
mov ecx, esi
mov edx, ebx
call fcn.00574050
mov eax, dword [ebx + 0x20]
cmp dword [eax + 4], 1
je 0x57282a
lea eax, [ebp - 0x1058]
mov dword [eax], 0
lea ecx, [ebp - 0x105c]
mov dword [ecx], 0x206
lea edx, [esi + 0x62aa0]
push eax
push ecx
push edx
push 1
push dword [ebx + 0x1c]
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
mov ecx, dword [esi + 0x5d100]
mov eax, dword [esi + 0x5d104]
mov edx, dword [ebx + 0x3c]
xor edx, eax
mov edi, dword [ebx + 0x38]
xor edi, ecx
or edi, edx
mov edi, dword [ebp - 0x1064]
jne 0x572861
cmp byte [esi + 0x2690], 0
je 0x572a9a
cmp byte [ebx + 0x30], 0
jne 0x572a9a
cmp byte [esi + 0x2690], 0
jne 0x572a5b
mov eax, dword [esi + 0x26c8]
cmp eax, 0x194
je 0x572b2a
cmp eax, 0x12e
jne 0x572a5b
lea eax, [ebp - 0x1058]
push 0x1048
push 0
push eax
call fcn.005191b0
add esp, 0xc
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x572a8d
lea ecx, [ebp - 0x105c]
mov dword [ecx], 0
lea edx, [ebp - 0x1060]
mov dword [edx], 0x1047
push ecx
push edx
lea ecx, [ebp - 0x1058]
push ecx
push 0x21
push eax
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x572a8d
mov edx, dword [ebx + 0x20]
lea ecx, [ebp - 0x1058]
push 0
call fcn.00570770
add esp, 4
test al, al
je 0x572a8d
cmp byte [ebx + 0x24], 0
jne 0x572932
mov ebx, edi
lea edi, [esi + 0x5f5c0]
push 0x1048
push 0
push edi
call fcn.005191b0
add esp, 0xc
lea eax, [ebp - 0x1058]
push eax
push 0x5d847a
push 0x823
push edi
mov edi, ebx
call fcn.00551740
add esp, 0x10
mov ecx, esi
xor edx, edx
call fcn.005718b0
test al, al
je 0x572a8d
mov ecx, esi
mov edx, edi
call fcn.00573b30
jmp 0x572a57
mov dword [ebx + 0x1c], eax
mov ecx, esi
mov edx, ebx
call fcn.00573e40
mov eax, dword [esi + 0x5d104]
xor eax, dword [ebx + 0x3c]
mov ecx, dword [esi + 0x5d100]
xor ecx, dword [ebx + 0x38]
or ecx, eax
jne 0x572a5b
cmp byte [esi + 0x2690], 0
mov al, byte [ebx + 0x30]
je 0x57298d
test al, al
mov al, 1
je 0x572a5b
mov byte [esi + 0x26f0], al
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x5729b5
cmp dword [eax + 0x2448], 0xffffffff
jne 0x5729b5
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebx + 8]
mov ecx, dword [ebx + 0x20]
mov dword [ecx + 0x2448], eax
cmp byte [esi + 0x247c], 0
mov dword [ebp - 0x1064], edi
je 0x572a0c
mov eax, dword [esi + 0x246c]
cmp eax, 2
jle 0x572ade
cmp eax, 3
jg 0x572a0c
mov dword [esi + 0x246c], 3
mov ecx, dword [esi + 0x26a0]
test ecx, ecx
je 0x572a0c
mov edi, dword [esi + 0x269c]
call dword [section..00cfg]
push edi
mov edi, dword [ebp - 0x1064]
push 3
push esi
call ecx
test al, al
je 0x572a96
mov ecx, esi
call fcn.00574170
test al, al
je 0x572a8d
cmp byte [esi + 0x247c], 0
je 0x572a2d
cmp dword [esi + 0x246c], 4
jle 0x572c34
cmp byte [esi + 0x26f0], 0
jne 0x572ca8
cmp byte [esi + 0x247c], 0
je 0x572a50
cmp dword [esi + 0x246c], 4
jle 0x572c71
mov dword [ebx + 0x28], 8
mov bl, 1
jmp 0x572a76
mov dword [ebx + 0x28], 0
mov ecx, esi
mov edx, edi
push 1
call fcn.00573c20
add esp, 4
mov bl, 1
test al, al
je 0x572a8d
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00512ee3
mov eax, ebx
add esp, 0x105c
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, esi
mov edx, edi
call fcn.00573b30
xor ebx, ebx
jmp 0x572a76
mov dword [ebp - 0x1068], eax
mov eax, dword [esi + 0x5d108]
mov edi, dword [esi + 0x5d10c]
mov edx, eax
or edx, edi
je 0x572b5b
xor eax, ecx
xor edi, dword [ebp - 0x1068]
or edi, eax
je 0x572b5b
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x572ad4
mov byte [eax + 0x244c], 1
mov ecx, esi
mov edx, dword [ebp - 0x1064]
jmp 0x572b46
mov dword [esi + 0x246c], 2
mov ecx, dword [esi + 0x26a0]
test ecx, ecx
je 0x5729d8
mov edi, dword [esi + 0x269c]
call dword [section..00cfg]
push edi
push 2
push esi
call ecx
test al, al
je 0x572a96
cmp byte [esi + 0x247c], 0
mov edi, dword [ebp - 0x1064]
je 0x572a0c
mov eax, dword [esi + 0x246c]
jmp 0x5729d3
mov dword [esi + 0x2470], 1
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x572b42
mov byte [eax + 0x244c], 1
mov ecx, esi
mov edx, edi
call fcn.00573b30
mov ecx, esi
xor edx, edx
call fcn.005718b0
mov ebx, eax
jmp 0x572a76
mov al, byte [ebx + 0x30]
mov byte [esi + 0x26f0], al
mov ecx, ebx
call fcn.005740e0
test al, al
mov edi, dword [ebp - 0x1064]
je 0x572993
mov byte [esi + 0x2690], 1
xor eax, eax
mov byte [esi + 0x247c], al
mov byte [esi + 0x26f0], al
mov byte [ebx + 0x30], al
xor eax, eax
dec eax
mov dword [esi + 0x5d100], eax
mov dword [esi + 0x5d104], eax
mov dword [ebx + 0x38], eax
mov dword [ebx + 0x3c], eax
lea edi, [esi + 0x5d120]
lea eax, [esi + 0x5d328]
mov edx, 0x103
push edi
mov dword [ebp - 0x1068], edi
push 0x5d847a
push edx
push eax
call fcn.00549e40
add esp, 0x10
mov eax, 0x208
push eax
xor eax, eax
push eax
push edi
call fcn.005191b0
add esp, 0xc
lea ecx, [ebp - 0x1058]
mov eax, 0x208
push eax
mov edi, dword [ebp - 0x1064]
xor eax, eax
push eax
push ecx
call fcn.005191b0
add esp, 0xc
lea eax, [ebp - 0x1058]
push eax
mov eax, 0x103
push eax
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push dword [ebp - 0x1068]
push eax
push 0x5df004
lea eax, [ebp - 0x1058]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
jmp 0x572993
mov dword [esi + 0x246c], 4
mov ecx, dword [esi + 0x26a0]
test ecx, ecx
je 0x572a2d
mov edi, dword [esi + 0x269c]
call dword [section..00cfg]
push edi
mov edi, dword [ebp - 0x1064]
push 4
push esi
call ecx
test al, al
je 0x572a96
jmp 0x572a2d
mov dword [esi + 0x246c], 5
mov ecx, dword [esi + 0x26a0]
test ecx, ecx
je 0x572a50
mov edi, dword [esi + 0x269c]
call dword [section..00cfg]
push edi
push 5
push esi
call ecx
test al, al
je 0x572a96
jmp 0x572a50
mov eax, dword [esi + 0x5d104]
xor eax, dword [esi + 0x5d114]
mov ecx, dword [esi + 0x5d100]
xor ecx, dword [esi + 0x5d110]
or ecx, eax
jne 0x572cdc
mov ecx, esi
mov edx, edi
call fcn.00573b30
mov dword [esi + 0x5d0f8], 7
jmp 0x572a57
lea eax, [ebp - 0x1058]
mov dword [eax], 0x4e20
push 4
push eax
push 6
push dword [ebx + 0x1c]
call dword [sym.imp.WININET.dll_InternetSetOptionW]
xor eax, eax
dec eax
mov ecx, esi
mov edx, ebx
push eax
push eax
push 0
call fcn.00571b30
add esp, 0xc
test al, al
je 0x572943
mov eax, dword [ebx + 0x8040]
mov ecx, dword [eax + 8]
or ecx, dword [eax + 0xc]
jne 0x572dce
mov byte [eax + 1], 1
mov dword [ebx + 0x28], 8
cmp byte [esi + 0x2690], 0
je 0x572da0
mov bl, 1
cmp byte [esi + 0x247c], 0
je 0x572a76
cmp dword [esi + 0x246c], 4
jg 0x572a76
mov dword [esi + 0x246c], 5
mov ecx, dword [esi + 0x26a0]
test ecx, ecx
je 0x572a76
mov edi, dword [esi + 0x269c]
call dword [section..00cfg]
push edi
push 5
push esi
call ecx
jmp 0x572b54
push str.vector___index_out_of_bounds
push str.__n___size__
push 0x587
push str....._buildtools_third_partylibc_trunkinclude_vector
push str._s:_d:_assertion__s_failed:__s
call fcn.005495a0
cmp dword [esi + 0x2468], 2
jb 0x572d37
xor edi, edi
inc edi
mov ecx, esi
mov edx, 4
call fcn.005718b0
test al, al
je 0x572d37
inc edi
cmp edi, dword [esi + 0x2468]
jb 0x572dac
jmp 0x572d37
mov dword [ebx + 0x28], 4
mov ecx, esi
mov edx, edi
push 0
call fcn.00573c20
add esp, 4
jmp 0x572d2e