Function at 0x4d1280
Capabilities:
Reference http user-agent string

Disassembly:
sub esp, 0x18
push esi
mov esi, dword [esp + 0x28]
push edi
mov edi, ecx
mov eax, dword [edi + 0x11c]
cmp esi, eax
je 0x4d164a
test eax, eax
jl 0x4d1308
lea ecx, [esp + 0x10]
push ecx
push eax
mov ecx, edi
call fcn.004d1660
mov eax, dword [edi + 0x120]
test eax, eax
jne 0x4d12c1
mov edx, dword [esp + 0x14]
add edx, 5
mov dword [esp + 0x1c], edx
jmp 0x4d12ed
cmp eax, 1
jne 0x4d12d6
mov eax, dword [esp + 0x14]
sub eax, 4
mov dword [esp + 0x14], eax
add eax, 9
jmp 0x4d12e9
cmp eax, 2
jne 0x4d12ed
mov eax, dword [esp + 0x14]
sub eax, 4
mov dword [esp + 0x14], eax
add eax, 5
mov dword [esp + 0x1c], eax
mov ecx, dword [edi + 0x1c]
lea eax, [esp + 0x10]
push 1
push eax
push ecx
call dword [sym.imp.USER32.dll_InvalidateRect]
mov edx, dword [edi + 0x1c]
push edx
call dword [sym.imp.USER32.dll_UpdateWindow]
test esi, esi
mov dword [edi + 0x11c], esi
jl 0x4d164a
lea eax, [esp + 0x10]
push ebx
push eax
push esi
mov ecx, edi
call fcn.004d1660
mov ecx, dword [edi + 0x14c]
mov esi, dword [esp + 0x28]
push ecx
mov ecx, esi
mov dword [edi + 0x120], eax
call fcn.00515d24
mov edx, dword [esp + 0x18]
mov ebx, eax
mov eax, dword [esp + 0x14]
push edx
lea ecx, [esp + 0x10]
push eax
push ecx
mov ecx, esi
call fcn.00516215
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
push edx
push eax
mov ecx, esi
call fcn.00516261
cmp dword [edi + 0x120], 2
je 0x4d14bb
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
inc ecx
lea eax, [esp + 0xc]
push ecx
push edx
push eax
mov ecx, esi
call fcn.00516215
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
inc ecx
add edx, 7
push ecx
push edx
mov ecx, esi
call fcn.00516261
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
add eax, 2
lea edx, [esp + 0xc]
push eax
push ecx
push edx
mov ecx, esi
call fcn.00516215
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
add eax, 2
add ecx, 5
push eax
push ecx
mov ecx, esi
call fcn.00516261
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
add edx, 3
lea ecx, [esp + 0xc]
push edx
push eax
push ecx
mov ecx, esi
call fcn.00516215
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
add edx, 3
add eax, 3
push edx
push eax
mov ecx, esi
call fcn.00516261
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
add ecx, 4
lea eax, [esp + 0xc]
push ecx
push edx
push eax
mov ecx, esi
call fcn.00516215
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
add ecx, 4
inc edx
push ecx
push edx
mov ecx, esi
call fcn.00516261
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
inc eax
dec ecx
push eax
lea edx, [esp + 0x10]
push ecx
push edx
mov ecx, esi
call fcn.00516215
mov eax, dword [esp + 0x18]
inc eax
push eax
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffff9
push ecx
mov ecx, esi
call fcn.00516261
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
add edx, 2
dec eax
push edx
lea ecx, [esp + 0x10]
push eax
push ecx
mov ecx, esi
call fcn.00516215
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
add edx, 2
add eax, 0xfffffffb
push edx
push eax
mov ecx, esi
call fcn.00516261
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
add ecx, 3
dec edx
push ecx
lea eax, [esp + 0x10]
push edx
push eax
mov ecx, esi
call fcn.00516215
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
add ecx, 3
add edx, 0xfffffffd
push ecx
push edx
mov ecx, esi
call fcn.00516261
mov eax, dword [edi + 0x120]
test eax, eax
je 0x4d1641
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
dec eax
lea edx, [esp + 0xc]
push eax
push ecx
push edx
mov ecx, esi
call fcn.00516215
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
dec eax
add ecx, 7
push eax
push ecx
mov ecx, esi
call fcn.00516261
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
add edx, 0xfffffffe
lea ecx, [esp + 0xc]
push edx
push eax
push ecx
mov ecx, esi
call fcn.00516215
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
add edx, 0xfffffffe
add eax, 5
push edx
push eax
mov ecx, esi
call fcn.00516261
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
add ecx, 0xfffffffd
lea eax, [esp + 0xc]
push ecx
push edx
push eax
mov ecx, esi
call fcn.00516215
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
add ecx, 0xfffffffd
add edx, 3
push ecx
push edx
mov ecx, esi
call fcn.00516261
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
add eax, 0xfffffffc
lea edx, [esp + 0xc]
push eax
push ecx
push edx
mov ecx, esi
call fcn.00516215
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
add eax, 0xfffffffc
inc ecx
push eax
push ecx
mov ecx, esi
call fcn.00516261
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
dec edx
dec eax
push edx
lea ecx, [esp + 0x10]
push eax
push ecx
mov ecx, esi
call fcn.00516215
mov edx, dword [esp + 0x18]
dec edx
push edx
mov eax, dword [esp + 0x20]
mov ecx, esi
add eax, 0xfffffff9
push eax
call fcn.00516261
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
add ecx, 0xfffffffe
dec edx
push ecx
lea eax, [esp + 0x10]
push edx
push eax
mov ecx, esi
call fcn.00516215
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
add ecx, 0xfffffffe
add edx, 0xfffffffb
push ecx
push edx
mov ecx, esi
call fcn.00516261
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
add eax, 0xfffffffd
dec ecx
push eax
lea edx, [esp + 0x10]
push ecx
push edx
mov ecx, esi
call fcn.00516215
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
add eax, 0xfffffffd
add ecx, 0xfffffffd
push eax
push ecx
mov ecx, esi
call fcn.00516261
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
add edx, 0xfffffffc
dec eax
push edx
lea ecx, [esp + 0x10]
push eax
push ecx
mov ecx, esi
call fcn.00516215
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
add edx, 0xfffffffc
dec eax
push edx
push eax
mov ecx, esi
call fcn.00516261
push ebx
mov ecx, esi
call fcn.00515d24
pop ebx
pop edi
pop esi
add esp, 0x18
ret 0xc