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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb4
push ebx
mov ebx, ecx
mov dword [ebp - 4], 0
push esi
push edi
mov cl, byte [ebx + 0xb1]
test cl, cl
jne 0x4d31f6
cmp dword [ebx + 0x110], 0
jne 0x4d31f6
mov edx, dword [0x7dd75c]
mov esi, 0x7dd75c
cmp byte [ebx + 0xa4], cl
je 0x4d317d
cmp dword [ebx + 0xfc], 0
je 0x4d2d51
mov ecx, dword [0x7dbb48]
mov eax, ecx
sub eax, edx
cmp eax, 0xb4
jb 0x4d2d51
mov eax, edx
lock cmpxchg dword [esi], ecx
cmp eax, edx
jne 0x4d2d51
mov eax, dword [ebp + 0x10]
mov byte [eax], 1
cmp byte [ebx + 0xa4], 0
je 0x4d317d
cmp byte [0x7dd764], 0
jne 0x4d317d
mov eax, dword [ebx + 0x10c]
test eax, eax
jne 0x4d2da0
mov eax, dword [ebx + 0x104]
test eax, eax
je 0x4d314c
push 0
push 0
push 0
push 0
push str.SteamHTTPClient
call eax
mov dword [ebx + 0x10c], eax
test eax, eax
je 0x4d314c
cmp dword [ebx + 0x100], 0
je 0x4d314c
mov edi, dword [ebp + 8]
mov esi, 0x6e3a60
mov edx, esi
mov ecx, esi
mov eax, dword [edi + 0x68]
test eax, eax
cmovne edx, eax
mov eax, dword [edi + 0x64]
test eax, eax
push edx
cmovne ecx, eax
cmp byte [edi + 0x102], 0
push ecx
mov eax, 0x6e685c
cmove eax, esi
push eax
lea eax, [ebp - 0x24]
push str.http_s:___s_s
push eax
call fcn.004b6390
add esp, 0x14
mov dword [ebp - 0x44], 1
xor eax, eax
mov dword [ebp - 0x40], 3
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
push 4
push dword [ebp - 0x24]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
call fcn.0046b410
mov eax, dword [0x7dbb48]
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc], eax
call edi
mov esi, dword [ebx + 0x100]
lea ecx, [ebp - 0x64]
mov dword [ebp - 8], eax
call fcn.00453da0
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0x44]
push ecx
push eax
push dword [ebx + 0x10c]
call esi
mov dword [ebp + 0x10], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
call edi
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x1c], eax
test ecx, ecx
jne 0x4d2f02
cmp esi, 0x2ee6
jne 0x4d2ebc
mov esi, dword [ebx + 0x100]
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x40], 2
call fcn.00453da0
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0x44]
push ecx
push eax
push dword [ebx + 0x10c]
call esi
mov edi, eax
mov dword [ebp + 0x10], edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov ecx, edi
test edi, edi
jne 0x4d2f02
cmp esi, 0x2eef
jne 0x4d2efd
mov esi, dword [ebx + 0x100]
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x30], 1
call fcn.00453da0
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0x44]
push ecx
push eax
push dword [ebx + 0x10c]
call esi
mov edi, eax
mov dword [ebp + 0x10], edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov ecx, edi
test edi, edi
jne 0x4d2f02
mov edi, dword [ebp - 0x14]
jmp 0x4d2f0f
mov edi, dword [ebp - 0x14]
test edi, edi
je 0x4d2f0f
cmp word [edi], 0
jne 0x4d2f1c
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 8]
cmp eax, 0x3e8
jae 0x4d2f3d
mov eax, dword [0x7dd75c]
mov edx, dword [ebp - 0xc]
cmp eax, edx
jae 0x4d2f3a
cmp byte [0x7dd764], 0
jne 0x4d2f3a
mov edi, 0x7dd75c
lock cmpxchg dword [edi], edx
mov edi, dword [ebp - 0x14]
test ecx, ecx
je 0x4d3107
mov eax, dword [ebp - 0x10]
mov dword [ebp + 0x10], eax
test eax, eax
je 0x4d2f87
push 4
push 0
push 0
push eax
call fcn.00549710
mov esi, eax
push esi
call fcn.0054d21c
push 0
mov edi, eax
push esi
push edi
push dword [ebp + 0x10]
mov dword [ebp - 8], edi
call fcn.00549710
mov eax, 1
mov dword [ebp + 0x10], edi
mov edi, dword [ebp - 0x14]
add esp, 0x24
mov dword [ebp - 4], eax
jmp 0x4d2f97
mov eax, dword [ebp + 8]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov dword [ebp + 0x10], 0x6efae8
test edi, edi
je 0x4d2fcb
push 4
push 0
or eax, 2
push 0
push edi
mov dword [ebp - 4], eax
call fcn.00549710
mov esi, eax
push esi
call fcn.0054d21c
push 0
push esi
mov esi, eax
mov dword [ebp - 0xc], eax
push esi
push edi
call fcn.00549710
add esp, 0x24
mov edi, esi
jmp 0x4d2fd3
mov esi, dword [ebp + 8]
mov edi, 0x6efae8
push 0
push 0
lea ecx, [ebp - 0x8c]
call fcn.00457a90
push dword [ebp + 0x10]
push edi
push str.Auto_proxy_finds:__s___s_n
lea ecx, [eax + 0x20]
push ecx
lea ecx, [eax + 8]
push ecx
push eax
push 5
push 4
push 0
push 0x1f
push 0
push 0
call fcn.00450b30
mov eax, dword [ebp - 4]
add esp, 0x30
test al, 2
je 0x4d3021
and eax, 0xfffffffd
push esi
mov dword [ebp - 4], eax
call fcn.0054d225
mov eax, dword [ebp - 4]
add esp, 4
test al, 1
je 0x4d3030
push dword [ebp - 8]
call fcn.0054d225
add esp, 4
mov eax, dword [ebp - 0x10]
mov esi, dword [sym.imp.KERNEL32.dll_GlobalFree]
test eax, eax
je 0x4d3040
push eax
call esi
cmp dword [ebp - 0x14], 0
je 0x4d30e7
mov edi, dword [ebp + 8]
mov ecx, dword [ebx + 0xa8]
push edi
call fcn.004ba8c0
mov edi, dword [ebp - 0x14]
mov ebx, 0x6e3a60
mov dword [ebp + 0x10], eax
xor eax, eax
test edi, edi
mov byte [ebp + 0xb], 0
cmovne ebx, eax
test ebx, ebx
jne 0x4d309e
push 4
push ebx
push ebx
push edi
mov byte [ebp + 0xb], 1
call fcn.00549710
mov esi, eax
push esi
call fcn.0054d21c
push 0
mov ebx, eax
push esi
push ebx
push edi
call fcn.00549710
mov esi, dword [sym.imp.KERNEL32.dll_GlobalFree]
add esp, 0x24
mov ecx, dword [ebp + 0xc]
lea eax, [ecx + 0x16]
push eax
push dword [ebp + 0x10]
push ebx
call fcn.004c09b0
cmp byte [ebp + 0xb], 0
je 0x4d30bd
push ebx
call fcn.0054d225
add esp, 4
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x4d30c7
push eax
call esi
lea ecx, [ebp - 0x64]
mov bl, 1
call fcn.00451c70
push dword [ebp - 0x24]
call fcn.0054d225
add esp, 4
mov al, bl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
lea ecx, [ebp - 0x64]
xor bl, bl
call fcn.00451c70
push dword [ebp - 0x24]
call fcn.0054d225
add esp, 4
mov al, bl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 0
push 0
lea ecx, [ebp - 0x8c]
call fcn.00457a90
push esi
push str.Auto_proxy_check_failed__last_errror___d_n
lea ecx, [eax + 0x20]
push ecx
lea ecx, [eax + 8]
push ecx
push eax
push 1
push 4
push 0
push 0x1f
push 0
push 0
call fcn.00450b30
add esp, 0x2c
lea ecx, [ebp - 0x64]
call fcn.00451c70
push dword [ebp - 0x24]
call fcn.0054d225
add esp, 4
push 0
push 0
lea ecx, [ebp - 0xb4]
call fcn.00457a90
push str.Auto_proxy_complete_n
lea ecx, [eax + 0x20]
push ecx
lea ecx, [eax + 8]
push ecx
push eax
push 5
push 4
push 0
push 0x1f
push 0
push 0
call fcn.00450b30
add esp, 0x28
mov edi, dword [ebp + 8]
mov eax, 0x60
mov esi, 0x78
cmp byte [edi + 0x102], 0
cmove esi, eax
add esi, ebx
mov ecx, esi
call fcn.004c0e30
test al, al
je 0x4d31eb
cmp word [esi + 0x16], 0
je 0x4d31eb
lea eax, [ebx + 0x90]
mov ecx, ebx
push eax
push edi
call fcn.004d3630
test al, al
jne 0x4d31eb
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi]
mov dword [ecx], eax
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x14], eax
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebx + 0xb4]
mov esi, 0x6e3a60
test eax, eax
mov edi, esi
cmovne edi, eax
test cl, cl
je 0x4d324e
push 4
push 0
push 0
push edi
mov byte [ebp + 0x13], 1
call fcn.005498d0
xor ecx, ecx
mov esi, eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0054d21c
push 0
push esi
push eax
push edi
mov dword [ebp - 8], eax
call fcn.005498d0
mov edi, dword [ebp - 8]
add esp, 0x24
mov esi, 0x6e3a60
jmp 0x4d325f
mov edi, dword [ebx + 0x110]
mov dword [ebp - 8], 0
mov byte [ebp + 0x13], 0
mov eax, dword [ebx + 0x10c]
mov dword [ebp - 4], edi
test eax, eax
jne 0x4d3297
mov eax, dword [ebx + 0x104]
test eax, eax
je 0x4d3408
push 0
push 0
push 0
push 0
push str.SteamHTTPClient
call eax
mov dword [ebx + 0x10c], eax
test eax, eax
je 0x4d3408
cmp dword [ebx + 0x100], 0
je 0x4d3408
mov ecx, dword [ebp + 8]
mov edx, esi
mov eax, dword [ecx + 0x68]
test eax, eax
cmovne edx, eax
mov eax, dword [ecx + 0x64]
test eax, eax
mov ecx, esi
push edx
cmovne ecx, eax
mov eax, 0x6e685c
push ecx
mov ecx, dword [ebp + 8]
cmp byte [ecx + 0x102], 0
cmove eax, esi
push eax
lea eax, [ebp - 0x2c]
push str.http_s:___s_s
push eax
call fcn.0049eb10
mov eax, dword [ebx + 0x100]
add esp, 0x14
cmp byte [ebp - 0x1d], 0
mov dword [ebp - 0x44], 2
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0xc], eax
jge 0x4d3324
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
jne 0x4d3327
mov eax, 0x6e3a60
jmp 0x4d332e
lea ecx, [ebp - 0x2c]
test ecx, ecx
mov eax, esi
cmovne eax, ecx
push 4
push 0
push 0
push eax
mov dword [ebp - 0x1c], eax
call fcn.005498d0
xor ecx, ecx
mov esi, eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0054d21c
push 0
mov edi, eax
push esi
push edi
push dword [ebp - 0x1c]
call fcn.005498d0
add esp, 0x24
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x44]
push eax
push edi
push dword [ebx + 0x10c]
call dword [ebp - 0xc]
push edi
mov esi, eax
call fcn.0054d225
add esp, 4
test esi, esi
jne 0x4d3485
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x2eef
jne 0x4d33f1
cmp byte [ebp - 0x1d], 0
mov esi, dword [ebx + 0x100]
mov dword [ebp - 0x30], 1
jge 0x4d33b9
mov eax, dword [ebp - 0x2c]
test eax, eax
jne 0x4d33bc
mov eax, 0x6e3a60
jmp 0x4d33bc
lea eax, [ebp - 0x2c]
push 4
push eax
lea ecx, [ebp - 0x64]
call fcn.0046b410
mov ecx, eax
call fcn.00453da0
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0x44]
push ecx
push eax
push dword [ebx + 0x10c]
call esi
lea ecx, [ebp - 0x64]
mov esi, eax
call fcn.00451c70
test esi, esi
jne 0x4d3485
cmp byte [ebp - 0x1d], 0
jge 0x4d3408
call fcn.005368d0
push 0
push dword [ebp - 0x2c]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x1c]
push dword [ebp - 4]
and dword [ebp - 0x50], 0xff0fffff
xor eax, eax
push str.Failed_to_evaluate_PAC_URL__ls_n
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x4c]
mov byte [ebp - 0x4d], 0
and dword [ebp - 0x50], 0xfff00000
push eax
lea eax, [ebp - 0x54]
mov dword [ebp - 0x54], 0
push eax
push 1
push 4
push 0
push 0x1f
push 0
push 0
mov dword [ebp - 0x38], 3
call fcn.00450b30
add esp, 0x2c
xor bl, bl
cmp byte [ebp + 0x13], 0
je 0x4d347a
push dword [ebp - 8]
call fcn.0054d225
add esp, 4
pop edi
pop esi
mov al, bl
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp byte [ebp - 0x1d], 0
jge 0x4d3499
mov edi, dword [ebp - 0x2c]
test edi, edi
jne 0x4d349c
mov edi, 0x6e3a60
jmp 0x4d349c
lea edi, [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0xb4]
test eax, eax
mov esi, str._direct_
push 0
push 0
cmovne esi, eax
call fcn.00457a90
push edi
push esi
push dword [ebp - 4]
lea ecx, [eax + 0x20]
push str.Explicit_PAC_URL__ls_returned__ls_for__s_n
push ecx
lea ecx, [eax + 8]
push ecx
push eax
push 5
push 4
push 0
push 0x1f
push 0
push 0
call fcn.00450b30
mov eax, dword [ebp - 0x10]
add esp, 0x34
mov esi, dword [sym.imp.KERNEL32.dll_GlobalFree]
test eax, eax
je 0x4d34ef
push eax
call esi
cmp dword [ebp - 0x14], 0
je 0x4d3570
push dword [ebp + 8]
mov ecx, dword [ebx + 0xa8]
call fcn.004ba8c0
mov edi, dword [ebp - 0x14]
mov ebx, 0x6e3a60
mov dword [ebp - 0xc], eax
xor eax, eax
test edi, edi
mov byte [ebp + 0xb], 0
cmovne ebx, eax
test ebx, ebx
jne 0x4d3548
push 4
push ebx
push ebx
push edi
mov byte [ebp + 0xb], 1
call fcn.00549710
mov esi, eax
push esi
call fcn.0054d21c
push 0
mov ebx, eax
push esi
push ebx
push edi
call fcn.00549710
mov esi, dword [sym.imp.KERNEL32.dll_GlobalFree]
add esp, 0x24
mov ecx, dword [ebp + 0xc]
lea eax, [ecx + 0x16]
push eax
push dword [ebp - 0xc]
push ebx
call fcn.004c09b0
cmp byte [ebp + 0xb], 0
je 0x4d3567
push ebx
call fcn.0054d225
add esp, 4
push dword [ebp - 0x14]
call esi
mov bl, 1
jmp 0x4d3572
xor bl, bl
cmp byte [ebp - 0x1d], 0
jge 0x4d3469
call fcn.005368d0
push 0
push dword [ebp - 0x2c]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x1c]
jmp 0x4d3469