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

Disassembly:
mov ecx, dword [0x99504c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x1e8]
cmp eax, dword [ecx + 8]
jbe 0x51153f
sub esp, 0x268
nop
call fcn.00466540
mov eax, dword [esp]
mov dword [esp + 0x124], eax
lea ecx, [0x6f4820]
mov dword [esp], ecx
mov dword [esp + 4], 2
mov dword [esp + 8], 0x202
call fcn.0044e560
mov eax, dword [esp + 0xc]
mov dword [esp + 0x12a], 0
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0
mov ecx, dword [esp + 0x124]
shr ecx, 1
mov dword [esp + 0x124], ecx
mov word [esp + 0x12a], cx
mov byte [esp + 0x132], 1
movzx edx, byte [esp + 0x370]
mov byte [esp + 0x134], dl
mov dword [esp], eax
mov dword [esp + 4], 2
mov dword [esp + 8], 0x202
mov eax, dword [esp + 0x12a]
mov dword [esp + 0xc], eax
lea edi, [esp + 0xe]
lea esi, [esp + 0x12c]
call fcn.004695f2
call fcn.00507f80
lea edi, [esp + 0x244]
lea esi, [esp + 0x1c]
call fcn.004695b6
movzx eax, byte [esp + 0x250]
test al, al
ja 0x51115b
mov eax, dword [0x9672b0]
mov ecx, dword [0x9672b4]
jmp 0x511172
cmp al, 2
jbe 0x51116e
mov eax, dword [0x9672b8]
mov ecx, dword [0x9672bc]
jmp 0x511172
xor eax, eax
xor ecx, ecx
test eax, eax
jne 0x511182
mov byte [esp + 0x250], 2
xor eax, eax
xor ecx, ecx
test eax, eax
jne 0x5114d3
lea eax, [esp + 0x244]
mov dword [esp], eax
lea edi, [esp + 4]
lea esi, [esp + 0x26c]
call fcn.00469386
call fcn.00508150
mov eax, dword [esp + 0x108]
test eax, eax
jne 0x511464
movzx ecx, byte [esp + 0x250]
test cl, cl
ja 0x5111d2
mov ecx, dword [0x9672b0]
mov edx, dword [0x9672b4]
jmp 0x5111e9
cmp cl, 5
jbe 0x5111e5
mov ecx, dword [0x9672b8]
mov edx, dword [0x9672bc]
jmp 0x5111e9
xor ecx, ecx
xor edx, edx
test ecx, ecx
jne 0x5111f9
mov byte [esp + 0x250], 5
xor ecx, ecx
xor edx, edx
test ecx, ecx
jne 0x511403
lea edi, [esp + 0x138]
xor eax, eax
call fcn.004690bd
nop
lea edi, [esp + 0x138]
lea esi, [0x7b3500]
call fcn.00469390
mov dword [esp + 0x238], 0x4d00029
mov dword [esp + 0x23c], 0
lea ecx, [esp + 0x244]
mov dword [esp], ecx
lea edi, [esp + 4]
lea esi, [esp + 0x138]
call fcn.00469372
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], 0
call fcn.00508310
mov ecx, dword [esp + 0x11c]
test ecx, ecx
jne 0x511394
lea eax, [esp + 0x244]
mov dword [esp], eax
call fcn.00508780
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x51132b
mov ecx, dword [esp + 8]
cmp ecx, 2
jb 0x511534
mov eax, dword [esp + 0xc]
lea edx, [ecx - 2]
lea ebx, [eax - 2]
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 2
mov esi, dword [esp + 4]
add ebx, esi
mov edi, edx
sar edx, 8
mov byte [esi], dl
xchg edi, eax
mov byte [esi + 1], al
xchg edi, eax
mov edx, dword [esp + 0x124]
mov word [esp + 0x374], dx
mov dword [esp + 0x378], ebx
mov dword [esp + 0x37c], edi
mov dword [esp + 0x380], ebp
mov dword [esp + 0x384], esi
mov dword [esp + 0x388], ecx
mov dword [esp + 0x38c], eax
mov dword [esp + 0x390], 0
mov dword [esp + 0x394], 0
add esp, 0x268
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov word [esp + 0x374], 0
mov dword [esp + 0x378], 0
mov dword [esp + 0x37c], 0
mov dword [esp + 0x380], 0
mov dword [esp + 0x384], 0
mov dword [esp + 0x388], 0
mov dword [esp + 0x38c], 0
mov dword [esp + 0x390], eax
mov dword [esp + 0x394], ecx
add esp, 0x268
ret
mov eax, dword [esp + 0x11c]
mov ecx, dword [esp + 0x120]
mov word [esp + 0x374], 0
mov dword [esp + 0x378], 0
mov dword [esp + 0x37c], 0
mov dword [esp + 0x380], 0
mov dword [esp + 0x384], 0
mov dword [esp + 0x388], 0
mov dword [esp + 0x38c], 0
mov dword [esp + 0x390], eax
mov dword [esp + 0x394], ecx
add esp, 0x268
ret
mov word [esp + 0x374], 0
mov dword [esp + 0x378], 0
mov dword [esp + 0x37c], 0
mov dword [esp + 0x380], 0
mov dword [esp + 0x384], 0
mov dword [esp + 0x388], 0
mov dword [esp + 0x38c], 0
mov dword [esp + 0x390], ecx
mov dword [esp + 0x394], edx
add esp, 0x268
ret
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x10c]
mov word [esp + 0x374], 0
mov dword [esp + 0x378], 0
mov dword [esp + 0x37c], 0
mov dword [esp + 0x380], 0
mov dword [esp + 0x384], 0
mov dword [esp + 0x388], 0
mov dword [esp + 0x38c], 0
mov dword [esp + 0x390], eax
mov dword [esp + 0x394], ecx
add esp, 0x268
ret
mov word [esp + 0x374], 0
mov dword [esp + 0x378], 0
mov dword [esp + 0x37c], 0
mov dword [esp + 0x380], 0
mov dword [esp + 0x384], 0
mov dword [esp + 0x388], 0
mov dword [esp + 0x38c], 0
mov dword [esp + 0x390], eax
mov dword [esp + 0x394], ecx
add esp, 0x268
ret
mov eax, 2
call fcn.00468f30
nop
call fcn.00467a60
jmp fcn.00511050