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

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x1e
push 0
push 0
dec ecx
jne 0x49b825
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
call fcn.0040518c
mov eax, dword [ebp - 0x18]
call fcn.0040518c
mov ebx, 0x4ae31c
xor eax, eax
push ebp
push 0x49c044
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
call fcn.00404ccc
lea eax, [ebp - 0x24]
call fcn.00404ccc
xor eax, eax
push ebp
push 0x49b89a
push dword fs:[eax]
mov dword fs:[eax], esp
xor ecx, ecx
mov dl, 1
mov eax, dword [0x484e80]
call fcn.0045da34
mov dword [0x4ae364], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x49b8bd
lea eax, [ebp - 0x38]
mov edx, 0x49c060
call fcn.00404d64
mov edx, 0x49c0a4
mov eax, dword [ebx]
call fcn.0046dfc4
push 0
push 1
xor ecx, ecx
mov edx, dword [ebp - 0x38]
mov eax, dword [ebx]
call fcn.0046d3b8
test eax, eax
jne 0x49b8fe
mov eax, dword [0x4ab608]
mov eax, dword [eax]
mov edx, dword [0x4abc40]
mov dword [edx], eax
jmp 0x49bf20
lea eax, [ebp - 0x34]
mov edx, dword [ebx]
mov edx, dword [edx + 0x48]
call fcn.00404d64
mov edx, 0x49c100
mov eax, dword [ebp - 0x34]
call fcn.00470d28
lea eax, [ebp - 0x38]
mov edx, 0x49c110
call fcn.00404d64
mov edx, 0x49c0a4
mov eax, dword [ebx]
call fcn.0046dfc4
push 0
push 1
xor ecx, ecx
mov edx, dword [ebp - 0x38]
mov eax, dword [ebx]
call fcn.0046d3b8
test eax, eax
jne 0x49b959
mov eax, dword [0x4ab608]
mov eax, dword [eax]
mov edx, dword [0x4abc40]
mov dword [edx], eax
jmp 0x49bf20
lea edx, [ebp - 0x3c]
mov eax, dword [ebx]
mov eax, dword [eax + 0x48]
call fcn.00406d18
mov edx, dword [ebp - 0x3c]
lea eax, [ebp - 0x30]
call fcn.00404f64
mov edx, 0x49c150
mov eax, dword [ebp - 0x30]
call fcn.00470d28
push 1
push 1
lea eax, [ebp - 0x40]
push eax
xor ecx, ecx
mov edx, 0x49c168
mov eax, dword [ebp - 0x30]
call fcn.00461f70
cmp dword [ebp - 0x40], 0
jne 0x49b9bf
push 1
push 1
lea eax, [ebp - 0x44]
push eax
xor ecx, ecx
mov edx, 0x49c180
mov eax, dword [ebp - 0x30]
call fcn.00461f70
mov edx, dword [ebp - 0x44]
lea eax, [ebp - 0x30]
call fcn.00404d64
jmp 0x49b9e1
push 1
push 1
lea eax, [ebp - 0x48]
push eax
xor ecx, ecx
mov edx, 0x49c168
mov eax, dword [ebp - 0x30]
call fcn.00461f70
mov edx, dword [ebp - 0x48]
lea eax, [ebp - 0x30]
call fcn.00404d64
lea eax, [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
mov edx, 0x49c198
call fcn.00404fe8
lea eax, [ebp - 0x4c]
push eax
mov ecx, 0x49c1b4
mov edx, 0x49c1c0
mov eax, dword [ebp - 0x30]
call fcn.00461b68
mov edx, dword [ebp - 0x4c]
lea eax, [ebp - 0x30]
call fcn.00404d64
lea eax, [ebp - 0x50]
push eax
mov ecx, 0x49c1d0
mov edx, 0x49c1e0
mov eax, dword [ebp - 0x30]
call fcn.00461b68
mov edx, dword [ebp - 0x50]
lea eax, [ebp - 0x30]
call fcn.00404d64
mov edx, 0x49c1ec
mov eax, dword [ebp - 0x30]
call fcn.00470d28
xor edx, edx
push ebp
push 0x49bec1
push dword fs:[edx]
mov dword fs:[edx], esp
mov edx, 0x28
mov al, 2
call fcn.004a4370
mov edx, 0x49c200
mov eax, dword [0x4ae364]
call fcn.0048578c
or ecx, 0xffffffff
mov edx, 0x227
mov eax, dword [0x4ae364]
call fcn.0045eeec
lea ecx, [ebp - 0x54]
mov edx, 0xcb
mov eax, dword [0x4ae364]
call fcn.0045e634
mov edx, dword [ebp - 0x54]
lea eax, [ebp - 0x28]
mov ecx, 0x49c218
call fcn.00406970
lea eax, [ebp - 0x10]
push eax
xor eax, eax
mov dword [ebp - 0x5c], eax
xor eax, eax
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x5c]
mov cx, 0xc
mov edx, 1
call fcn.004162f0
push 0
push 1
push 0x49c230
push dword [ebp - 0x34]
push 0x49c28c
push 0x49c2a0
push 0x49c2e0
push 0x49c2ec
push dword [ebp - 0x30]
push 0x49c2e0
push 0x49c28c
push 0x49c344
push 0x49c364
push 0x49c3a8
push 0x49c3fc
push 0x49c40c
push 0x49c41c
lea eax, [ebp - 0x70]
mov edx, 0xf
call fcn.0040505c
mov edx, dword [ebp - 0x70]
lea eax, [ebp - 0x6c]
call fcn.00415cc0
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.00416570
add esp, 0x10
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 0x28]
push eax
mov eax, dword [eax]
call dword [eax + 0xec]
call fcn.00406a3c
push 0
push 1
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.004164a4
add esp, 0x10
lea edx, [ebp - 0x84]
lea eax, [ebp - 0x74]
call fcn.00414c08
mov eax, dword [ebp - 0x74]
mov edx, 0x49c42c
call fcn.00470d28
mov edx, 0x49c43c
mov eax, 0x49c458
call fcn.00470d28
mov edx, 0x2a
mov al, 2
call fcn.004a4370
push 0x49c464
push dword [0x4ae35c]
push 0x49c478
push 0x49c484
push 0x49c4ac
push 0x49c4c4
push 0x49c4f0
push 0x49c518
push 0x49c53c
push 0x49c574
push 0x49c580
push 0x49c5b4
push 0x49c5d4
push 0x49c60c
push 0x49c634
push 0x49c650
push 0x49c670
push 0x49c684
lea eax, [ebp - 0x20]
mov edx, 0x12
call fcn.0040505c
mov eax, dword [ebp - 0x18]
call fcn.00404f9c
mov ebx, eax
test ebx, ebx
jle 0x49bc4c
mov esi, 1
push dword [ebp - 0x20]
push 0x49c6a8
push esi
push 1
lea eax, [ebp - 0x88]
push eax
mov ecx, 0x49c6e8
mov edx, 0x49c6e8
mov eax, dword [ebp - 0x14]
call fcn.00461f70
push dword [ebp - 0x88]
push 0x49c6f4
lea eax, [ebp - 0x20]
mov edx, 4
call fcn.0040505c
inc esi
dec ebx
jne 0x49bc0c
push dword [ebp - 0x20]
push 0x49c700
push 0x49c73c
lea eax, [ebp - 0x20]
mov edx, 3
call fcn.0040505c
mov edx, 0x49c77c
mov eax, dword [ebp - 0x20]
call fcn.00470d28
mov edx, 0x2c
mov al, 2
call fcn.004a4370
lea eax, [ebp - 0x98]
call fcn.004117e4
push eax
push 0x49c78c
lea eax, [ebp - 0x9c]
mov edx, dword [ebp - 0x20]
call fcn.00405554
mov eax, dword [ebp - 0x9c]
push eax
lea eax, [ebp - 0xa0]
call fcn.0040692c
push eax
mov eax, dword [ebp - 0x28]
push eax
mov eax, dword [eax]
call dword [eax + 0x1b0]
call fcn.00406a3c
mov eax, dword [ebp - 0xa0]
push eax
mov eax, dword [eax]
call dword [eax + 0x110]
call fcn.00406a3c
lea eax, [ebp - 0xa4]
call fcn.0040692c
push eax
lea eax, [ebp - 0xb4]
xor edx, edx
mov cl, 1
call fcn.00415ac8
push dword [ebp - 0xa8]
push dword [ebp - 0xac]
push dword [ebp - 0xb0]
push dword [ebp - 0xb4]
lea eax, [ebp - 0xc4]
mov edx, 0x49c7ac
call fcn.00415d7c
push dword [ebp - 0xb8]
push dword [ebp - 0xbc]
push dword [ebp - 0xc0]
push dword [ebp - 0xc4]
lea eax, [ebp - 0xc8]
call fcn.0040692c
push eax
mov eax, dword [ebp - 0x28]
push eax
mov eax, dword [eax]
call dword [eax + 0x20]
call fcn.00406a3c
mov eax, dword [ebp - 0xc8]
push eax
mov eax, dword [eax]
call dword [eax + 0x2c]
call fcn.00406a3c
mov edx, dword [ebp - 0xa4]
lea eax, [ebp - 0x2c]
mov ecx, 0x49c7b4
call fcn.00406970
lea eax, [ebp - 0xcc]
call fcn.004053f8
push eax
mov eax, dword [ebp - 0x2c]
push eax
mov eax, dword [eax]
call dword [eax + 0x28]
call fcn.00406a3c
mov edx, dword [ebp - 0xcc]
lea eax, [ebp - 0x24]
call fcn.00404f64
cmp dword [0x4ae360], 0
jne 0x49be67
lea eax, [ebp - 0xd0]
call fcn.0040692c
push eax
lea eax, [ebp - 0xe0]
xor edx, edx
mov cl, 1
call fcn.00415ac8
push dword [ebp - 0xd4]
push dword [ebp - 0xd8]
push dword [ebp - 0xdc]
push dword [ebp - 0xe0]
lea eax, [ebp - 0xf0]
mov edx, 0x49c7cc
call fcn.00415d7c
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [ebp - 0xec]
push dword [ebp - 0xf0]
lea eax, [ebp - 0xf4]
call fcn.0040692c
push eax
mov eax, dword [ebp - 0x28]
push eax
mov eax, dword [eax]
call dword [eax + 0x20]
call fcn.00406a3c
mov eax, dword [ebp - 0xf4]
push eax
mov eax, dword [eax]
call dword [eax + 0x2c]
call fcn.00406a3c
mov edx, dword [ebp - 0xd0]
lea eax, [ebp - 0x2c]
mov ecx, 0x49c7b4
call fcn.00406970
lea eax, [ebp - 0xf8]
call fcn.004053f8
push eax
mov eax, dword [ebp - 0x2c]
push eax
mov eax, dword [eax]
call dword [eax + 0x28]
call fcn.00406a3c
mov edx, dword [ebp - 0xf8]
mov eax, 0x4ae360
call fcn.00404f64
mov edx, 0x49c7e4
mov eax, dword [ebp - 0x24]
call fcn.00470d28
cmp dword [ebp - 0x24], 0
setne al
mov byte [ebp - 0x5c], al
mov byte [ebp - 0x58], 1
lea edx, [ebp - 0x5c]
mov eax, dword [0x4ab938]
mov eax, dword [eax]
xor ecx, ecx
call fcn.004a43b8
mov eax, dword [ebp - 0x28]
push eax
mov eax, dword [eax]
call dword [eax + 0xf8]
call fcn.00406a3c
call fcn.004a4484
test al, al
je 0x49beb7
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x49bf20
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x49bf15
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x24]
call fcn.00404d20
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x49c04e
lea eax, [ebp - 0xf8]
call fcn.004053f8
lea eax, [ebp - 0xf4]
call fcn.0040692c
lea eax, [ebp - 0xf0]
mov edx, dword [0x4010e8]
mov ecx, 2
call fcn.0040581c
lea eax, [ebp - 0xd0]
call fcn.0040692c
lea eax, [ebp - 0xcc]
call fcn.004053f8
lea eax, [ebp - 0xc8]
call fcn.0040692c
lea eax, [ebp - 0xc4]
mov edx, dword [0x4010e8]
mov ecx, 2
call fcn.0040581c
lea eax, [ebp - 0xa4]
call fcn.0040692c
lea eax, [ebp - 0xa0]
call fcn.0040692c
lea eax, [ebp - 0x9c]
call fcn.004053f8
lea eax, [ebp - 0x98]
call fcn.004117e4
lea eax, [ebp - 0x88]
call fcn.00404ccc
lea eax, [ebp - 0x84]
call fcn.004117e4
lea eax, [ebp - 0x74]
mov edx, 2
call fcn.00404cf0
lea eax, [ebp - 0x6c]
call fcn.004117e4
lea eax, [ebp - 0x54]
call fcn.0040692c
lea eax, [ebp - 0x50]
mov edx, 5
call fcn.00404cf0
lea eax, [ebp - 0x3c]
call fcn.004053f8
lea eax, [ebp - 0x38]
mov edx, 3
call fcn.00404cf0
lea eax, [ebp - 0x2c]
call fcn.0040692c
lea eax, [ebp - 0x28]
call fcn.0040692c
lea eax, [ebp - 0x24]
mov edx, 2
call fcn.00404cf0
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.00404cf0
lea eax, [ebp - 0x10]
call fcn.004117e4
ret