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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x2a5
push 0
push 0
dec ecx
jne 0x542c74
push ebx
push esi
push edi
mov dword [ebp - 0xe4], eax
lea eax, [ebp - 0xe0]
mov edx, dword [0x40b108]
call fcn.004064f8
xor eax, eax
push ebp
push 0x543488
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 4]
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x384]
call fcn.00478584
lea edx, [ebp - 0x14fc]
mov eax, dword [ebp - 4]
call fcn.0040bea0
mov edx, dword [ebp - 0x14fc]
lea eax, [ebp - 4]
call fcn.00405b94
lea eax, [ebp - 0x8f8]
xor ecx, ecx
mov edx, 0x400
call fcn.004036a8
lea eax, [ebp - 0xcf8]
xor ecx, ecx
mov edx, 0x400
call fcn.004036a8
lea eax, [ebp - 0x10f8]
xor ecx, ecx
mov edx, 0x400
call fcn.004036a8
lea eax, [ebp - 0x14f8]
xor ecx, ecx
mov edx, 0x400
call fcn.004036a8
lea eax, [ebp - 0x1500]
mov edx, dword [ebp - 4]
call fcn.00405dbc
mov eax, dword [ebp - 0x1500]
call fcn.00405970
mov edx, eax
lea eax, [ebp - 0x4f8]
mov ecx, 0x400
call fcn.00407c30
mov eax, dword [ebp - 0xe4]
add eax, 0x3d4
push eax
mov eax, dword [ebp - 0xe4]
add eax, 0x3d0
push eax
lea eax, [ebp - 0x10f8]
push eax
lea eax, [ebp - 0x14f8]
push eax
lea eax, [ebp - 0xcf8]
push eax
lea eax, [ebp - 0x8f8]
push eax
lea eax, [ebp - 0x4f8]
push eax
mov eax, dword [0x54fcb0]
mov eax, dword [eax]
call dword [eax + 0x5f8]
add esp, 0x1c
lea ecx, [ebp - 8]
lea eax, [ebp - 0x8f8]
mov edx, 0x3ff
call fcn.00408124
lea ecx, [ebp - 0x1504]
mov eax, dword [0x54fcb0]
mov eax, dword [eax]
add eax, 0x2c00
mov edx, 0x3ff
call fcn.00408124
cmp dword [ebp - 0x1504], 0
je 0x542f58
xor eax, eax
push ebp
push 0x542eb7
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x3c0]
mov edx, 0x2710
call fcn.004f0dbc
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x3c0]
mov edx, 0x1388
call fcn.004f0da4
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x3c0]
call fcn.0050b1bc
add eax, 0x40
mov edx, 0x5434a4
call fcn.00405b40
mov eax, dword [ebp - 0xe4]
mov ebx, dword [eax + 0x3c0]
mov byte [ebx + 0x12c], 1
mov eax, ebx
call fcn.0050b1bc
add eax, 0x84
mov edx, 0x5434f4
call fcn.00405b40
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x3c0]
call fcn.0050b1bc
add eax, 0x98
mov edx, 0x54350c
call fcn.00405b40
mov eax, dword [ebp - 0xe4]
mov ebx, dword [eax + 0x3c0]
mov byte [ebx + 0x138], 1
lea ecx, [ebp - 0x1508]
mov eax, dword [0x54fcb0]
mov eax, dword [eax]
add eax, 0x2c00
mov edx, 0x3ff
call fcn.00408124
mov edx, dword [ebp - 0x1508]
lea ecx, [ebp - 0x10]
mov eax, ebx
call fcn.00509514
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x542ecb
cmp dword [ebp - 0x10], 0
je 0x542ef0
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.0053a280
cmp dword [ebp - 0x18], 0
je 0x542ef0
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
call dword [ecx + 0x8c]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.004064ac
test eax, eax
jle 0x542f58
lea eax, [ebp - 0x14]
push eax
mov eax, dword [0x54fdec]
mov eax, dword [eax]
mov ecx, 0x5435ac
mov edx, 0x5435e0
call fcn.00528824
push 0x40
lea edx, [ebp - 0x150c]
mov eax, dword [0x54febc]
mov eax, dword [eax]
call fcn.00499200
mov eax, dword [ebp - 0x150c]
call fcn.00405bcc
push eax
mov eax, dword [ebp - 0x14]
call fcn.00405bcc
push eax
mov eax, dword [ebp - 0xe4]
call fcn.00480ea8
push eax
call sub.user32.dll_MessageBoxW
jmp 0x543413
lea edx, [ebp - 0x1510]
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x388]
call fcn.00478584
mov edx, dword [ebp - 0x1510]
mov eax, dword [ebp - 8]
call fcn.0040618c
je 0x542fe2
lea eax, [ebp - 0x14]
push eax
mov eax, dword [0x54fdec]
mov eax, dword [eax]
mov ecx, 0x543608
mov edx, 0x5435e0
call fcn.00528824
push 0x40
lea ecx, [ebp - 0x1514]
mov eax, dword [0x54fcb0]
mov eax, dword [eax]
add eax, 0x17bc
mov edx, 0x3ff
call fcn.00408124
mov eax, dword [ebp - 0x1514]
call fcn.00405bcc
push eax
mov eax, dword [ebp - 0x14]
call fcn.00405bcc
push eax
mov eax, dword [ebp - 0xe4]
call fcn.00480ea8
push eax
call sub.user32.dll_MessageBoxW
jmp 0x543413
mov eax, dword [ebp - 0xe4]
add eax, 0x3d8
lea edx, [ebp - 0x10f8]
mov ecx, 0x400
call fcn.00405d28
mov eax, dword [0x54fcb0]
mov eax, dword [eax]
lea ecx, [eax + 0x3810]
lea eax, [ebp - 0x14f8]
mov edx, 0x3ff
call fcn.00408124
lea ecx, [ebp - 0x1518]
mov eax, dword [0x54fcb0]
mov eax, dword [eax]
lea edx, [eax + 0x758]
mov eax, dword [0x54fcb0]
mov eax, dword [eax]
mov eax, dword [eax + 0x3810]
call fcn.00527dd8
mov edx, dword [ebp - 0x1518]
mov eax, dword [0x54fcb0]
mov eax, dword [eax]
add eax, 0x3814
call fcn.00405b40
mov eax, dword [ebp - 0xe4]
add eax, 0x3c8
lea edx, [ebp - 0xcf8]
mov ecx, 0x400
call fcn.00405d28
mov eax, dword [ebp - 0xe4]
call fcn.0049526c
jmp 0x543413
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x54348f
lea eax, [ebp - 0x1528]
mov edx, 6
call fcn.00405b38
lea eax, [ebp - 0x1510]
call fcn.00405b30
lea eax, [ebp - 0x150c]
mov edx, 3
call fcn.00405b38
lea eax, [ebp - 0x1500]
call fcn.00405788
lea eax, [ebp - 0x14fc]
call fcn.00405b30
lea eax, [ebp - 0xe0]
mov edx, dword [0x40b108]
call fcn.004065d0
lea eax, [ebp - 0x18]
call fcn.00407b20
lea eax, [ebp - 0x14]
mov edx, 5
call fcn.00405b38
ret