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

Disassembly:
push 0x524
push 0x40bde0
call fcn.00409474
xor ebx, ebx
mov byte [ebp - 0x74], bl
push 0x31
push ebx
lea eax, [ebp - 0x73]
push eax
call fcn.004074c0
mov byte [ebp - 0x2c], bl
xor eax, eax
lea edi, [ebp - 0x2b]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0x40], bl
xor eax, eax
lea edi, [ebp - 0x3f]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0x2a4], bl
push 0xfe
push ebx
lea eax, [ebp - 0x2a3]
push eax
call fcn.004074c0
mov byte [ebp - 0x534], bl
push 0x18f
push ebx
lea eax, [ebp - 0x533]
push eax
call fcn.004074c0
add esp, 0x24
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], ebx
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
sub eax, dword [0x40ffb4]
cmp eax, 0xc350
jae 0x402af9
or dword [ebp - 4], 0xffffffff
xor eax, eax
jmp 0x402d69
call edi
mov dword [0x40ffb4], eax
push 0xb1c
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov esi, eax
mov eax, dword [ebp + 8]
mov dword [esi + 8], eax
push ebx
push 0xff
lea eax, [esi + 0xc]
push eax
call dword [sym.imp.gamevancelib32.dll_int___stdcall_GetDefaultCfgServer_char___unsigned_long_int__char__]
push 0x50
pop eax
mov word [esi + 0x10c], ax
mov dword [esi + 0x918], 7
mov eax, dword [0x40fef4]
lea ecx, [eax + 0x2c23]
push ecx
add eax, 0x2bbf
push eax
call edi
push eax
push str.grs_u:__d_r_ngrs_wv:__s_r_ngrs_ie:__s
push 0x200
lea eax, [esi + 0x91c]
push eax
mov edi, dword [sym.imp.SHLWAPI.dll_wnsprintfA]
call edi
add esp, 0x18
push ebx
push 0x32
lea eax, [ebp - 0x74]
push eax
call dword [sym.imp.gamevancelib32.dll_GetAdLocation]
mov dword [esi + 4], 2
push ebx
push 0x10
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.gamevancelib32.dll_int___stdcall_GetGeoIPCountryCode_char___int__char__]
mov eax, dword [0x40fef4]
add eax, 0x3b4b
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push 0x14
test eax, eax
lea eax, [ebp - 0x40]
jne 0x402bba
push 0x40b54c
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
jmp 0x402bcc
push eax
mov eax, dword [0x40fef4]
add eax, 0x3b4b
push eax
call dword [sym.imp.gamevancelib32.dll_int___stdcall_HostToIP_char___char___unsigned_long_int_]
mov byte [ebp - 0x10c], bl
push 0x63
push ebx
lea eax, [ebp - 0x10b]
push eax
call fcn.004074c0
mov byte [ebp - 0x1a4], bl
push 0x95
push ebx
lea eax, [ebp - 0x1a3]
push eax
call fcn.004074c0
mov byte [ebp - 0x3a4], bl
push 0xfe
push ebx
lea eax, [ebp - 0x3a3]
push eax
call fcn.004074c0
mov byte [ebp - 0xa8], bl
push 0x31
push ebx
lea eax, [ebp - 0xa7]
push eax
call fcn.004074c0
lea eax, [ebp - 0xa8]
push eax
call fcn.00402d6f
add esp, 0x34
push ebx
push 0x64
lea eax, [ebp - 0x10c]
push eax
call dword [sym.imp.gamevancelib32.dll_GetUuid]
lea eax, [ebp - 0x10c]
push eax
mov eax, dword [0x40fef4]
add eax, 0x2b9f
push eax
push str.uid_s_s
push 0x96
lea eax, [ebp - 0x1a4]
push eax
call edi
add esp, 0x14
push 0xff
lea eax, [ebp - 0x3a4]
push eax
lea eax, [ebp - 0x1a4]
push eax
call dword [sym.imp.gamevancelib32.dll_int___stdcall_Base64EncodeFunc_char___char___int_]
mov eax, dword [0x40fef4]
push dword [eax + 0x3cdc]
lea ecx, [eax + 0x3cc8]
push ecx
lea ecx, [eax + 0x3cb4]
push ecx
lea ecx, [ebp - 0xa8]
push ecx
lea ecx, [eax + 0x3c78]
push ecx
push ebx
lea ecx, [ebp - 0x40]
push ecx
lea ecx, [ebp - 0x2c]
push ecx
lea ecx, [eax + 0x2b6d]
push ecx
add eax, 0x2b9f
push eax
push str.installer
lea eax, [ebp - 0x3a4]
push eax
call dword [sym.imp.gamevancelib32.dll_int___stdcall_IsPopupEngineDisabled_void_]
push eax
push ebx
call dword [sym.imp.gamevancelib32.dll_unsigned_long_int___stdcall_GetExcludedUrlsSeq_char__]
push eax
mov eax, dword [0x40fef4]
add eax, 0x3a2c
push eax
lea eax, [ebp - 0x74]
push eax
push str.loc_s_cid_s_eus_d_pe_d_hash_s_app_src_s_crc_s_app_run_s_cc_s_cip_s_lp_d_crcs_stlu_shloc_sti_svm_d
push 0xff
lea eax, [ebp - 0x2a4]
push eax
call edi
push 0x190
push ebx
lea eax, [ebp - 0x534]
push eax
call fcn.004074c0
add esp, 0x58
push 0x18f
lea eax, [ebp - 0x534]
push eax
lea eax, [ebp - 0x2a4]
push eax
call dword [sym.imp.gamevancelib32.dll_int___stdcall_Base64EncodeFunc_char___char___int_]
lea eax, [ebp - 0x534]
push eax
push str._m_updcnt.asp
push str._s_p_s
push 0x7ff
lea eax, [esi + 0x10e]
push eax
call edi
add esp, 0x14
push esi
call fcn.0040279d
mov dword [ebp - 0x1c], eax
jmp 0x402d62
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1c]
call fcn.004094af
ret