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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x18
push 0
push 0
dec ecx
jne 0x49ca14
push ecx
push ebx
push esi
push edi
mov edi, edx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
call fcn.004051bc
mov ebx, 0x4ac348
mov esi, 0x4ac318
xor eax, eax
push ebp
push 0x49d02f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, edi
call fcn.00404cfc
lea eax, [ebp - 0x1c]
call fcn.00404cfc
mov eax, 0x4ac324
mov edx, 0x49d048
call fcn.00404d50
mov edx, 0x49d08c
mov eax, dword [esi]
call fcn.0047154c
push 0
push 1
xor ecx, ecx
mov edx, dword [0x4ac324]
mov eax, dword [esi]
call fcn.00470940
test eax, eax
jne 0x49ca99
mov eax, dword [0x4a9638]
mov eax, dword [eax]
mov edx, dword [0x4a9c48]
mov dword [edx], eax
jmp 0x49cf47
mov eax, 0x4ac34c
mov edx, dword [esi]
mov edx, dword [edx + 0x48]
call fcn.00404d50
mov edx, 0x49d0e8
mov eax, dword [0x4ac34c]
call fcn.0045ebfc
mov eax, 0x4ac324
mov edx, 0x49d0f8
call fcn.00404d50
mov edx, 0x49d08c
mov eax, dword [esi]
call fcn.0047154c
push 0
push 1
xor ecx, ecx
mov edx, dword [0x4ac324]
mov eax, dword [esi]
call fcn.00470940
test eax, eax
jne 0x49cafd
mov eax, dword [0x4a9638]
mov eax, dword [eax]
mov edx, dword [0x4a9c48]
mov dword [edx], eax
jmp 0x49cf47
lea edx, [ebp - 0x28]
mov eax, dword [esi]
mov eax, dword [eax + 0x48]
call fcn.00406d48
mov edx, dword [ebp - 0x28]
mov eax, ebx
call fcn.00404f94
mov edx, 0x49d134
mov eax, dword [ebx]
call fcn.0045ebfc
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x49d14c
mov edx, 0x49d158
mov eax, dword [ebx]
call fcn.0045b638
mov edx, dword [ebp - 0x2c]
mov eax, ebx
call fcn.00404d50
lea eax, [ebp - 0x30]
push eax
mov ecx, 0x49d168
mov edx, 0x49d178
mov eax, dword [ebx]
call fcn.0045b638
mov edx, dword [ebp - 0x30]
mov eax, ebx
call fcn.00404d50
mov edx, 0x28
mov al, 2
call fcn.004a178c
mov edx, 0x49d180
mov eax, dword [0x4ac350]
call fcn.00485bd4
lea ecx, [ebp - 0x34]
mov edx, 0xcb
mov eax, dword [0x4ac350]
call fcn.004631dc
mov edx, dword [ebp - 0x34]
lea eax, [ebp - 0x20]
mov ecx, 0x49d198
call fcn.004069a0
lea eax, [ebp - 0x10]
push eax
xor eax, eax
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x3c]
mov cx, 0xc
mov edx, 1
call fcn.004161f0
push 0
push 1
push 0x49d1b0
push dword [0x4ac34c]
push 0x49d20c
push 0x49d218
push dword [ebx]
push 0x49d20c
push 0x49d268
push 0x49d27c
push 0x49d29c
push 0x49d2e0
push 0x49d334
push 0x49d344
push 0x49d354
lea eax, [ebp - 0x50]
mov edx, 0xd
call fcn.0040508c
mov edx, dword [ebp - 0x50]
lea eax, [ebp - 0x4c]
call fcn.00415bc0
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.004163a4
add esp, 0x10
mov edx, 0x2d
mov al, 2
call fcn.004a178c
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [eax]
call dword [eax + 0xec]
call fcn.00406a6c
push 0x49d364
push dword [0x4ac344]
push 0x49d37c
push 0x49d388
push 0x49d3b0
push 0x49d3cc
push 0x49d3f8
push 0x49d420
push 0x49d448
push 0x49d480
push 0x49d490
push 0x49d4c4
push 0x49d4e8
push 0x49d524
push 0x49d550
push 0x49d56c
push 0x49d58c
push 0x49d5a0
push 0x49d5cc
push 0x49d610
push 0x49d654
push 0x49d668
push 0x49d674
lea eax, [ebp - 0x18]
mov edx, 0x17
call fcn.0040508c
mov eax, dword [0x4a98e0]
mov eax, dword [eax + 0x18]
call fcn.00404fcc
mov ebx, eax
test ebx, ebx
jle 0x49cd19
mov esi, 1
push dword [ebp - 0x18]
push 0x49d698
push esi
push 1
lea eax, [ebp - 0x54]
push eax
mov ecx, 0x49d6d8
mov edx, 0x49d6d8
mov eax, dword [ebp - 0x14]
call fcn.0045ba40
push dword [ebp - 0x54]
push 0x49d6e4
lea eax, [ebp - 0x18]
mov edx, 4
call fcn.0040508c
inc esi
dec ebx
jne 0x49ccdf
push dword [ebp - 0x18]
push 0x49d6f0
push 0x49d72c
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.0040508c
mov edx, 0x49d76c
mov eax, dword [ebp - 0x18]
call fcn.0045ebfc
lea eax, [ebp - 0x64]
call fcn.004116e4
push eax
push 0x49d77c
lea eax, [ebp - 0x68]
mov edx, dword [ebp - 0x18]
call fcn.00405584
mov eax, dword [ebp - 0x68]
push eax
lea eax, [ebp - 0x6c]
call fcn.0040695c
push eax
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [eax]
call dword [eax + 0x1b0]
call fcn.00406a6c
mov eax, dword [ebp - 0x6c]
push eax
mov eax, dword [eax]
call dword [eax + 0x110]
call fcn.00406a6c
lea eax, [ebp - 0x70]
call fcn.0040695c
push eax
lea eax, [ebp - 0x80]
xor edx, edx
mov cl, 1
call fcn.004159c8
push dword [ebp - 0x74]
push dword [ebp - 0x78]
push dword [ebp - 0x7c]
push dword [ebp - 0x80]
lea eax, [ebp - 0x90]
mov edx, 0x49d79c
call fcn.00415c7c
push dword [ebp - 0x84]
push dword [ebp - 0x88]
push dword [ebp - 0x8c]
push dword [ebp - 0x90]
lea eax, [ebp - 0x94]
call fcn.0040695c
push eax
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [eax]
call dword [eax + 0x20]
call fcn.00406a6c
mov eax, dword [ebp - 0x94]
push eax
mov eax, dword [eax]
call dword [eax + 0x2c]
call fcn.00406a6c
mov edx, dword [ebp - 0x70]
lea eax, [ebp - 0x24]
mov ecx, 0x49d7a4
call fcn.004069a0
lea eax, [ebp - 0x98]
call fcn.00405428
push eax
mov eax, dword [ebp - 0x24]
push eax
mov eax, dword [eax]
call dword [eax + 0x28]
call fcn.00406a6c
mov edx, dword [ebp - 0x98]
lea eax, [ebp - 0x1c]
call fcn.00404f94
cmp dword [0x4ac358], 0
jne 0x49cf04
lea eax, [ebp - 0x9c]
call fcn.0040695c
push eax
lea eax, [ebp - 0xac]
xor edx, edx
mov cl, 1
call fcn.004159c8
push dword [ebp - 0xa0]
push dword [ebp - 0xa4]
push dword [ebp - 0xa8]
push dword [ebp - 0xac]
lea eax, [ebp - 0xbc]
mov edx, 0x49d7bc
call fcn.00415c7c
push dword [ebp - 0xb0]
push dword [ebp - 0xb4]
push dword [ebp - 0xb8]
push dword [ebp - 0xbc]
lea eax, [ebp - 0xc0]
call fcn.0040695c
push eax
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [eax]
call dword [eax + 0x20]
call fcn.00406a6c
mov eax, dword [ebp - 0xc0]
push eax
mov eax, dword [eax]
call dword [eax + 0x2c]
call fcn.00406a6c
mov edx, dword [ebp - 0x9c]
lea eax, [ebp - 0x24]
mov ecx, 0x49d7a4
call fcn.004069a0
lea eax, [ebp - 0xc4]
call fcn.00405428
push eax
mov eax, dword [ebp - 0x24]
push eax
mov eax, dword [eax]
call dword [eax + 0x28]
call fcn.00406a6c
mov edx, dword [ebp - 0xc4]
mov eax, 0x4ac358
call fcn.00404f94
cmp dword [ebp - 0x1c], 0
setne al
mov byte [ebp - 0x3c], al
mov byte [ebp - 0x38], 1
lea edx, [ebp - 0x3c]
mov eax, dword [0x4a9958]
mov eax, dword [eax]
xor ecx, ecx
call fcn.004a17d4
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [eax]
call dword [eax + 0xf8]
call fcn.00406a6c
call fcn.004a18a0
test al, al
jne 0x49cf47
mov eax, edi
mov edx, dword [ebp - 0x1c]
call fcn.00404d50
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x49d039
lea eax, [ebp - 0xc4]
call fcn.00405428
lea eax, [ebp - 0xc0]
call fcn.0040695c
lea eax, [ebp - 0xbc]
mov edx, dword [0x4010e8]
mov ecx, 2
call fcn.0040584c
lea eax, [ebp - 0x9c]
call fcn.0040695c
lea eax, [ebp - 0x98]
call fcn.00405428
lea eax, [ebp - 0x94]
call fcn.0040695c
lea eax, [ebp - 0x90]
mov edx, dword [0x4010e8]
mov ecx, 2
call fcn.0040584c
lea eax, [ebp - 0x70]
call fcn.0040695c
lea eax, [ebp - 0x6c]
call fcn.0040695c
lea eax, [ebp - 0x68]
call fcn.00405428
lea eax, [ebp - 0x64]
call fcn.004116e4
lea eax, [ebp - 0x54]
mov edx, 2
call fcn.00404d20
lea eax, [ebp - 0x4c]
call fcn.004116e4
lea eax, [ebp - 0x34]
call fcn.0040695c
lea eax, [ebp - 0x30]
mov edx, 2
call fcn.00404d20
lea eax, [ebp - 0x28]
call fcn.00405428
lea eax, [ebp - 0x24]
call fcn.0040695c
lea eax, [ebp - 0x20]
call fcn.0040695c
lea eax, [ebp - 0x1c]
mov edx, 3
call fcn.00404d20
lea eax, [ebp - 0x10]
call fcn.004116e4
ret