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

Disassembly:
push 0xffffffffffffffff
push 0x51c878
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x40
push ebx
push esi
mov esi, ecx
xor ebx, ebx
mov dword [esp + 8], esi
cmp dword [esi + 0xc0], ebx
jne 0x47df53
mov eax, dword [esi + 0x1c]
push 1
push ebx
push eax
call dword [sym.imp.USER32.dll_SetWindowRgn]
lea ecx, [esi + 0x1d4]
call fcn.00516727
pop esi
pop ebx
mov ecx, dword [esp + 0x40]
mov dword fs:[0], ecx
add esp, 0x4c
ret
mov edx, dword [esi + 0x1c]
push ebp
lea ecx, [esp + 0x28]
push edi
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x38]
mov eax, dword [esp + 0x30]
mov edx, 0x922c44
sub edi, ecx
sub ebp, eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], edx
mov eax, dword [esi + 0xc0]
mov dword [esp + 0x58], ebx
mov ecx, eax
dec ecx
je 0x47e160
dec ecx
je 0x47e12a
dec ecx
je 0x47e093
add eax, 0xfffffffc
mov esi, 0x93e2b4
cmp eax, ebx
jle 0x47dfcf
mov cx, word [esi]
add esi, 2
cmp cx, 0xffff
je 0x47dfcc
mov dx, word [esi]
add esi, 2
cmp dx, 0xffff
jne 0x47dfbf
dec eax
jne 0x47dfb2
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x3c]
push eax
call fcn.00516428
mov ecx, dword [esp + 0x40]
mov byte [esp + 0x58], 3
push ecx
call dword [sym.imp.GDI32.dll_BeginPath]
mov ebx, dword [sym.imp.KERNEL32.dll_MulDiv]
xor edx, edx
mov dx, word [esi + 2]
push 0x7fff
push ebp
push edx
call ebx
push eax
xor eax, eax
mov ax, word [esi]
push 0x7fff
push edi
push eax
call ebx
lea ecx, [esp + 0x28]
push eax
push ecx
lea ecx, [esp + 0x48]
call fcn.00516215
add esi, 4
cmp word [esi], 0xffff
je 0x47e05c
xor edx, edx
push 0x7fff
mov dx, word [esi + 2]
push ebp
push edx
call ebx
push eax
xor eax, eax
mov ax, word [esi]
push 0x7fff
push edi
push eax
call ebx
push eax
lea ecx, [esp + 0x44]
call fcn.00516261
add esi, 4
cmp word [esi], 0xffff
jne 0x47e02a
mov ecx, dword [esp + 0x40]
push ecx
call dword [sym.imp.GDI32.dll_EndPath]
mov edx, dword [esp + 0x40]
push edx
call dword [sym.imp.GDI32.dll_PathToRegion]
push eax
lea ecx, [esp + 0x18]
call fcn.005166d0
lea ecx, [esp + 0x3c]
mov byte [esp + 0x58], 0
call fcn.0051649a
mov esi, dword [esp + 0x10]
jmp 0x47e174
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], edx
mov esi, dword [sym.imp.GDI32.dll_CreateEllipticRgn]
push ebp
push edi
push ebx
push ebx
mov byte [esp + 0x68], 1
call esi
push eax
lea ecx, [esp + 0x18]
call fcn.005166d0
mov eax, ebp
cdq
and edx, 3
add eax, edx
mov ecx, eax
mov eax, edi
cdq
and edx, 3
add eax, edx
sar ecx, 2
sar eax, 2
sub ebp, ecx
sub edi, eax
push ebp
push edi
push ecx
push eax
call esi
push eax
lea ecx, [esp + 0x20]
call fcn.005166d0
mov esi, dword [esp + 0x20]
lea eax, [esp + 0x1c]
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x14]
neg eax
sbb eax, eax
push 4
and eax, esi
neg ecx
sbb ecx, ecx
push eax
and ecx, edx
push ecx
push edx
call dword [sym.imp.GDI32.dll_CombineRgn]
mov dword [esp + 0x1c], 0x922c50
lea ecx, [esp + 0x1c]
mov byte [esp + 0x58], 2
call fcn.00516727
mov esi, dword [esp + 0x10]
mov byte [esp + 0x58], 0
jmp 0x47e174
mov eax, 0x66666667
imul ebp
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x66666667
mov ecx, edx
imul edi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp edx, ecx
jge 0x47e152
mov ecx, edx
push ecx
push ecx
push ebp
push edi
push ebx
push ebx
call dword [sym.imp.GDI32.dll_CreateRoundRectRgn]
jmp 0x47e16a
push ebp
push edi
push ebx
push ebx
call dword [sym.imp.GDI32.dll_CreateEllipticRgn]
push eax
lea ecx, [esp + 0x18]
call fcn.005166d0
mov ebp, dword [esp + 0x18]
mov ecx, dword [esi + 0x1c]
lea eax, [esp + 0x14]
push 1
neg eax
sbb eax, eax
and eax, ebp
push eax
push ecx
call dword [sym.imp.USER32.dll_SetWindowRgn]
add esi, 0x1d4
mov ecx, esi
call fcn.00516727
lea ecx, [esp + 0x14]
call fcn.005166fd
push eax
mov ecx, esi
call fcn.005166d0
mov dword [esp + 0x14], 0x922c50
lea ecx, [esp + 0x14]
mov dword [esp + 0x58], 4
call fcn.00516727
mov ecx, dword [esp + 0x50]
pop edi
pop ebp
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x4c
ret