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

Disassembly:
mov ecx, dword [0x99504c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x50747d
sub esp, 0x28
mov eax, dword [esp + 0x2c]
movzx ecx, byte [eax + 0x24]
test cl, cl
je 0x5072b8
movzx ecx, word [eax + 0x130]
add ecx, dword [eax + 0x1c]
cmp dword [eax + 4], ecx
jge 0x50729a
mov eax, dword [0x9672f0]
mov ecx, dword [0x9672f4]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ecx
add esp, 0x28
ret
mov dword [eax + 0x1c], ecx
mov byte [eax + 0x24], 0
inc dword [eax + 0x20]
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
add esp, 0x28
ret
movzx ecx, byte [esp + 0x30]
movzx edx, byte [eax + 0x18]
cmp dl, cl
jae 0x5072d3
mov ecx, dword [0x9672b0]
mov edx, dword [0x9672b4]
jmp 0x507343
jbe 0x5072e3
mov ecx, dword [0x9672b8]
mov edx, dword [0x9672bc]
jmp 0x507343
mov byte [eax + 0x24], 0
cmp cl, 3
ja 0x507302
cmp cl, 2
jne 0x5072f7
movzx ecx, word [eax + 0x10]
jmp 0x50731a
cmp cl, 3
jne 0x507318
movzx ecx, word [eax + 0x12]
jmp 0x50731a
cmp cl, 4
jne 0x50730d
movzx ecx, word [eax + 0x14]
jmp 0x50731a
cmp cl, 5
jne 0x507318
movzx ecx, word [eax + 0x16]
jmp 0x50731a
xor ecx, ecx
movzx ecx, cx
cmp dword [eax + 0x20], ecx
jne 0x50733f
mov dword [eax + 0x20], 0
movzx ebx, byte [eax + 0x18]
inc ebx
mov byte [eax + 0x18], bl
mov ecx, dword [0x9672b8]
mov edx, dword [0x9672bc]
jmp 0x507343
xor ecx, ecx
xor edx, edx
test ecx, ecx
jne 0x507471
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
mov ebx, dword [eax]
mov ebp, dword [eax + 0x1c]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
call fcn.00508ee0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x2c]
mov dword [ebp + 0x1c], eax
test ecx, ecx
je 0x50745a
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], edx
lea eax, [0x70a980]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [esp + 0x20], eax
mov ecx, dword [0x96e8d4]
lea edx, [0x6f7d20]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ecx, [esp + 0x30]
mov dword [esp + 8], ecx
call fcn.0040d350
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], 0
lea edx, [0x73c020]
mov dword [esp + 4], edx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.00452120
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
mov dword [edx + 4], eax
mov eax, dword [0x995310]
test eax, eax
je 0x50741b
call fcn.00468e70
mov dword [edi], ecx
mov eax, dword [edx]
mov dword [edi + 4], eax
mov dword [edx], ecx
mov eax, dword [esp + 0x24]
mov dword [edx + 8], eax
mov eax, dword [0x995310]
test eax, eax
jne 0x507434
mov eax, dword [esp + 0x1c]
jmp 0x507445
call fcn.00468e70
mov eax, dword [esp + 0x1c]
mov dword [edi], eax
mov ecx, dword [edx + 0xc]
mov dword [edi + 4], ecx
mov dword [edx + 0xc], eax
lea eax, [0x7b0fe8]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], edx
add esp, 0x28
ret
inc dword [ebp + 0x20]
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
add esp, 0x28
ret
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], edx
add esp, 0x28
ret
call fcn.00467a60
jmp fcn.00507250