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

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 3
add esp, 0xfffff004
push eax
dec eax
jne 0x55460d
mov eax, dword [ebp - 4]
add esp, 0xffffffa8
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x305c], ebx
mov dword [ebp - 0x3058], ebx
mov dword [ebp - 0x3054], ebx
mov dword [ebp - 0x3050], ebx
mov dword [ebp - 0x304c], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 8], ecx
mov byte [ebp - 1], dl
mov ebx, eax
xor eax, eax
push ebp
push 0x554a76
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 9], 0
lea eax, [ebx + 0x14]
call fcn.00405010
xor eax, eax
mov dword [ebp - 0x2c], eax
mov byte [ebp - 0x35], 0
lea eax, [ebp - 0x18]
mov edx, 0x554a94
call fcn.004050a8
lea eax, [ebp - 0x10]
mov edx, dword [0x605028]
mov ecx, dword [0x60a96c]
mov edx, dword [edx + ecx*4]
call fcn.004050a8
push 0
push 0
push 0
push 0
push 0
call fcn.00428fe0
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x554a43
cmp byte [ebp - 1], 0
jne 0x5546e3
push 0
push 0
push 3
push 0
push 0
push 0x1bb
mov eax, dword [ebp - 8]
call fcn.004054e0
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00428fd8
mov dword [ebp - 0x20], eax
jmp 0x554704
push 0
push 0
push 3
push 0
push 0
push 0x50
mov eax, dword [ebp - 8]
call fcn.004054e0
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00428fd8
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x554718
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00428fd0
jmp 0x554a43
cmp byte [ebp - 1], 0
jne 0x554725
mov esi, 0xc00000
jmp 0x55472a
mov esi, 3
push 0
push esi
push 0
push 0
push 0
mov eax, dword [ebp + 0xc]
call fcn.004054e0
push eax
mov eax, dword [ebp - 0x18]
call fcn.004054e0
push eax
mov eax, dword [ebp - 0x20]
push eax
call fcn.00428fb8
mov edi, eax
test edi, edi
jne 0x55476b
mov eax, dword [ebp - 0x20]
push eax
call fcn.00428fd0
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00428fd0
jmp 0x554a43
xor ecx, ecx
mov dl, 1
mov eax, dword [0x41c2b8]
call fcn.00421800
mov esi, eax
mov edx, 0x554aa0
mov eax, esi
call fcn.00421914
mov edx, 0x554af4
mov eax, esi
call fcn.00421914
mov edx, 0x554b20
mov eax, esi
call fcn.00421914
mov edx, 0x554b4c
mov eax, esi
call fcn.00421914
push 0x554b88
push dword [ebp - 8]
push 0x554b98
lea eax, [ebp - 0x304c]
mov edx, 3
call fcn.004053a0
mov edx, dword [ebp - 0x304c]
mov eax, esi
call fcn.00421914
cmp dword [ebp + 8], 0
jne 0x55480c
push 0x554ba4
push dword [ebp - 8]
push 0x554bc0
push 0x554b98
lea eax, [ebp - 0x3050]
mov edx, 4
call fcn.004053a0
mov edx, dword [ebp - 0x3050]
mov eax, esi
call fcn.00421914
jmp 0x554836
push 0x554ba4
push dword [ebp + 8]
push 0x554b98
lea eax, [ebp - 0x3054]
mov edx, 3
call fcn.004053a0
mov edx, dword [ebp - 0x3054]
mov eax, esi
call fcn.00421914
push 0x554bcc
push dword [ebp - 0x10]
push 0x554b98
push 0x554b98
lea eax, [ebp - 0x3058]
mov edx, 4
call fcn.004053a0
mov edx, dword [ebp - 0x3058]
mov eax, esi
call fcn.00421914
push 0x20000000
mov eax, dword [esi + 4]
call fcn.004052e0
push eax
mov eax, dword [esi + 4]
call fcn.004054e0
push eax
push edi
call fcn.00428fb0
mov eax, dword [ebp - 0x14]
call fcn.004052e0
push eax
mov eax, dword [ebp - 0x14]
push eax
push 0
push 0
push edi
call fcn.00428fc8
test eax, eax
je 0x554960
mov dword [ebp - 0x30], 0x2000
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x3045]
push eax
push 0x16
push edi
call fcn.00428fc0
lea eax, [ebp - 0x34]
lea edx, [ebp - 0x3045]
mov ecx, 0x2000
call fcn.00405290
lea edx, [ebp - 0x305c]
mov eax, dword [ebp - 0x34]
call fcn.0040c074
mov edx, dword [ebp - 0x305c]
mov eax, 0x554be4
call fcn.00405624
test eax, eax
je 0x554946
mov byte [ebp - 0x35], 1
jmp 0x554946
cmp dword [ebp - 0x24], 0
je 0x554960
mov eax, dword [ebx + 0x14]
call fcn.004052e0
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
cdq
push edx
push eax
mov eax, dword [ebp - 0x24]
xor edx, edx
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
mov edx, eax
lea eax, [ebx + 0x14]
call fcn.0040566c
lea eax, [ebx + 0x14]
call fcn.00405538
mov edx, dword [ebp - 0x28]
lea edx, [eax + edx]
lea eax, [ebp - 0x1045]
mov ecx, dword [ebp - 0x24]
call fcn.0040310c
lea eax, [ebp - 0x24]
push eax
push 0x1001
lea eax, [ebp - 0x1045]
push eax
push edi
call fcn.00428ff0
test eax, eax
jne 0x5548fa
mov eax, esi
call fcn.004041a4
push edi
call fcn.00428fd0
mov eax, dword [ebp - 0x20]
push eax
call fcn.00428fd0
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00428fd0
cmp byte [ebp - 0x35], 0
je 0x554a3f
mov eax, dword [ebx + 0x14]
call fcn.004052e0
mov esi, eax
lea eax, [ebx + 0x14]
call fcn.00405538
lea eax, [eax + esi - 4]
lea edx, [ebp - 0x44]
mov ecx, 4
call fcn.0040310c
lea eax, [ebx + 0x14]
mov ecx, 0xa
mov edx, 1
call fcn.00405580
mov eax, dword [ebx + 0x14]
call fcn.004052e0
mov edx, eax
sub edx, 7
lea eax, [ebx + 0x14]
mov ecx, 8
call fcn.00405580
xor eax, eax
push ebp
push 0x554a35
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x40]
push eax
push 0
mov eax, dword [ebx + 0x14]
call fcn.004052e0
push eax
lea eax, [ebx + 0x14]
call fcn.00405538
lea ecx, [ebp - 0x3c]
pop edx
call fcn.004d1f68
test al, al
je 0x554a2b
lea eax, [ebx + 0x14]
mov edx, dword [ebp - 0x40]
call fcn.0040566c
mov edx, dword [ebx + 0x14]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x40]
call fcn.0040310c
mov eax, dword [ebp - 0x3c]
call fcn.00402eb4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x554a3f
mov byte [ebp - 9], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x554a7d
lea eax, [ebp - 0x305c]
mov edx, 5
call fcn.00405034
lea eax, [ebp - 0x34]
call fcn.00405010
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.00405034
ret