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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x43169c
sub esp, 0x30
movzx eax, byte [0xbc6fb2]
test al, al
jne 0x4314a0
movzx eax, byte [0xbc6fb0]
test al, al
jne 0x4314a0
mov eax, dword [0xbc7070]
test eax, eax
ja 0x43149c
movzx eax, byte [0xbc6fb1]
test al, al
je 0x431480
xor eax, eax
mov ecx, dword [0xbb5da0]
mov edx, dword [0xbb5db0]
sub ecx, edx
mov edx, dword [0xbb5d98]
mov ebx, ecx
sub ecx, edx
mov ebp, dword [0xbb5d9c]
sub ecx, ebp
mov esi, dword [0xbb5dac]
sub ecx, esi
cmp ecx, eax
jg 0x43147c
test ecx, ecx
jl 0x4315c1
lea eax, [0xbc700c]
mov dword [esp], eax
call fcn.00407fe0
xor eax, eax
xor ecx, ecx
jmp 0x43132b
mov edx, dword [esp + 0xc]
inc edx
mov ecx, eax
mov eax, edx
mov dword [esp + 0x10], ecx
mov edx, dword [0xbb55d0]
mov ebx, dword [0xbb55d4]
cmp eax, ebx
jge 0x43139c
jae 0x4315ba
mov dword [esp + 0xc], eax
mov ecx, dword [edx + eax*4]
mov dword [esp + 0x28], ecx
mov dword [esp], ecx
call fcn.00445b40
movzx eax, byte [esp + 4]
test al, al
je 0x431367
mov eax, dword [esp + 0x10]
jmp 0x431322
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.0042a9e0
mov eax, dword [esp + 4]
mov ecx, eax
and eax, 0xffffefff
lea edx, [eax - 1]
cmp edx, 2
jbe 0x43151b
cmp eax, 4
jne 0x431396
mov eax, dword [esp + 0x10]
inc eax
jmp 0x431322
mov eax, dword [esp + 0x10]
jmp 0x431322
lea eax, [0xbc700c]
mov dword [esp], eax
call fcn.004081b0
mov eax, dword [esp + 0x10]
test eax, eax
je 0x431503
call fcn.00440430
mov eax, dword [esp]
test eax, eax
je 0x4314d4
mov dword [esp + 0x2c], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 1
call fcn.0042acb0
mov eax, dword [esp + 0x2c]
mov dword [eax + 0x58], 0
mov ecx, dword [0xbb5dcc]
test ecx, ecx
je 0x43146a
lea edx, [ecx + 0x58]
test byte [edx], al
mov edx, eax
mov dword [ecx + 0x58], eax
lea eax, [0xbb5dcc]
test byte [eax], al
mov dword [0xbb5dcc], edx
mov eax, dword [0xbb5dd0]
inc eax
mov dword [0xbb5dd0], eax
call fcn.00432d80
mov eax, dword [esp]
test eax, eax
je 0x4314bc
mov ecx, dword [0xbb5d94]
test ecx, ecx
je 0x43144e
mov edx, dword [ecx + 0xb8]
mov dword [0xbb5d94], edx
mov edx, dword [0xbb5d98]
dec edx
mov dword [0xbb5d98], edx
test ecx, ecx
je 0x4314a4
lea edx, [ecx + 0x58]
test byte [edx], al
mov dword [ecx + 0x58], eax
lea eax, [ecx + 0xb0]
mov dword [esp], eax
call fcn.004082a0
add esp, 0x30
ret
lea ecx, [0xbb5dc8]
test byte [ecx], al
mov edx, eax
mov dword [0xbb5dc8], eax
jmp 0x4313fe
add esp, 0x30
ret
movzx eax, byte [0xbc6fa7]
test al, al
je 0x431495
mov eax, 1
jmp 0x4312d6
xor eax, eax
jmp 0x4312d6
add esp, 0x30
ret
add esp, 0x30
ret
lea eax, [0x7e53e7]
mov dword [esp], eax
mov dword [esp + 4], 0x19
call fcn.00427a40
ud2
lea eax, [0x7e5400]
mov dword [esp], eax
mov dword [esp + 4], 0x19
call fcn.00427a40
ud2
mov eax, dword fs:[0x14]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov dword [eax + 0x68], 0xffffffff
lea eax, [0x7ebb44]
mov dword [esp], eax
mov dword [esp + 4], 0x25
call fcn.00427a40
ud2
lea eax, [0x7f1c7d]
mov dword [esp], eax
mov dword [esp + 4], 0x36
call fcn.00427a40
ud2
mov dword [esp + 0x24], ecx
lea eax, [0xbc700c]
mov dword [esp], eax
call fcn.004081b0
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 0x54]
mov dword [esp + 0x20], ecx
mov eax, dword [eax + 0x50]
mov dword [esp + 0x1c], eax
call fcn.00428300
lea eax, [0x7e69fb]
mov dword [esp], eax
mov dword [esp + 4], 0x1b
call fcn.00428b80
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
call fcn.004289d0
lea eax, [0x7de586]
mov dword [esp], eax
mov dword [esp + 4], 0xb
call fcn.00428b80
mov eax, dword [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.004288a0
call fcn.00428510
call fcn.00428370
lea eax, [0x7e30fb]
mov dword [esp], eax
mov dword [esp + 4], 0x15
call fcn.00427a40
ud2
call fcn.00426630
ud2
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x14], esi
call fcn.00428300
lea eax, [0x7e6a16]
mov dword [esp], eax
mov dword [esp + 4], 0x1b
call fcn.00428b80
mov eax, dword [esp + 0x20]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
call fcn.004289d0
lea eax, [0x7df70c]
mov dword [esp], eax
mov dword [esp + 4], 0xe
call fcn.00428b80
mov eax, dword [esp + 0x18]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
call fcn.004289d0
lea eax, [0x7dd47d]
mov dword [esp], eax
mov dword [esp + 4], 8
call fcn.00428b80
mov eax, dword [esp + 0x24]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
call fcn.004289d0
lea eax, [0x7dd044]
mov dword [esp], eax
mov dword [esp + 4], 7
call fcn.00428b80
mov eax, dword [esp + 0x14]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
call fcn.004289d0
call fcn.00428510
call fcn.00428370
lea eax, [0x7e8199]
mov dword [esp], eax
mov dword [esp + 4], 0x1e
call fcn.00427a40
ud2
call fcn.0044b4c0
jmp fcn.00431280