Function at 0x4ad900
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, 0x1058
call fcn.0045dd50
mov esi, ecx
mov edi, dword [ebp + 8]
mov eax, dword [0x4e6418]
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, edi
jbe 0x4add3f
mov ebx, dword [eax + edi*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
je 0x4ada66
push ebx
call fcn.004aecc0
mov dword [esi + 0x26c8], eax
mov ecx, dword [ebx + 0x20]
test ecx, ecx
je 0x4ad980
mov dword [ecx + 0x2450], eax
mov eax, dword [esi + 0x26c8]
cmp eax, 0xc8
jne 0x4ada14
mov ecx, esi
push ebx
call fcn.004aed20
mov ecx, esi
push ebx
call fcn.004aedb0
mov ecx, esi
push ebx
call fcn.004aeec0
mov ecx, esi
push ebx
call fcn.004aefd0
mov eax, dword [ebx + 0x20]
cmp dword [eax + 4], 1
je 0x4ad9e0
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 + 8]
jne 0x4ada14
cmp byte [esi + 0x2690], 0
je 0x4adb89
cmp byte [ebx + 0x30], 0
jne 0x4adb89
cmp byte [esi + 0x2690], 0
jne 0x4adaa1
mov eax, dword [esi + 0x26c8]
cmp eax, 0x194
je 0x4adad1
cmp eax, 0x12e
jne 0x4adaa1
lea eax, [ebp - 0x1058]
push 0x1048
push 0
push eax
call fcn.00460af0
add esp, 0xc
mov eax, dword [ebx + 0x1c]
test eax, eax
jne 0x4adc97
mov ecx, esi
push edi
call fcn.004aea90
xor ebx, ebx
jmp 0x4adab8
cmp dword [ebx], 0
jne 0x4ada76
mov eax, dword [ebx + 4]
test eax, eax
jne 0x4adafe
lea eax, [ebx + 0x806c]
push 0x4d7894
push eax
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
test eax, eax
je 0x4adaa1
xor eax, eax
mov byte [esi + 0x26f0], al
mov byte [ebx + 0x30], al
mov dword [esi + 0x26d4], 0x8000000
mov dword [ebx + 0x28], 0
mov ecx, esi
push 1
push edi
call fcn.004aeb90
mov bl, 1
test al, al
je 0x4ada5a
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0045901d
mov eax, ebx
add esp, 0x1058
pop esi
pop edi
pop ebx
pop ebp
ret 4
mov dword [esi + 0x2470], 1
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x4adae9
mov byte [eax + 0x244c], 1
mov ecx, esi
push edi
call fcn.004aea90
mov ecx, esi
push 0
call fcn.004acc70
mov ebx, eax
jmp 0x4adab8
mov dword [ebx + 0x1c], eax
mov ecx, esi
push ebx
call fcn.004aedb0
mov eax, dword [esi + 0x5d104]
xor eax, dword [ebx + 0x3c]
mov ecx, dword [esi + 0x5d100]
xor ecx, dword [ebx + 0x38]
or ecx, eax
jne 0x4adaa1
cmp byte [esi + 0x2690], 0
mov al, byte [ebx + 0x30]
je 0x4adb35
test al, al
mov al, 1
je 0x4adaa1
mov byte [esi + 0x26f0], al
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x4adb5d
cmp dword [eax + 0x2448], 0xffffffff
jne 0x4adb5d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebx + 8]
mov ecx, dword [ebx + 0x20]
mov dword [ecx + 0x2448], eax
mov ecx, esi
push dword [ebx + 0x1c]
push 2
call fcn.004af4e0
test al, al
je 0x4ada62
mov ecx, esi
push 0
push 3
call fcn.004af4e0
test al, al
je 0x4ada62
jmp 0x4add4e
mov dword [ebp - 0x1064], eax
mov eax, dword [esi + 0x5d108]
mov edi, dword [esi + 0x5d10c]
mov edx, eax
or edx, edi
je 0x4adbc5
xor eax, ecx
xor edi, dword [ebp - 0x1064]
or edi, eax
je 0x4adbc5
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x4adbbb
mov byte [eax + 0x244c], 1
mov ecx, esi
push dword [ebp + 8]
jmp 0x4adaec
mov al, byte [ebx + 0x30]
mov byte [esi + 0x26f0], al
push ebx
call fcn.004af060
test al, al
mov edi, dword [ebp + 8]
je 0x4adb3b
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 - 0x1064], edi
push 0x4d21ee
push edx
push eax
call fcn.00419f70
add esp, 0x10
mov eax, 0x208
push eax
xor eax, eax
push eax
push edi
call fcn.00460af0
add esp, 0xc
lea ecx, [ebp - 0x1058]
mov eax, 0x208
push eax
mov edi, dword [ebp + 8]
xor eax, eax
push eax
push ecx
call fcn.00460af0
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 - 0x1064]
push eax
push 0x4d252a
lea eax, [ebp - 0x1058]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
jmp 0x4adb3b
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 0x4ada5a
push 0
push dword [ebx + 0x20]
lea eax, [ebp - 0x1058]
push eax
call fcn.004abb50
add esp, 0xc
test al, al
je 0x4ada5a
cmp byte [ebx + 0x24], 0
jne 0x4add1f
mov ebx, edi
lea edi, [esi + 0x5f5c0]
push 0x1048
push 0
push edi
call fcn.00460af0
add esp, 0xc
lea eax, [ebp - 0x1058]
push eax
push 0x4d21ee
push 0x823
push edi
mov edi, ebx
call fcn.0048da50
add esp, 0x10
mov ecx, esi
push 0
call fcn.004acc70
test al, al
je 0x4ada5a
mov ecx, esi
push edi
call fcn.004aea90
mov bl, 1
jmp 0x4adab8
push str....._third_partylibc_srcinclude_vector:1393:_assertion___n___size___failed:_vector___index_out_of_bounds_n
push 0x4d143c
call fcn.0048e9c0
mov ecx, esi
call fcn.004af100
test al, al
je 0x4ada5a
mov ecx, esi
push 0
push 4
call fcn.004af4e0
test al, al
je 0x4ada62
cmp byte [esi + 0x26f0], 0
jne 0x4add95
mov ecx, esi
push 0
push 5
call fcn.004af4e0
test al, al
je 0x4ada62
mov dword [ebx + 0x28], 8
jmp 0x4add38
mov eax, dword [esi + 0x5d104]
xor eax, dword [esi + 0x5d114]
mov ecx, dword [esi + 0x5d100]
xor ecx, dword [esi + 0x5d110]
or ecx, eax
jne 0x4addc8
mov ecx, esi
push edi
call fcn.004aea90
mov dword [esi + 0x5d0f8], 7
jmp 0x4add38
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
push eax
push eax
push 0
push ebx
call fcn.004ace40
test al, al
je 0x4add30
mov eax, dword [ebx + 0x8040]
mov ecx, dword [eax + 8]
or ecx, dword [eax + 0xc]
je 0x4ade1a
mov dword [ebx + 0x28], 4
mov ecx, esi
push 0
push edi
call fcn.004aeb90
jmp 0x4ade25
mov byte [eax + 1], 1
mov dword [ebx + 0x28], 8
cmp byte [esi + 0x2690], 0
jne 0x4ade50
cmp dword [esi + 0x2468], 2
jb 0x4ade50
xor edi, edi
inc edi
mov ecx, esi
push 4
call fcn.004acc70
test al, al
je 0x4ade50
inc edi
cmp edi, dword [esi + 0x2468]
jb 0x4ade3a
mov ecx, esi
push 0
push 5
call fcn.004af4e0
jmp 0x4adafa