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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1254
call fcn.0042e5e0
push ebx
push esi
mov esi, ecx
push edi
mov ecx, dword [ebp + 8]
mov eax, dword [esi + 0x26e0]
mov ebx, dword [eax + ecx*4]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi + 0x26d0]
xor edi, edi
mov dword [esi + 0x26d4], eax
mov eax, dword [ebx + 0x20]
mov dword [ebx + 0x2c], edi
cmp dword [eax + 4], 1
je 0x429b13
push ebx
mov ecx, esi
call fcn.0042aecb
mov dword [esi + 0x26cc], eax
mov ecx, dword [ebx + 0x20]
cmp ecx, edi
je 0x4297de
mov dword [ecx + 0x2450], eax
cmp dword [esi + 0x26cc], 0xc8
jne 0x4299fb
push ebx
mov ecx, esi
call fcn.0042ba3d
push ebx
mov ecx, esi
call fcn.0042adf8
push ebx
mov ecx, esi
call fcn.0042baaa
push ebx
mov ecx, esi
call fcn.0042af10
mov eax, dword [ebx + 0x38]
mov edx, dword [esi + 0x5d108]
mov ecx, dword [ebx + 0x3c]
cmp edx, eax
jne 0x4299fb
mov eax, dword [esi + 0x5d10c]
cmp eax, ecx
jne 0x4299fb
cmp dword [esi + 0x2690], edi
je 0x429845
push 1
xor ecx, ecx
pop eax
cmp dword [ebx + 0x30], eax
sete cl
jmp 0x42984a
push 1
pop ecx
push ecx
pop eax
cmp ecx, edi
je 0x4299fe
mov ecx, dword [esi + 0x5d110]
mov edx, dword [esi + 0x5d114]
cmp ecx, edi
jne 0x429866
cmp edx, edi
je 0x42987e
cmp ecx, dword [ebx + 0x38]
jne 0x429aef
mov ecx, dword [esi + 0x5d114]
cmp ecx, dword [ebx + 0x3c]
jne 0x429aef
mov eax, dword [ebx + 0x30]
push ebx
mov ecx, esi
mov dword [esi + 0x26fc], eax
call fcn.0042afb1
test eax, eax
je 0x42994a
mov dword [esi + 0x2690], 1
mov dword [esi + 0x247c], edi
mov dword [esi + 0x26fc], edi
or eax, 0xffffffff
mov dword [ebx + 0x30], edi
mov dword [esi + 0x5d108], eax
mov dword [esi + 0x5d10c], eax
mov dword [ebx + 0x38], eax
mov dword [ebx + 0x3c], eax
lea eax, [esi + 0x5d128]
push eax
push 0x438aa0
lea eax, [esi + 0x5d330]
push 0x103
push eax
call dword [sym.imp.MSVCRT.dll__snwprintf]
push 0x208
lea eax, [esi + 0x5d128]
push edi
push eax
call sub.MSVCRT.dll_memset
mov ax, word [0x43fcc4]
mov ecx, 0x81
mov word [ebp - 0x20c], ax
xor eax, eax
lea edi, [ebp - 0x20a]
add esp, 0x1c
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x20c]
push eax
push 0x103
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea eax, [esi + 0x5d128]
push eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
lea eax, [ebp - 0x20c]
push 0x43eb38
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
xor edi, edi
mov eax, dword [ebx + 0x20]
cmp eax, edi
je 0x42996c
cmp dword [eax + 0x2448], 0xffffffff
jne 0x42996c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebx + 8]
mov ecx, dword [ebx + 0x20]
mov dword [ecx + 0x2448], eax
push dword [ebx + 0x1c]
mov eax, dword [esi]
mov ecx, esi
push 2
call dword [eax + 4]
test eax, eax
je 0x429c61
mov eax, dword [esi]
push edi
push 3
mov ecx, esi
call dword [eax + 4]
test eax, eax
je 0x429c61
mov ecx, esi
call fcn.0042b02e
test eax, eax
je 0x429c57
mov eax, dword [esi]
push edi
push 4
mov ecx, esi
call dword [eax + 4]
test eax, eax
je 0x429c61
cmp dword [esi + 0x26fc], edi
je 0x429c3d
mov ecx, dword [esi + 0x5d108]
lea eax, [esi + 0x5d118]
cmp ecx, dword [eax]
jne 0x429b9a
mov ecx, dword [esi + 0x5d10c]
cmp ecx, dword [eax + 4]
jne 0x429b9a
push dword [ebp + 8]
mov ecx, esi
call fcn.0042a4cc
mov dword [esi + 0x5d100], 7
jmp 0x429c52
push 1
pop eax
cmp dword [esi + 0x2690], edi
je 0x429a21
mov dword [ebx + 0x28], edi
push eax
push dword [ebp + 8]
mov ecx, esi
call fcn.0042a9a0
test eax, eax
je 0x429c57
jmp 0x429c52
mov ecx, dword [esi + 0x26cc]
cmp ecx, 0x12e
jne 0x429add
mov ax, word [0x43fcc4]
mov ecx, 0x411
mov word [ebp - 0x1254], ax
xor eax, eax
lea edi, [ebp - 0x1252]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov edi, 0x1048
lea eax, [ebp - 0x1254]
push edi
push eax
push ebx
mov ecx, esi
call fcn.0042af76
test eax, eax
je 0x429c57
push 0
lea eax, [ebp - 0x1254]
push dword [ebx + 0x20]
push eax
call fcn.0042886a
add esp, 0xc
test eax, eax
je 0x429c57
cmp dword [ebx + 0x24], 0
jne 0x429abd
lea ebx, [esi + 0x5f5c8]
push edi
push 0
push ebx
call sub.MSVCRT.dll_memset
add esp, 0xc
lea eax, [ebp - 0x1254]
push eax
push 0x438aa0
push 0x823
push ebx
call dword [sym.imp.MSVCRT.dll__snwprintf]
add esp, 0x10
push 0
mov ecx, esi
call fcn.00429119
test eax, eax
je 0x429c57
push dword [ebp + 8]
mov ecx, esi
call fcn.0042a4cc
jmp 0x429c52
cmp ecx, 0x194
jne 0x429a06
mov dword [esi + 0x2470], eax
mov ebx, dword [ebx + 0x20]
cmp ebx, edi
je 0x429afc
mov dword [ebx + 0x244c], eax
push dword [ebp + 8]
mov ecx, esi
call fcn.0042a4cc
push edi
mov ecx, esi
call fcn.00429119
jmp 0x429c63
cmp dword [ebx], edi
jne 0x429b67
mov eax, dword [ebx + 4]
cmp eax, edi
je 0x429b67
push ebx
mov ecx, esi
mov dword [ebx + 0x1c], eax
call fcn.0042adf8
mov eax, dword [esi + 0x5d108]
cmp eax, dword [ebx + 0x38]
jne 0x429b90
mov eax, dword [esi + 0x5d10c]
cmp eax, dword [ebx + 0x3c]
jne 0x429b90
cmp dword [esi + 0x2690], edi
je 0x429b52
xor eax, eax
cmp dword [ebx + 0x30], 1
sete al
jmp 0x429b55
push 1
pop eax
cmp eax, edi
je 0x429b90
mov eax, dword [ebx + 0x30]
mov dword [esi + 0x26fc], eax
jmp 0x42994a
lea eax, [ebx + 0x806c]
push 0x43f940
push eax
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
test eax, eax
je 0x429b90
mov dword [esi + 0x26fc], edi
mov dword [ebx + 0x30], edi
mov dword [esi + 0x26d8], 0x8000000
mov dword [ebx + 0x28], edi
push 1
jmp 0x429a0a
lea eax, [ebp - 4]
push 4
push eax
push 6
push dword [ebx + 0x1c]
mov dword [ebp - 4], 0x4e20
call dword [sym.imp.WININET.dll_InternetSetOptionW]
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
push ebx
mov ecx, esi
call fcn.0042b77c
test eax, eax
je 0x429ace
mov eax, dword [ebx + 0x8040]
cmp dword [eax + 8], edi
jne 0x429be6
cmp dword [eax + 0xc], edi
jne 0x429be6
push 1
pop ecx
mov dword [eax + 4], ecx
mov dword [ebx + 0x28], 8
jmp 0x429bfb
push edi
mov ecx, esi
push dword [ebp + 8]
mov dword [ebx + 0x28], 4
call fcn.0042a9a0
push 1
pop ecx
cmp dword [esi + 0x2690], edi
jne 0x429c2b
cmp dword [esi + 0x2468], ecx
lea ebx, [esi + 0x2468]
mov dword [ebp + 8], ecx
jbe 0x429c2b
push 4
mov ecx, esi
call fcn.00429119
test eax, eax
je 0x429c2b
inc dword [ebp + 8]
mov eax, dword [ebp + 8]
cmp eax, dword [ebx]
jb 0x429c14
mov eax, dword [esi]
push edi
push 5
mov ecx, esi
call dword [eax + 4]
neg eax
sbb eax, eax
neg eax
jmp 0x429c63
mov eax, dword [esi]
push edi
push 5
mov ecx, esi
call dword [eax + 4]
test eax, eax
je 0x429c61
mov dword [ebx + 0x28], 8
push 1
pop eax
jmp 0x429c63
push dword [ebp + 8]
mov ecx, esi
call fcn.0042a4cc
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 4