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

Disassembly:
push 0xffffffffffffffff
push 0x5200a0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x34
push ebx
mov ebx, dword [esp + 0x48]
push ebp
push esi
mov edx, dword [ebx]
mov esi, ecx
push edi
mov ecx, ebx
mov eax, dword [esi + 0x3c]
add eax, 0xc4
push eax
call dword [edx + 0x28]
push 1
mov ecx, ebx
mov dword [esp + 0x1c], eax
call fcn.00515e00
mov edi, dword [esp + 0x58]
cmp dword [edi], 0
je 0x4dc2d3
mov ecx, dword [esi + 0x3c]
mov ebp, dword [ecx + 0xe0]
jmp 0x4dc2eb
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x3c]
test eax, eax
je 0x4dc2e5
mov ebp, dword [ecx + 0xe4]
jmp 0x4dc2eb
mov ebp, dword [ecx + 0xdc]
call fcn.00513dd1
test eax, eax
je 0x4dc2fe
mov eax, dword [esi + 0xc0]
test eax, eax
jne 0x4dc303
mov ebp, 0x808080
mov eax, dword [ebx]
push ebp
mov ecx, ebx
call dword [eax + 0x30]
lea ecx, [esp + 0x24]
push ecx
mov ecx, esi
call fcn.004dd660
mov edx, dword [eax]
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x1c], edx
mov edx, dword [edi + 0xc]
mov eax, dword [eax + 4]
push ecx
mov dword [esp + 0x24], eax
mov eax, dword [edi + 4]
push edx
push eax
mov ecx, esi
call fcn.004dd7f0
mov ecx, dword [edi + 0x10]
mov edx, dword [edi + 0xc]
mov dword [esp + 0x58], eax
mov eax, dword [edi + 4]
push ecx
push edx
push eax
mov ecx, esi
call fcn.004dd870
mov dword [esp + 0x10], eax
mov eax, dword [edi + 8]
lea ecx, [esp + 0x34]
push eax
push ecx
call dword [sym.imp.USER32.dll_CopyRect]
mov ecx, dword [esi + 0x3c]
call fcn.004d7390
mov ebp, eax
cmp ebp, 1
je 0x4dc449
cmp ebp, 2
je 0x4dc449
mov ecx, dword [esi + 0x3c]
mov eax, dword [ecx + 0x240]
test eax, eax
je 0x4dc449
call fcn.004d77f0
cdq
and edx, 3
add eax, edx
sar eax, 2
cmp ebp, 3
mov dword [esp + 0x54], eax
jne 0x4dc3cd
mov ecx, dword [esi + 0x3c]
call fcn.004d9be0
test eax, eax
je 0x4dc3cd
mov eax, dword [edi + 0xc]
test eax, eax
je 0x4dc3c4
mov edx, dword [esp + 0x54]
lea eax, [edx + edx]
lea ecx, [eax + 3]
jmp 0x4dc3d1
mov eax, dword [esp + 0x54]
lea ecx, [eax + 3]
jmp 0x4dc3d1
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x20]
mov eax, ecx
test edx, edx
mov dword [esp + 0x38], eax
jle 0x4dc3ed
mov eax, dword [esi + 0x9c]
add eax, edx
add eax, ecx
mov dword [esp + 0x38], eax
cmp ebp, 3
jne 0x4dc416
mov ecx, dword [esi + 0x3c]
call fcn.004d9be0
test eax, eax
je 0x4dc412
mov eax, dword [edi + 0x10]
test eax, eax
mov eax, dword [esp + 0x54]
je 0x4dc40b
add eax, eax
add eax, 3
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x10]
sub esp, 0x10
sub ecx, edi
mov edi, dword [esp + 0x44]
mov edx, esp
mov dword [esp + 0x50], ecx
push ebx
mov dword [edx], edi
mov dword [edx + 4], eax
mov eax, dword [esp + 0x50]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov ecx, esi
call fcn.004dda40
jmp 0x4dc54b
mov ecx, dword [esi + 0x3c]
mov eax, dword [ecx + 0x210]
test eax, eax
jne 0x4dc4f1
mov eax, dword [esp + 0x3c]
mov edx, dword [esi + 0x70]
sub eax, edx
mov edx, dword [esp + 0x34]
sub eax, edx
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x34], eax
call fcn.004d77f0
cdq
and edx, 7
xor ecx, ecx
add eax, edx
sar eax, 3
cmp ebp, 3
mov dword [esp + 0x54], eax
sete cl
mov ebp, ecx
mov ecx, dword [esi + 0x3c]
call fcn.004d9be0
test eax, eax
je 0x4dc4e3
mov eax, dword [edi + 0xc]
test eax, eax
je 0x4dc4ce
test ebp, ebp
je 0x4dc4b9
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x34]
mov eax, ecx
neg eax
add edx, eax
mov dword [esp + 0x34], edx
jmp 0x4dc4d2
mov edx, dword [esp + 0x54]
mov ecx, edx
lea eax, [edx + 1]
mov edx, dword [esp + 0x34]
add edx, eax
mov dword [esp + 0x34], edx
jmp 0x4dc4d2
mov ecx, dword [esp + 0x54]
mov eax, dword [edi + 0x10]
test eax, eax
je 0x4dc4e3
test ebp, ebp
je 0x4dc4df
neg ecx
sub dword [esp + 0x34], ecx
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x34]
cmp ecx, eax
jge 0x4dc4f9
jmp 0x4dc4f5
mov eax, dword [esp + 0x58]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x1c]
test eax, eax
jle 0x4dc513
mov ecx, dword [esi + 0x9c]
add ecx, eax
mov eax, dword [esp + 0x34]
add eax, ecx
mov dword [esp + 0x34], eax
mov edx, dword [edi + 8]
mov ecx, dword [esi + 0x3c]
mov eax, dword [edx + 8]
mov edx, dword [esp + 0x10]
sub eax, edx
mov dword [esp + 0x3c], eax
call fcn.004d7390
cmp eax, 2
je 0x4dc535
add dword [esp + 0x38], 2
mov eax, dword [esi + 0x40]
mov edx, dword [ebx]
lea edi, [esp + 0x34]
push 0x24
mov ecx, dword [eax - 8]
push edi
push ecx
push eax
mov ecx, ebx
call dword [edx + 0x68]
mov edi, eax
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + 0x228]
test ecx, ecx
je 0x4dc5f3
mov eax, dword [esi + 0xc4]
test eax, eax
jne 0x4dc5f3
push 0xff
push 1
push 0
lea ecx, [esp + 0x1c]
call fcn.0051673d
lea ecx, [esp + 0x10]
mov dword [esp + 0x4c], 0
push ecx
mov ecx, ebx
call fcn.00515d24
push 2
lea edx, [esp + 0x28]
push 3
push edx
mov ecx, ebx
mov esi, eax
call fcn.00516215
push 5
push 6
mov ecx, ebx
call fcn.00516261
push 4
lea eax, [esp + 0x30]
push 3
push eax
mov ecx, ebx
call fcn.00516215
push 1
push 6
mov ecx, ebx
call fcn.00516261
push esi
mov ecx, ebx
call fcn.00515d24
mov dword [esp + 0x10], 0x92816c
lea ecx, [esp + 0x10]
mov dword [esp + 0x4c], 1
call fcn.00516727
mov dword [esp + 0x4c], 0xffffffff
mov eax, dword [esp + 0x18]
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0x28]
mov ecx, dword [esp + 0x44]
mov eax, edi
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x40
ret 8