Function at 0x4ee8e0
Capabilities:
Reference http user-agent string
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [0x99504c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x3c]
cmp eax, dword [ecx + 8]
jbe 0x4ef072
sub esp, 0xbc
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
test ecx, ecx
je 0x4eef95
mov ebx, dword [edx]
test ebx, 1
je 0x4eef95
mov byte [esp + 0xac], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov byte [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov byte [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
nop
mov ecx, dword [esp + 0xc0]
lea edx, [esp + 0xac]
cmp ecx, edx
je 0x4eeac2
mov edx, dword [esp + 0xb8]
mov ebx, dword [ecx + 8]
mov ebp, dword [ecx + 4]
cmp edx, ebx
jl 0x4ee9d2
mov esi, dword [esp + 0xb0]
mov edi, ebx
jmp 0x4eea60
mov dword [esp + 0x58], ebx
mov dword [esp + 0x7c], ebp
cmp ebx, 1
jne 0x4eea23
lea eax, [0x6f5360]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.0044e560
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc0]
mov ebp, dword [esp + 0x7c]
mov edi, dword [esp + 0x58]
mov ebx, 1
mov edx, 1
jmp 0x4eea60
lea eax, [0x6f5360]
mov dword [esp], eax
mov dword [esp + 4], ebx
lea ecx, [ebx + 4]
mov dword [esp + 0x2c], ecx
mov dword [esp + 8], ecx
call fcn.0044e560
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc0]
mov ebp, dword [esp + 0x7c]
mov edi, dword [esp + 0x58]
mov ebx, edi
mov edx, dword [esp + 0x2c]
cmp ebx, edi
jg 0x4eea66
mov edi, ebx
cmp esi, ebp
je 0x4eeaa3
mov dword [esp + 0x4c], edx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x70], esi
mov dword [esp], esi
mov dword [esp + 4], ebp
shl edi, 2
mov dword [esp + 8], edi
call fcn.004697f0
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x3c]
mov esi, dword [esp + 0x70]
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], edx
mov dword [esp + 0xb0], esi
movzx ecx, byte [ecx]
mov byte [esp + 0xac], cl
nop
lea ecx, [esp + 0x9c]
cmp eax, ecx
je 0x4eebcc
mov ecx, dword [esp + 0xa8]
mov edx, dword [eax + 8]
mov ebx, dword [eax + 4]
cmp ecx, edx
jl 0x4eeaf1
mov ebp, dword [esp + 0xa0]
mov esi, edx
jmp 0x4eeb71
mov dword [esp + 0x78], ebx
mov dword [esp + 0x54], edx
cmp edx, 1
jne 0x4eeb3b
lea eax, [0x6f5360]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.0044e560
mov ebp, dword [esp + 0xc]
mov eax, dword [esp + 0xc4]
mov ebx, dword [esp + 0x78]
mov esi, dword [esp + 0x54]
mov edx, 1
mov ecx, 1
jmp 0x4eeb71
lea eax, [0x6f5360]
mov dword [esp], eax
mov dword [esp + 4], edx
lea ecx, [edx + 4]
mov dword [esp + 0x28], ecx
mov dword [esp + 8], ecx
call fcn.0044e560
mov ebp, dword [esp + 0xc]
mov eax, dword [esp + 0xc4]
mov ebx, dword [esp + 0x78]
mov esi, dword [esp + 0x54]
mov edx, esi
mov ecx, dword [esp + 0x28]
cmp edx, esi
jg 0x4eeb77
mov esi, edx
cmp ebp, ebx
je 0x4eebad
mov dword [esp + 0x48], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x6c], ebp
mov dword [esp], ebp
mov dword [esp + 4], ebx
shl esi, 2
mov dword [esp + 8], esi
call fcn.004697f0
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x38]
mov ebp, dword [esp + 0x6c]
mov dword [esp + 0xa4], edx
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xa0], ebp
movzx eax, byte [eax]
mov byte [esp + 0x9c], al
movzx eax, byte [esp + 0x9c]
test al, al
je 0x4eebfa
movzx eax, byte [esp + 0xac]
test al, al
je 0x4eebeb
mov eax, 0xffffffff
jmp 0x4eebf0
mov eax, 1
mov byte [esp + 0x9c], 0
jmp 0x4eec27
mov eax, 1
jmp 0x4eec27
mov dword [esp + 0xa4], edx
mov dword [esp + 0xa8], eax
mov dword [esp + 0xa0], ebp
movzx edx, byte [esp + 0x8c]
mov byte [esp + 0x9c], dl
mov eax, ecx
mov dword [esp + 0x5c], eax
mov ecx, dword [0x966a74]
lea edx, [esp + 0x9c]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.004ec260
mov eax, dword [esp + 8]
test eax, eax
je 0x4eef52
mov eax, dword [esp + 0xb4]
test eax, eax
je 0x4eef40
lea eax, [esp + 0xac]
mov dword [esp], eax
mov dword [esp + 4], eax
lea eax, [esp + 0x9c]
mov dword [esp + 8], eax
call fcn.004ec050
mov ecx, dword [esp + 0xb4]
test ecx, ecx
je 0x4eef2e
mov edx, dword [esp + 0xb0]
xor eax, eax
jmp 0x4eef65
shl eax, 5
bsf edx, ebx
add edx, eax
test edx, 1
je 0x4eecdd
mov ebx, dword [esp + 0xa4]
test ebx, ebx
jbe 0x4eef87
mov eax, dword [esp + 0xa0]
mov eax, dword [eax]
and eax, 7
cmp eax, 3
je 0x4eeccf
cmp eax, 5
jne 0x4eecd7
mov eax, dword [esp + 0x5c]
neg eax
jmp 0x4eece1
mov eax, dword [esp + 0x5c]
jmp 0x4eece1
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x5c], eax
lea ecx, [esp + 0x8c]
mov dword [esp], ecx
lea ecx, [esp + 0xac]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004ef080
mov eax, dword [esp + 0xa4]
test eax, eax
jbe 0x4eef7e
mov edx, dword [esp + 0xa0]
mov ebx, dword [edx]
and ebx, 3
cmp ebx, 3
jne 0x4eed4b
mov ebx, dword [esp + 0x94]
test ebx, ebx
jbe 0x4eef75
mov ecx, dword [esp + 0x90]
mov ecx, dword [ecx]
and ecx, 3
cmp ecx, 3
jne 0x4eed4b
mov ecx, dword [esp + 0x5c]
neg ecx
jmp 0x4eed4f
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x5c], ecx
mov ebx, dword [esp + 0xb8]
nop
cmp eax, ebx
jg 0x4eed6d
mov ebp, dword [esp + 0xb0]
mov esi, eax
jmp 0x4eedf0
mov dword [esp + 0x60], eax
mov dword [esp + 0x80], edx
cmp eax, 1
jne 0x4eedba
lea eax, [0x6f5360]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.0044e560
mov ebp, dword [esp + 0xc]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x80]
mov esi, dword [esp + 0x60]
mov eax, 1
mov ebx, 1
jmp 0x4eedf0
lea ecx, [0x6f5360]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [eax + 4]
mov dword [esp + 0x24], edx
mov dword [esp + 8], edx
call fcn.0044e560
mov ebp, dword [esp + 0xc]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x80]
mov esi, dword [esp + 0x60]
mov eax, esi
mov ebx, dword [esp + 0x24]
cmp eax, esi
jg 0x4eedf6
mov esi, eax
cmp ebp, edx
je 0x4eee29
mov dword [esp + 0x44], ebx
mov dword [esp + 0x34], eax
mov dword [esp + 0x68], ebp
mov dword [esp], ebp
mov dword [esp + 4], edx
shl esi, 2
mov dword [esp + 8], esi
call fcn.004697f0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x68]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xb0], ebp
movzx eax, byte [esp + 0x9c]
mov byte [esp + 0xac], al
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0x94]
nop
mov ebx, dword [esp + 0x90]
cmp eax, edx
jl 0x4eee72
mov ebp, dword [esp + 0xa0]
mov esi, edx
jmp 0x4eeeec
mov dword [esp + 0x50], edx
mov dword [esp + 0x74], ebx
cmp edx, 1
jne 0x4eeeb9
lea eax, [0x6f5360]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.0044e560
mov ebp, dword [esp + 0xc]
mov ecx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x74]
mov esi, dword [esp + 0x50]
mov edx, 1
mov eax, 1
jmp 0x4eeeec
lea eax, [0x6f5360]
mov dword [esp], eax
mov dword [esp + 4], edx
lea ecx, [edx + 4]
mov dword [esp + 0x20], ecx
mov dword [esp + 8], ecx
call fcn.0044e560
mov ebp, dword [esp + 0xc]
mov ecx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x74]
mov esi, dword [esp + 0x50]
mov edx, esi
mov eax, dword [esp + 0x20]
cmp edx, esi
jg 0x4eeef2
mov esi, edx
cmp ebp, ebx
je 0x4eec01
mov dword [esp + 0x40], eax
mov dword [esp + 0x64], ebp
mov dword [esp + 0x30], edx
mov dword [esp], ebp
mov dword [esp + 4], ebx
shl esi, 2
mov dword [esp + 8], esi
call fcn.004697f0
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x30]
mov ebp, dword [esp + 0x64]
jmp 0x4eec01
mov dword [esp + 0xc8], 0
add esp, 0xbc
ret
mov dword [esp + 0xc8], 0
add esp, 0xbc
ret
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xc8], eax
add esp, 0xbc
ret
inc eax
cmp eax, ecx
jae 0x4eef90
mov ebx, dword [edx + eax*4]
test ebx, ebx
je 0x4eef64
jmp 0x4eec9a
xor eax, eax
mov ecx, eax
call fcn.00468ed0
xor eax, eax
mov ecx, eax
call fcn.00468ed0
xor eax, eax
mov ecx, eax
call fcn.00468ed0
call fcn.00468ee0
mov ebx, dword [eax + 0xc]
movzx eax, byte [eax]
nop
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov byte [esp + 0xc], al
mov dword [esp + 0x10], 0xa
call fcn.004f76c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004523c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409d40
mov eax, dword [esp + 8]
lea ecx, [0x6f44e0]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
lea eax, [0x751404]
mov dword [esp], eax
mov dword [esp + 4], 0x44
lea eax, [esp + 0x84]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004c4b20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409d40
mov eax, dword [esp + 8]
lea ecx, [0x6f44e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00438b10
nop
call fcn.00467a60
jmp fcn.004ee8e0